Message ID | 20190503055316.6441-13-sjitindarsingh@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/ppc: Implement KVM support under TCG | expand |
On Fri, May 03, 2019 at 03:53:15PM +1000, Suraj Jitindar Singh wrote: > Introduce a POWER9 DD2.2 cpu type with pvr 0x004E1202. > > A DD2.2 POWER9 cpu type is needed to enable kvm for pseries tcg guests > since it means they will use the H_ENTER_NESTED hcall to run a guest > rather than trying the generic entry path which will fail. > > Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/ppc/spapr_cpu_core.c | 1 + > target/ppc/cpu-models.c | 2 ++ > target/ppc/cpu-models.h | 1 + > 3 files changed, 4 insertions(+) > > diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c > index 40e7010cf0..98d46c6edb 100644 > --- a/hw/ppc/spapr_cpu_core.c > +++ b/hw/ppc/spapr_cpu_core.c > @@ -399,6 +399,7 @@ static const TypeInfo spapr_cpu_core_type_infos[] = { > DEFINE_SPAPR_CPU_CORE_TYPE("power8nvl_v1.0"), > DEFINE_SPAPR_CPU_CORE_TYPE("power9_v1.0"), > DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.0"), > + DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.2"), > #ifdef CONFIG_KVM > DEFINE_SPAPR_CPU_CORE_TYPE("host"), > #endif > diff --git a/target/ppc/cpu-models.c b/target/ppc/cpu-models.c > index 7c75963e3c..603ae7f5b4 100644 > --- a/target/ppc/cpu-models.c > +++ b/target/ppc/cpu-models.c > @@ -773,6 +773,8 @@ > "POWER9 v1.0") > POWERPC_DEF("power9_v2.0", CPU_POWERPC_POWER9_DD20, POWER9, > "POWER9 v2.0") > + POWERPC_DEF("power9_v2.2", CPU_POWERPC_POWER9_DD22, POWER9, > + "POWER9 v2.2") > #endif /* defined (TARGET_PPC64) */ > > /***************************************************************************/ > diff --git a/target/ppc/cpu-models.h b/target/ppc/cpu-models.h > index efdb2fa53c..820e94b0c8 100644 > --- a/target/ppc/cpu-models.h > +++ b/target/ppc/cpu-models.h > @@ -373,6 +373,7 @@ enum { > CPU_POWERPC_POWER9_BASE = 0x004E0000, > CPU_POWERPC_POWER9_DD1 = 0x004E0100, > CPU_POWERPC_POWER9_DD20 = 0x004E1200, > + CPU_POWERPC_POWER9_DD22 = 0x004E1202, > CPU_POWERPC_970_v22 = 0x00390202, > CPU_POWERPC_970FX_v10 = 0x00391100, > CPU_POWERPC_970FX_v20 = 0x003C0200,
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c index 40e7010cf0..98d46c6edb 100644 --- a/hw/ppc/spapr_cpu_core.c +++ b/hw/ppc/spapr_cpu_core.c @@ -399,6 +399,7 @@ static const TypeInfo spapr_cpu_core_type_infos[] = { DEFINE_SPAPR_CPU_CORE_TYPE("power8nvl_v1.0"), DEFINE_SPAPR_CPU_CORE_TYPE("power9_v1.0"), DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.0"), + DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.2"), #ifdef CONFIG_KVM DEFINE_SPAPR_CPU_CORE_TYPE("host"), #endif diff --git a/target/ppc/cpu-models.c b/target/ppc/cpu-models.c index 7c75963e3c..603ae7f5b4 100644 --- a/target/ppc/cpu-models.c +++ b/target/ppc/cpu-models.c @@ -773,6 +773,8 @@ "POWER9 v1.0") POWERPC_DEF("power9_v2.0", CPU_POWERPC_POWER9_DD20, POWER9, "POWER9 v2.0") + POWERPC_DEF("power9_v2.2", CPU_POWERPC_POWER9_DD22, POWER9, + "POWER9 v2.2") #endif /* defined (TARGET_PPC64) */ /***************************************************************************/ diff --git a/target/ppc/cpu-models.h b/target/ppc/cpu-models.h index efdb2fa53c..820e94b0c8 100644 --- a/target/ppc/cpu-models.h +++ b/target/ppc/cpu-models.h @@ -373,6 +373,7 @@ enum { CPU_POWERPC_POWER9_BASE = 0x004E0000, CPU_POWERPC_POWER9_DD1 = 0x004E0100, CPU_POWERPC_POWER9_DD20 = 0x004E1200, + CPU_POWERPC_POWER9_DD22 = 0x004E1202, CPU_POWERPC_970_v22 = 0x00390202, CPU_POWERPC_970FX_v10 = 0x00391100, CPU_POWERPC_970FX_v20 = 0x003C0200,
Introduce a POWER9 DD2.2 cpu type with pvr 0x004E1202. A DD2.2 POWER9 cpu type is needed to enable kvm for pseries tcg guests since it means they will use the H_ENTER_NESTED hcall to run a guest rather than trying the generic entry path which will fail. Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> --- hw/ppc/spapr_cpu_core.c | 1 + target/ppc/cpu-models.c | 2 ++ target/ppc/cpu-models.h | 1 + 3 files changed, 4 insertions(+)