[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 13:14:39 +0000 |
>>> On 31.01.12 at 12:04, Laszlo Ersek <address@hidden> wrote:
> On 01/31/12 11:36, Jan Beulich wrote:
>>>>> On 31.01.12 at 10:34, Laszlo Ersek<address@hidden> wrote:
>
>>> Is it justified to kill the emulator when this happens (eg. memory
>>> mapped IO with 64-bit operand)?
>
>> 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.
>
> From the Itanium(R) SDM rev 2.3,
>
> 10.7.2.1 I/O Port Addressing Restrictions
>
> For the 64MB physical I/O port block the following operations are
> undefined and may result in unpredictable processor operation;
> references larger than 4-bytes, [...]
>
> It seems that not only a decoding failure can trigger this.
Oh, yes, I forgot that port I/O goes via MMIO on ia64. So yes, for
that case your observation is correct, though killing qemu-dm in
that case still seems to fall well under "undefined behavior". But
improving the situation wouldn't be bad then.
Jan