All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Richard W.M. Jones" <rjones@redhat.com>
To: Christoffer Dall <christoffer.dall@linaro.org>
Cc: "kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>
Subject: Re: kvm [2087]: load/store instruction decoding not implemented
Date: Tue, 24 Feb 2015 14:25:12 +0000	[thread overview]
Message-ID: <20150224142512.GN11603@redhat.com> (raw)
In-Reply-To: <20150224124710.GB21364@cbox>

On Tue, Feb 24, 2015 at 01:47:10PM +0100, Christoffer Dall wrote:
> On Tue, Feb 24, 2015 at 12:29:25PM +0000, Richard W.M. Jones wrote:
> > I'm not super-familiar with the aarch64 instruction set, but
> > according to qemu the instruction is:
> > 
> > b8004403        str     w3, [x0],#4
> > 
> > (in __copy_to_user).  My interpretation is this is storing the
> > lower 32 bits of x3 into the storage pointed to by x0 (+ 4 bytes?)
> > Is that one of the complicated ones?
> 
> Shouldn't be, I don't think aarch64 does any register write-back here.
> This is an aarch64 userspace process, right?
> 
> You can try adding some more debugging info to the print to get us the
> IPA it is failing on:
> 
> diff --git a/arch/arm/kvm/mmio.c b/arch/arm/kvm/mmio.c
> index 5d3bfc0..e468937 100644
> --- a/arch/arm/kvm/mmio.c
> +++ b/arch/arm/kvm/mmio.c
> @@ -182,7 +182,8 @@ int io_mem_abort(struct kvm_vcpu *vcpu, struct kvm_run *run,
>  		if (ret)
>  			return ret;
>  	} else {
> -		kvm_err("load/store instruction decoding not implemented\n");
> +		kvm_err("load/store instruction decoding not implemented (HSR: 0x%x, IPA: 0x%llx)\n",
> +			kvm_vcpu_get_hsr(vcpu), fault_ipa);
>  		return -ENOSYS;
>  	}

Sorry for the delay - I had to compile and install a new kernel with
your change.

The output is:

kvm [1568]: load/store instruction decoding not implemented (HSR: 0x92000046, IPA: 0x3c000020)

I'm not clear on what the "HSR" and "IPA" are, so I don't know what
other debug information could be valuable here, but the same guest
under gdb:

Program received signal SIGABRT, Aborted.
__copy_to_user () at arch/arm64/lib/copy_to_user.S:43
43	       USER(9f, str	w3, [x0], #4	)
(gdb) info registers 
x0             0xfffffdfffaa20020	-2199113301984
x1             0xfffffe0028343c20	-2198348743648
x2             0xfffffffffffffffc	-4
x3             0xd503201f		3573751839
x4             0xfffffdfffaa20024	-2199113301980
x5             0xffffffffffffffff	-1
x6             0xfffffe0000a1b5b0	-2199012657744
x7             0xfffffe0000a1b598	-2199012657768
x8             0xfffffe0000a1b580	-2199012657792
x9             0xfffffdfee01a4440	-2203853372352
x10            0x101010101010101	72340172838076673
x11            0x6			6
x12            0x0			0
x13            0xffffffffffffffff	-1
x14            0xffff000000000000	-281474976710656
x15            0xffffffffffffffff	-1
x16            0xfffffe000013a5e8	-2199021967896
x17            0x1			1
x18            0x0			0
x19            0x40000000000		4398046511104
x20            0xfffffdfffc000020	-2199090364384
x21            0x140			320
x22            0x0			0
x23            0xfffffe0000dc17d8	-2199008831528
x24            0xfffffe000009c5b0	-2199022615120
x25            0xfffffe0000f65000	-2199007113216
x26            0x0			0
x27            0x0			0
x28            0xfffffe0029110000	-2198334275584
x29            0xfffffe0028343bc0	-2198348743744
x30            0xfffffe00001a6560	-2199021525664
sp             0xfffffe0028343bc0	0xfffffe0028343bc0
pc             0xfffffe00003e306c	0xfffffe00003e306c <__copy_to_user+44>
cpsr           0x600001c5		1610613189
fpsr           0x0			0
fpcr           0x0			0

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top

  parent reply	other threads:[~2015-02-24 14:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-24 11:59 kvm [2087]: load/store instruction decoding not implemented Richard W.M. Jones
2015-02-24 12:15 ` Peter Maydell
2015-02-24 12:29   ` Richard W.M. Jones
2015-02-24 12:47     ` Christoffer Dall
2015-02-24 13:12       ` Marc Zyngier
2015-02-24 13:45         ` Richard W.M. Jones
2015-02-24 14:10           ` Marc Zyngier
2015-02-24 14:36             ` Richard W.M. Jones
2015-02-24 14:42               ` Marc Zyngier
2015-02-24 14:43                 ` Richard W.M. Jones
2015-02-24 15:03                   ` Marc Zyngier
2015-02-24 15:09                 ` Richard W.M. Jones
2015-02-24 15:20                   ` Marc Zyngier
2015-02-24 16:37                   ` Marc Zyngier
2015-02-24 14:25       ` Richard W.M. Jones [this message]
2015-02-24 14:55         ` Christoffer Dall
2015-02-24 15:06           ` Peter Maydell
2015-02-24 15:22           ` Richard W.M. Jones
2015-02-24 12:57     ` Peter Maydell
2015-02-24 12:16 ` Christoffer Dall
2015-02-24 12:27   ` Richard W.M. Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150224142512.GN11603@redhat.com \
    --to=rjones@redhat.com \
    --cc=christoffer.dall@linaro.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.