Message ID | 1457974600-13828-12-git-send-email-clg@fr.ibm.com |
---|---|
State | New |
Headers | show |
On 14.03.2016 17:56, Cédric Le Goater wrote: > From: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > Make sure we give the guest full authorization > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > --- > target-ppc/translate_init.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c > index 68abd847a251..c921d9f53984 100644 > --- a/target-ppc/translate_init.c > +++ b/target-ppc/translate_init.c > @@ -8542,6 +8542,7 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu) > { > CPUPPCState *env = &cpu->env; > ppc_spr_t *lpcr = &env->spr_cb[SPR_LPCR]; > + ppc_spr_t *amor = &env->spr_cb[SPR_AMOR]; > > /* PAPR always has exception vectors in RAM not ROM. To ensure this, > * MSR[IP] should never be set. > @@ -8563,6 +8564,9 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu) > */ > env->spr[SPR_LPCR] = lpcr->default_value; > > + /* Set a full AMOR so guest can use the AMR as it sees fit */ > + env->spr[SPR_AMOR] = amor->default_value = 0xffffffffffffffffull; > + > /* Tell KVM that we're in PAPR mode */ > if (kvm_enabled()) { > kvmppc_set_papr(cpu); > Reviewed-by: Thomas Huth <thuth@redhat.com>
On Mon, Mar 14, 2016 at 05:56:34PM +0100, Cédric Le Goater wrote: > From: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > Make sure we give the guest full authorization > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> I'm guessing this one is a fix that belongs in 2.6, but I'm not entirely certain. > --- > target-ppc/translate_init.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c > index 68abd847a251..c921d9f53984 100644 > --- a/target-ppc/translate_init.c > +++ b/target-ppc/translate_init.c > @@ -8542,6 +8542,7 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu) > { > CPUPPCState *env = &cpu->env; > ppc_spr_t *lpcr = &env->spr_cb[SPR_LPCR]; > + ppc_spr_t *amor = &env->spr_cb[SPR_AMOR]; > > /* PAPR always has exception vectors in RAM not ROM. To ensure this, > * MSR[IP] should never be set. > @@ -8563,6 +8564,9 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu) > */ > env->spr[SPR_LPCR] = lpcr->default_value; > > + /* Set a full AMOR so guest can use the AMR as it sees fit */ > + env->spr[SPR_AMOR] = amor->default_value = 0xffffffffffffffffull; > + > /* Tell KVM that we're in PAPR mode */ > if (kvm_enabled()) { > kvmppc_set_papr(cpu);
On Mon, Mar 14, 2016 at 05:56:34PM +0100, Cédric Le Goater wrote: > From: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > Make sure we give the guest full authorization > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> So my guess is that this is essential for 2.6 if the other patches affecting AMOR/AMR go in, but not otherwise. Is that correct? > --- > target-ppc/translate_init.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c > index 68abd847a251..c921d9f53984 100644 > --- a/target-ppc/translate_init.c > +++ b/target-ppc/translate_init.c > @@ -8542,6 +8542,7 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu) > { > CPUPPCState *env = &cpu->env; > ppc_spr_t *lpcr = &env->spr_cb[SPR_LPCR]; > + ppc_spr_t *amor = &env->spr_cb[SPR_AMOR]; > > /* PAPR always has exception vectors in RAM not ROM. To ensure this, > * MSR[IP] should never be set. > @@ -8563,6 +8564,9 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu) > */ > env->spr[SPR_LPCR] = lpcr->default_value; > > + /* Set a full AMOR so guest can use the AMR as it sees fit */ > + env->spr[SPR_AMOR] = amor->default_value = 0xffffffffffffffffull; > + > /* Tell KVM that we're in PAPR mode */ > if (kvm_enabled()) { > kvmppc_set_papr(cpu);
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index 68abd847a251..c921d9f53984 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -8542,6 +8542,7 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu) { CPUPPCState *env = &cpu->env; ppc_spr_t *lpcr = &env->spr_cb[SPR_LPCR]; + ppc_spr_t *amor = &env->spr_cb[SPR_AMOR]; /* PAPR always has exception vectors in RAM not ROM. To ensure this, * MSR[IP] should never be set. @@ -8563,6 +8564,9 @@ void cpu_ppc_set_papr(PowerPCCPU *cpu) */ env->spr[SPR_LPCR] = lpcr->default_value; + /* Set a full AMOR so guest can use the AMR as it sees fit */ + env->spr[SPR_AMOR] = amor->default_value = 0xffffffffffffffffull; + /* Tell KVM that we're in PAPR mode */ if (kvm_enabled()) { kvmppc_set_papr(cpu);