On 11/21/2014 01:23 PM, Jan Beulich wrote:
On 14.11.14 at 10:37, <"jgr...@suse.com".non-mime.internet> wrote:
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -224,7 +224,12 @@ struct arch_shared_info {
/* Frame containing list of mfns containing list of mfns containing p2m.
*/
xen_pfn_t pfn_to_mfn_frame_list_list;
unsigned long nmi_reason;
- uint64_t pad[32];
+ /*
+ * Following two fields are valid if pfn_to_mfn_frame_list_list contains
+ * ~0UL.
+ */
+ unsigned long p2m_vaddr; /* virtual address of the p2m list */
+ unsigned long p2m_as_root; /* mfn of the top level page table */
xen_pfn_t please. And what does the "as" in the name stand for?
"as" is address space. I can rename it to e.g. "p2m_pgd_mfn".
It's also kind of unclear in the description what "the page table root"
is, as I don't think there are many OSes which use just a single set
of page tables (i.e. just a single address space). Not having followed
the discussion closely - what is this needed for anyway?
It's a replacement of the pfn_to_mfn_frame_list_list using the same
page table as the kernel for accessing the p2m list. We need the root
of the page table and the virtual address of the p2m list.
--- a/xen/include/public/features.h
+++ b/xen/include/public/features.h
@@ -99,6 +99,9 @@
#define XENFEAT_grant_map_identity 12
*/
+/* x86: guest may specify virtual address of p2m list */
+#define XENFEAT_virtual_p2m 13
The name to me suggests something that's not real. Perhaps better
XENFEAT_virtually_mapped_p2m or XENFEAT_p2m_va{,ddr}?
Yeah, that's better. I'll use XENFEAT_p2m_vaddr.
Juergen
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel