Message ID | 5404CF8B.8030603@linaro.org |
---|---|
State | Not Applicable, archived |
Headers | show |
On Mon, Sep 1, 2014 at 9:56 PM, Julien Grall <julien.grall@linaro.org> wrote: > Hello Tamas > > On 01/09/14 10:21, Tamas K Lengyel wrote: > > The ARM virtualization extension provides 2-stage paging, a similar > mechanisms > > to Intel's EPT, which can be used to trace the memory accesses performed > by > > the guest systems. This series moves the mem_access and mem_event > codebase > > into Xen common, performs some code cleanup and architecture specific > division > > of components, then sets up the necessary infrastructure in the ARM code > > to deliver the event on R/W/X traps. Finally, we turn on the compilation > of > > mem_access and mem_event on ARM and perform the necessary changes to the > > tools side. > > > > This version of the series has been fully tested and is functional on an > > Arndale board. > > domain_get_maximum_gpfn used in common code is defined as -ENOSYS. > > Right, and I don't really understand why the safety check that uses this function never triggers in mem_access with this function just returning -errno. I've sent a patch a month ago on the mailing list about it (see patch > below). > > Ian: Can you reconsider to apply the patch? (I will also reply to the > thread). FYI, > I have a patch to fix xc_dom_gnttab_hvm_seed in libxc. I will try to send > it next week. > > Regards, > > ==================================================================== > > commit 7aa592b7a6f357b0003cd523e446d9d91dc96730 > Author: Julien Grall <julien.grall@linaro.org> > Date: Mon Jun 30 17:21:13 2014 +0100 > > xen/arm: Implement domain_get_maximum_gpfn > > The function domain_get_maximum_gpfn is returning the maximum gpfn ever > mapped in the guest. We can use d->arch.p2m.max_mapped_gfn for this > purpose. > > Signed-off-by: Julien Grall <julien.grall@linaro.org> > > diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c > index 0a243b0..e4a1e5e 100644 > --- a/xen/arch/arm/mm.c > +++ b/xen/arch/arm/mm.c > @@ -954,7 +954,7 @@ int page_is_ram_type(unsigned long mfn, unsigned long > mem_type) > > unsigned long domain_get_maximum_gpfn(struct domain *d) > { > - return -ENOSYS; > + return d->arch.p2m.max_mapped_gfn; > } > > void share_xen_page_with_guest(struct page_info *page, > > > > -- > Julien Grall > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel >
==================================================================== commit 7aa592b7a6f357b0003cd523e446d9d91dc96730 Author: Julien Grall <julien.grall@linaro.org> Date: Mon Jun 30 17:21:13 2014 +0100 xen/arm: Implement domain_get_maximum_gpfn The function domain_get_maximum_gpfn is returning the maximum gpfn ever mapped in the guest. We can use d->arch.p2m.max_mapped_gfn for this purpose. Signed-off-by: Julien Grall <julien.grall@linaro.org> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index 0a243b0..e4a1e5e 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -954,7 +954,7 @@ int page_is_ram_type(unsigned long mfn, unsigned long mem_type) unsigned long domain_get_maximum_gpfn(struct domain *d) { - return -ENOSYS; + return d->arch.p2m.max_mapped_gfn; } void share_xen_page_with_guest(struct page_info *page,