[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);
> > > }
> > >
> > >
> >
>
>
>