public inbox for kvmarm@lists.cs.columbia.edu
 help / color / mirror / Atom feed
From: "Richard W.M. Jones" <rjones@redhat.com>
To: Peter Maydell <peter.maydell@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 12:29:25 +0000	[thread overview]
Message-ID: <20150224122925.GL11603@redhat.com> (raw)
In-Reply-To: <CAFEAcA-+xCkUNirq0zqQFotCSAjR25V25SkzPH7ktDOXQuhoFA@mail.gmail.com>

On Tue, Feb 24, 2015 at 09:15:18PM +0900, Peter Maydell wrote:
> On 24 February 2015 at 20:59, Richard W.M. Jones <rjones@redhat.com> wrote:
> >
> > https://bugzilla.redhat.com/show_bug.cgi?id=1194366
> >
> > Has anyone seen this KVM error?  Or have suggestions how to debug it
> > further?
> >
> >   kvm [2028]: load/store instruction decoding not implemented
> 
> This is a fairly common thing to run into and google is bound
> to have references to past discussions. What has happened here
> is that the guest has attempted a "complex" load/store instruction
> to an area of RAM which is not mapped (ie not guest RAM).
> For this class of instructions the hardware doesn't provide
> syndrome information to allow us to figure out the address/size
> etc of the access, so we would have to actually decode the
> offending instruction and emulate it; this emulation isn't
> implemented.
> 
> Complex insns are things like load-multiple (there's a complete
> list in the ARM ARM somewhere). Generally this indicates a guest
> bug because you really shouldn't be accessing devices with
> weird instructions like that (and you shouldn't be accessing
> unmapped memory at all).

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?

> At some point we might actually implement the decoding,
> which will probably just mean your guest crashes inside
> the VM rather than outside it.
> 
> > Qemu prints this before crashing:
> >
> >   error: kvm run failed Function not implemented
> >   (followed by a register dump)
> 
> That's not a QEMU crash, it's QEMU exiting noisily. You can
> use the register dump info in combination with the kernel
> address map to find out exactly what was trying the access
> that failed.
> 
> (Maybe we should add a line to that dump saying "this is not
> a QEMU crash" because it's kinda misleading :-))

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW

  reply	other threads:[~2015-02-24 12:23 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 [this message]
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
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=20150224122925.GL11603@redhat.com \
    --to=rjones@redhat.com \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=peter.maydell@linaro.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox