[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Xen-devel] qemu(-dm): aborting on wrong mmio size?
From: |
Jan Beulich |
Subject: |
Re: [Qemu-devel] [Xen-devel] qemu(-dm): aborting on wrong mmio size? |
Date: |
Tue, 31 Jan 2012 10:36:18 +0000 |
>>> On 31.01.12 at 10:34, Laszlo Ersek <address@hidden> wrote:
> in the qemu-xen-unstable tree
> (git://xenbits.xen.org/qemu-xen-unstable.git), the do_inp() function
> [i386-dm/helper2.c] makes the process exit if the operand size is wrong.
> Blame: 6040eea5 ("More files imported from xen-unstable
> 17192:59b8768d0d0d").
>
> In the qemu tree (git://git.qemu.org/qemu.git), the do_inp() function
> [xen-all.c] does the same (via hw_error() / abort()). Blame: 9ce94e7c
> ("xen: Initialize event channels and io rings").
>
> Is it justified to kill the emulator when this happens (eg. memory
> mapped IO with 64-bit operand)?
Afaict, this is not about MMIO, but PIO.
> What would happen on real hardware? If
> it's "undefined", wouldn't it be "better" (for some definition of
> "better") to return a constant?
The AMD manual specifies that REX.W is ignored; the Intel manual
doesn't mention REX at all here. However, if a decoder incorrectly
decodes the guest instruction, that's a bug there. So imo qemu
validly treats this condition as fatal.
Jan