From: Gleb Natapov <gleb@redhat.com>
To: Arthur Chunqi Li <yzt356@gmail.com>
Cc: kvm <kvm@vger.kernel.org>, Paolo Bonzini <pbonzini@redhat.com>,
Jan Kiszka <jan.kiszka@web.de>
Subject: Re: Corner cases of I/O bitmap
Date: Tue, 3 Sep 2013 14:19:12 +0300 [thread overview]
Message-ID: <20130903111912.GA22899@redhat.com> (raw)
In-Reply-To: <CABpY8M+uniYfbKsiskXmrL+9sAkjhfgtiuyE98RsQifFETLJAw@mail.gmail.com>
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.
next prev parent reply other threads:[~2013-09-03 11:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-12 12:35 Corner cases of I/O bitmap Arthur Chunqi Li
2013-09-03 11:19 ` Gleb Natapov [this message]
2013-09-03 11:45 ` Arthur Chunqi Li
2013-09-03 11:48 ` Gleb Natapov
2013-09-03 11:59 ` Arthur Chunqi Li
2013-09-03 12:03 ` Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130903111912.GA22899@redhat.com \
--to=gleb@redhat.com \
--cc=jan.kiszka@web.de \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=yzt356@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.