Commit a88dced8 authored by Alexey Kardashevskiy's avatar Alexey Kardashevskiy Committed by David Gibson
Browse files

target-ppc: Add PVR for POWER8NVL processor

This adds a new POWER8+NVLink CPU PVR which core is identical to POWER8
but has a different PVR. The only available machine now has PVR
pvr 004c 0100 so this defines "POWER8NVL" alias as v1.0.

The corresponding kernel commit is
https://github.com/torvalds/linux/commit/ddee09c099c3


"powerpc: Add PVR for POWER8NVL processor"

Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent 14646457
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1143,6 +1143,8 @@
                "POWER8E v2.1")
    POWERPC_DEF("POWER8_v2.0",   CPU_POWERPC_POWER8_v20,             POWER8,
                "POWER8 v2.0")
    POWERPC_DEF("POWER8NVL_v1.0",CPU_POWERPC_POWER8NVL_v10,          POWER8,
                "POWER8NVL v1.0")
    POWERPC_DEF("970_v2.2",      CPU_POWERPC_970_v22,                970,
                "PowerPC 970 v2.2")
    POWERPC_DEF("970fx_v1.0",    CPU_POWERPC_970FX_v10,              970,
@@ -1392,6 +1394,7 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
    { "POWER7+", "POWER7+_v2.1" },
    { "POWER8E", "POWER8E_v2.1" },
    { "POWER8", "POWER8_v2.0" },
    { "POWER8NVL", "POWER8NVL_v1.0" },
    { "970", "970_v2.2" },
    { "970fx", "970fx_v3.1" },
    { "970mp", "970mp_v1.1" },
+2 −0
Original line number Diff line number Diff line
@@ -560,6 +560,8 @@ enum {
    CPU_POWERPC_POWER8E_v21        = 0x004B0201,
    CPU_POWERPC_POWER8_BASE        = 0x004D0000,
    CPU_POWERPC_POWER8_v20         = 0x004D0200,
    CPU_POWERPC_POWER8NVL_BASE     = 0x004C0000,
    CPU_POWERPC_POWER8NVL_v10      = 0x004C0100,
    CPU_POWERPC_970_v22            = 0x00390202,
    CPU_POWERPC_970FX_v10          = 0x00391100,
    CPU_POWERPC_970FX_v20          = 0x003C0200,
+3 −0
Original line number Diff line number Diff line
@@ -8256,6 +8256,9 @@ static void init_proc_POWER8(CPUPPCState *env)

static bool ppc_pvr_match_power8(PowerPCCPUClass *pcc, uint32_t pvr)
{
    if ((pvr & CPU_POWERPC_POWER_SERVER_MASK) == CPU_POWERPC_POWER8NVL_BASE) {
        return true;
    }
    if ((pvr & CPU_POWERPC_POWER_SERVER_MASK) == CPU_POWERPC_POWER8E_BASE) {
        return true;
    }