qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]