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.


Reply via email to