[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: |
David Gibson |
Subject: |
Re: [Qemu-devel] [Qemu-ppc] [PATCH] target-ppc: fix sync of SPR_SDR1 with KVM |
Date: |
Fri, 4 Mar 2016 13:39:21 +1100 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Fri, Mar 04, 2016 at 12:45:29AM +0100, Greg Kurz wrote:
> 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... :\
Ok. I've had a closer look and realized that the earlier commit
(fa48b43) was basically a bad idea. I'll shortly post something to
accomplish its aims in a different and better way.
>
> > > > ---
> > > > 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);
> > > > }
> > > >
> > > >
> > >
> >
> >
> >
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature