On Mon, 6 Jan 2014 16:36:39 +1100 Alexey Kardashevskiy <a...@ozlabs.ru> wrote: > The existing default value (-1) of the AMR register forbids data access > to all 32 classes. Since the guest linux does not change this register, > we end up with the guest hanging right after switching from the real to > protected mode. > > This sets the default AMR value to zero what enables data access for all > classes. > > The only reason for not hitting this bug before is that > kvm_arch_put_registers() did not put any SPR to KVM due to missing > assignment of @one_reg_id in _spr_register() (which is going to be fixed > by a separate patch). > > Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru>
Reviewed-by: Greg Kurz <gk...@linux.vnet.ibm.com> > --- > target-ppc/translate_init.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c > index 93ad762..144de3d 100644 > --- a/target-ppc/translate_init.c > +++ b/target-ppc/translate_init.c > @@ -1064,7 +1064,7 @@ static void gen_spr_amr (CPUPPCState *env) > spr_register_kvm(env, SPR_AMR, "AMR", > SPR_NOACCESS, SPR_NOACCESS, > &spr_read_generic, &spr_write_generic, > - KVM_REG_PPC_AMR, 0xffffffffffffffffULL); > + KVM_REG_PPC_AMR, 0); > spr_register_kvm(env, SPR_UAMOR, "UAMOR", > SPR_NOACCESS, SPR_NOACCESS, > &spr_read_generic, &spr_write_generic, -- Gregory Kurz kurzg...@fr.ibm.com gk...@linux.vnet.ibm.com Software Engineer @ IBM/Meiosys http://www.ibm.com Tel +33 (0)562 165 496 "Anarchy is about taking complete responsibility for yourself." Alan Moore.