On Mon, Aug 12, 2013 at 08:35:57PM +0800, Arthur Chunqi Li wrote:
> Hi Gleb and Paolo,
> There are some corner cases when testing I/O bitmaps, and I don't know
> the exact action of HW.
>
A little bit late but...
> 1. If we set bit of 0x4000 in bitmap and call inl(0x3FFFF) or
> inl(0x4000) in guest, what will get of exit information?
>
Spec says;
execution of an I/O instruction causes a VM exit if any bit in the I/O
bitmaps corresponding to a port it accesses is 1. Note "any" here. The
exit will have address that instruction used, otherwise how can we be
able to emulate it properly.
> 2. What will we get when calling inl(0xFFFF) in guest with/without
> “unconditional I/O exiting” VM-execution control and “use I/O bitmaps”
> VM-execution control?
In other words are you asking what happens if you do inl(0xFFFF) on real
HW?
"The result of an attempt to address beyond the I/O address space limit of
FFFFH is implementation-specific"
>
> I test the two cases in nested env. For the first one, I got normal
> exit if any of the port accessed is masked in bitmap. For the second,
> it will acts the same as other ports. And the SDM says "If an I/O
> operation “wraps around” the 16-bit I/O-port space (accesses ports
> FFFFH and 0000H), the I/O instruction causes a VM exit." I cannot find
> the exact reaction of this case.
What do you mean by "exact reaction"?
>
> Do you have any ideas about these?
>
> Arthur
>
> --
> Arthur Chunqi Li
> Department of Computer Science
> School of EECS
> Peking University
> Beijing, China
--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html