All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junji Zhi <junji.xendev@gmail.com>
To: xen-devel@lists.xen.org
Subject: Writable page tables questions
Date: Sun, 04 Jan 2015 12:17:35 -0500	[thread overview]
Message-ID: <54A975AF.6070709@gmail.com> (raw)

Hi,

I'm Junji, a newbie in Xen and hoping I can contribute to the community 
one day. I have a few questions regarding the writable page tables, 
while reading The Definitive Guide to the Xen Hypervisor by David Chisnall:

1. Writable page tables is one Xen memory assist technique, applied to 
paravirtualized guests ONLY. HVM does not apply. Correct?

2. According to the book, when a guest wants to modify its page table, 
it triggers a trap into the hypervisor and it does a few steps:

(1) it invalidates a PTE that points to the page containing the page 
table. Is my understanding correct?

Q: What does "invalidate" really mean here? Does it mean simply flipping 
a bit in the PTE of the page table, or removing the PTE completely? Does 
it also need to invalidate the TLB entry?

(2) then the control goes back to the guest and it can write/read the 
page table now.

(3) The book's words pasted: "When an address referenced by the newly 
invalidated page directory entry is referenced (read or write), a page 
fault occurs. "

Q: The description of step (3) is confusing. What does it mean by "an 
address referenced by the newly invalidated page directory entry is 
referenced"? Does it mean the case when the guest code is accessing an 
virtual address that needs to search the invalidated page table for 
translation?


Thanks and I really appreciate any comment or responses.
Junji

             reply	other threads:[~2015-01-04 17:17 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-04 17:17 Junji Zhi [this message]
2015-01-05 17:28 ` Writable page tables questions Andrew Cooper
2015-01-06  9:55   ` Ian Campbell
2015-01-08 11:19     ` Tim Deegan
2015-01-08 11:30       ` Ian Campbell

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=54A975AF.6070709@gmail.com \
    --to=junji.xendev@gmail.com \
    --cc=xen-devel@lists.xen.org \
    /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.