[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 1/6] target-ppc: Introduce Power9 family
From: |
Nikunj A Dadhania |
Subject: |
Re: [Qemu-devel] [RFC 1/6] target-ppc: Introduce Power9 family |
Date: |
Mon, 18 Jul 2016 10:43:15 +0530 |
User-agent: |
Notmuch/0.21 (https://notmuchmail.org) Emacs/25.0.94.1 (x86_64-redhat-linux-gnu) |
David Gibson <address@hidden> writes:
> [ Unknown signature status ]
> On Tue, Jul 12, 2016 at 11:33:17PM +0530, Nikunj A Dadhania wrote:
>> From: "Aneesh Kumar K.V" <address@hidden>
>>
>> Signed-off-by: Aneesh Kumar K.V <address@hidden>
>> [ rebased and added POWER9 alias ]
>> Signed-off-by: Nikunj A Dadhania <address@hidden>
>> ---
>> target-ppc/cpu-models.c | 5 +++
>> target-ppc/cpu-models.h | 2 ++
>> target-ppc/cpu-qom.h | 7 ++++
>> target-ppc/mmu_helper.c | 3 +-
>> target-ppc/translate_init.c | 85
>> ++++++++++++++++++++++++++++++++++++++++++++-
>> 5 files changed, 100 insertions(+), 2 deletions(-)
>>
>> diff --git a/target-ppc/cpu-models.c b/target-ppc/cpu-models.c
>> index 5209e63..901cf40 100644
>> --- a/target-ppc/cpu-models.c
>> +++ b/target-ppc/cpu-models.c
>> @@ -1147,6 +1147,10 @@
>> "POWER8NVL v1.0")
>> POWERPC_DEF("970_v2.2", CPU_POWERPC_970_v22, 970,
>> "PowerPC 970 v2.2")
>> +
>> + POWERPC_DEF("POWER9_v1.0", CPU_POWERPC_POWER9_BASE, POWER9,
>> + "POWER9 v1.0")
>> +
>> POWERPC_DEF("970fx_v1.0", CPU_POWERPC_970FX_v10, 970,
>> "PowerPC 970FX v1.0 (G5)")
>> POWERPC_DEF("970fx_v2.0", CPU_POWERPC_970FX_v20, 970,
>> @@ -1395,6 +1399,7 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
>> { "POWER8E", "POWER8E_v2.1" },
>> { "POWER8", "POWER8_v2.0" },
>> { "POWER8NVL", "POWER8NVL_v1.0" },
>> + { "POWER9", "POWER9_v1.0" },
>> { "970", "970_v2.2" },
>> { "970fx", "970fx_v3.1" },
>> { "970mp", "970mp_v1.1" },
>> diff --git a/target-ppc/cpu-models.h b/target-ppc/cpu-models.h
>> index f21a44c..beeaaba 100644
>> --- a/target-ppc/cpu-models.h
>> +++ b/target-ppc/cpu-models.h
>> @@ -562,6 +562,8 @@ enum {
>> CPU_POWERPC_POWER8_v20 = 0x004D0200,
>> CPU_POWERPC_POWER8NVL_BASE = 0x004C0000,
>> CPU_POWERPC_POWER8NVL_v10 = 0x004C0100,
>> + CPU_POWERPC_POWER9_BASE = 0x004E0000,
>> + CPU_POWERPC_POWER9_MAM = 0x004E0100,
>> CPU_POWERPC_970_v22 = 0x00390202,
>> CPU_POWERPC_970FX_v10 = 0x00391100,
>> CPU_POWERPC_970FX_v20 = 0x003C0200,
>> diff --git a/target-ppc/cpu-qom.h b/target-ppc/cpu-qom.h
>> index 2864105..df2fb65 100644
>> --- a/target-ppc/cpu-qom.h
>> +++ b/target-ppc/cpu-qom.h
>> @@ -86,6 +86,13 @@ enum powerpc_mmu_t {
>> POWERPC_MMU_2_07 = POWERPC_MMU_64 | POWERPC_MMU_1TSEG
>> | POWERPC_MMU_64K
>> | POWERPC_MMU_AMR | 0x00000004,
>> + /* for now , We can add radix later if needed */
>
> I'm guessing this means you're only thinking about the guest-side
> presentation of the P9 MMU at this point? IIUC the host side
> presentation is so different that sharing any constants with pre-P9
> MMUs probably doesn't make sense.
>
> I'm not immediately sure how we should make this distinction in the
> target-ppc code, since these values are supposed to belong to the CPU
> regardless of operating mode.
Currently, this is just a place holder patch. Not close to committing
yet. For me to add the new instruction needed these family defines.
Regards,
Nikunj