|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] qemu(-dm): aborting on wrong mmio size?
>>> On 31.01.12 at 10:34, Laszlo Ersek <lersek@xxxxxxxxxx> 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
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |