Commit d6f1445f authored by Thomas Huth's avatar Thomas Huth Committed by David Gibson
Browse files

ppc: Define the PSPB register on POWER8



POWER8 / PowerISA 2.07 has a new special purpose register called PSPB
("Problem State Priority Boost Register"). The contents of this register
are currently lost during migration. To be able to migrate this register,
too, we've got to define this SPR along with the other SPRs of POWER8.

Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent a6cdb77f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1380,6 +1380,7 @@ static inline int cpu_mmu_index (CPUPPCState *env, bool ifetch)
#define SPR_UAMOR             (0x09D)
#define SPR_MPC_ICTRL         (0x09E)
#define SPR_MPC_BAR           (0x09F)
#define SPR_PSPB              (0x09F)
#define SPR_VRSAVE            (0x100)
#define SPR_USPRG0            (0x100)
#define SPR_USPRG1            (0x101)
+9 −0
Original line number Diff line number Diff line
@@ -7842,6 +7842,14 @@ static void gen_spr_power8_fscr(CPUPPCState *env)
                     KVM_REG_PPC_FSCR, initval);
}

static void gen_spr_power8_pspb(CPUPPCState *env)
{
    spr_register_kvm(env, SPR_PSPB, "PSPB",
                     SPR_NOACCESS, SPR_NOACCESS,
                     &spr_read_generic, &spr_write_generic32,
                     KVM_REG_PPC_PSPB, 0);
}

static void init_proc_book3s_64(CPUPPCState *env, int version)
{
    gen_spr_ne_601(env);
@@ -7892,6 +7900,7 @@ static void init_proc_book3s_64(CPUPPCState *env, int version)
        gen_spr_power8_pmu_sup(env);
        gen_spr_power8_pmu_user(env);
        gen_spr_power8_tm(env);
        gen_spr_power8_pspb(env);
        gen_spr_vtb(env);
    }
    if (version < BOOK3S_CPU_POWER8) {