[<prev] [next>] [day] [month] [year] [list]
Date: Mon, 5 May 2014 18:39:08 -0400
From: Hu Yaohui <loki2441@...il.com>
To: kvm <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Nested EPT page fault
Hi,
I have one question related to nested EPT page fault.
At the very start, L0 hypervisor launches L2 with an empty EPT0->2
table, building the table on-the-fly.
when one L2 physical page is accessed, ept_page_fault(paging_tmpl.h)
will be called to handle this fault in L0. which will first call
ept_walk_addr to get guest ept entry from EPT1->2. If there is no such
entry, a guest page fault will be injected into L1 to handle this
fault.
When the next time, the same L2 physical page is accessed,
ept_page_fault will be triggered again in L0, which will also call
ept_walk_addr and get the previously filled ept entry in EPT1->2, then
try_async_pf will be called to translate the L1 physical page to L0
physical page. At the very last, an entry will be created in the
EPT0->2 to solve the page fault.
Please correct me if I am wrong.
My question is when the EPT0->1 will be accessed during the EPT0->2
entry created, since according to the turtle's paper, both EPT0->1 and
EPT->12 will be accessed to populate an entry in EPT0->2.
Thanks for your time!
Best Wishes,
Yaohui
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists