qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Qemu-ppc] [PATCH] target-ppc: fix sync of SPR_SDR1 wit


From: Greg Kurz
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH] target-ppc: fix sync of SPR_SDR1 with KVM
Date: Fri, 4 Mar 2016 00:45:29 +0100

On Thu, 3 Mar 2016 15:35:07 +1100
David Gibson <address@hidden> wrote:

> On Wed, Mar 02, 2016 at 11:06:19AM +1100, David Gibson wrote:
> > On Tue, Mar 01, 2016 at 07:03:10PM +0100, Greg Kurz wrote:  
> > > The gdbstub can't access guest memory with current master. This is what 
> > > you
> > > get in gdb:
> > > 
> > > 0x00000000100009b8 in main (argc=<error reading variable: Cannot access 
> > > memory
> > > at address 0x3fffce4d3620>, argv=<error reading variable: Cannot access 
> > > memory
> > > at address 0x3fffce4d3628>) at fp.c:11
> > > 
> > > Bisect leads to the following commit:
> > > 
> > > commit fa48b4328c39b2532e47efcfcba6d4031512f514
> > > Author: David Gibson <address@hidden>
> > > Date:   Tue Feb 9 09:30:21 2016 +1000
> > > 
> > >     target-ppc: Remove hack for ppc_hash64_load_hpte*() with HV KVM
> > > 
> > > Looking at the env->external_htab users, I've spotted a behaviour change 
> > > in
> > > kvm_arch_get_registers(), which now always calls ppc_store_sdr1().
> > > 
> > > Checking kvmppc_kern_htab, like it is done in the MMU helpers, fixes the
> > > issue.
> > > 
> > > Signed-off-by: Greg Kurz <address@hidden>  
> > 
> > Mea culpa.  Good catch, applied to ppc-for-2.6, thanks.  
> 
> Ah.. wait.. this patch breaks compile for the ppc32 target.  Can you
> fix this please.
> 

Oops... I'm on vacation this week. Not sure I can find time before next 
monday... :\

> > > ---
> > >  target-ppc/kvm.c |    2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
> > > index d67c169ba324..dbc37f25af2b 100644
> > > --- a/target-ppc/kvm.c
> > > +++ b/target-ppc/kvm.c
> > > @@ -1190,7 +1190,7 @@ int kvm_arch_get_registers(CPUState *cs)
> > >              return ret;
> > >          }
> > >  
> > > -        if (!env->external_htab) {
> > > +        if (!kvmppc_kern_htab && !env->external_htab) {
> > >              ppc_store_sdr1(env, sregs.u.s.sdr1);
> > >          }
> > >  
> > >   
> >   
> 
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]