All of lore.kernel.org
 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 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.