From: "Jan Beulich" <jbeulich@novell.com>
To: xen-devel@lists.xensource.com
Subject: string mmio/pio across page boundaries
Date: Thu, 23 Nov 2006 11:22:13 +0100 [thread overview]
Message-ID: <45658465.76E4.0078.0@novell.com> (raw)
When preparing arguments for send_mmio_req() or send_pio_req() in hvm
where a single iteration crosses a page boundary, the value to be written
is copied from guest memory, but I can't see where the value read is copied
to guest memory. Is this case simply missing?
Also, a long while back the logic to calculate when wrapping occurs was
changed with two subsequent patches. As I'm looking at the code now it
seems like
- only the first patch got applied to handle_mmio() (i.e., the logic is still
broken
- neither patch got applied to {svm,vmx}_io_instruction().
Further, there is a comment in handle_mmio() now saying "We need to
make sure we advance to the point where the next request will be on a
different page. If we're going down, that means advancing until one
byte before the start of the page, hence +1." This wasn't applied
similarly to {svm,vmx}_io_instruction(). And the actual code seems
wrong: If e.g. addr is on a page boundary, count will become zero. I
would think that the +1 must be outside of the division.
Was this intentional in some way? Otherwise, I'll prepare a patch to
address all of these.
Thanks, Jan
next reply other threads:[~2006-11-23 10:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-23 10:22 Jan Beulich [this message]
2006-11-23 10:28 ` string mmio/pio across page boundaries Jan Beulich
-- strict thread matches above, loose matches on Subject: below --
2006-11-23 11:36 Li, Xin B
2006-11-23 12:19 ` Jan Beulich
2006-11-23 11:49 Li, Xin B
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=45658465.76E4.0078.0@novell.com \
--to=jbeulich@novell.com \
--cc=xen-devel@lists.xensource.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.