[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 05/11] x86/altp2m: basic data structures and support routines.
At 13:59 -0700 on 25 Mar (1427291983), Ed White wrote: > >>> diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c > >>> index abf3d7a..8fe0650 100644 > >>> --- a/xen/arch/x86/mm/hap/hap.c > >>> +++ b/xen/arch/x86/mm/hap/hap.c > >>> @@ -439,7 +439,7 @@ void hap_domain_init(struct domain *d) > >>> int hap_enable(struct domain *d, u32 mode) > >>> { > >>> unsigned int old_pages; > >>> - uint8_t i; > >>> + uint16_t i; > >>> int rv = 0; > >>> > >>> domain_pause(d); > >>> @@ -485,6 +485,23 @@ int hap_enable(struct domain *d, u32 mode) > >>> goto out; > >>> } > >>> > >>> + /* Init alternate p2m data */ > >>> + if ( (d->arch.altp2m_eptp = alloc_xenheap_page()) == NULL ) > >> > >> This memory should be allocated from some domain-accounted pool, > >> probably the paging pool (d->->arch.paging.alloc_page()). You can use > >> map_domain_page_global() to get a safe pointer to anchor in > >> d->arch.altp2m_eptp for hardware. > > I tried this but could not get it to work due to panics in Xen. > Looking at the current VMX code, all the existing structures > shared with hardware (VMCS, exception bitmap, etc.) are allocated > using alloc_xenheap_page(), which is what induced me to write the > code this way. This page is a per-domain page of pointers, right, and not the actual top-level page of an alt-EPT table? In that case, alloc_xenheap_page() should be OK. Cheers, Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |