Mailing List Archive

[PATCH 10/12] arm: stub out PoD
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
xen/arch/arm/dummy.S | 2 --
xen/include/asm-arm/mm.h | 8 ++++++--
xen/include/asm-arm/p2m.h | 11 +++++++----
3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/dummy.S b/xen/arch/arm/dummy.S
index e858613..67edb35 100644
--- a/xen/arch/arm/dummy.S
+++ b/xen/arch/arm/dummy.S
@@ -31,8 +31,6 @@ DUMMY(is_iomem_page);
DUMMY(max_page);
DUMMY(node_online_map);
DUMMY(nr_irqs_gsi);
-DUMMY(p2m_pod_decrease_reservation);
-DUMMY(guest_physmap_mark_populate_on_demand);
DUMMY(page_get_owner_and_reference);
DUMMY(page_is_ram_type);
DUMMY(per_cpu__cpu_core_mask);
diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index f721c54..ebe09cf 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -294,8 +294,12 @@ extern struct domain *dom_xen, *dom_io, *dom_cow;
#define memguard_guard_stack(_p) ((void)0)
#define memguard_guard_range(_p,_l) ((void)0)
#define memguard_unguard_range(_p,_l) ((void)0)
-int guest_physmap_mark_populate_on_demand(struct domain *d, unsigned long gfn,
- unsigned int order);
+/*
+ * int guest_physmap_mark_populate_on_demand(struct domain *d,
+ * unsigned long gfn,
+ * unsigned int order)
+ */
+#define guest_physmap_mark_populate_on_demand(d, gfn, order) -ENOSYS /* No PoD on ARM */

extern void put_page_type(struct page_info *page);
static inline void put_page_and_type(struct page_info *page)
diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
index aec52f7..723518d 100644
--- a/xen/include/asm-arm/p2m.h
+++ b/xen/include/asm-arm/p2m.h
@@ -48,10 +48,13 @@ unsigned long gmfn_to_mfn(struct domain *d, unsigned long gpfn);

/* Call when decreasing memory reservation to handle PoD entries properly.
* Will return '1' if all entries were handled and nothing more need be done.*/
-int
-p2m_pod_decrease_reservation(struct domain *d,
- xen_pfn_t gpfn,
- unsigned int order);
+ /* No PoD on ARM yet */
+/* int
+ * p2m_pod_decrease_reservation(struct domain *d,
+ * xen_pfn_t gpfn,
+ * unsigned int order);
+ */
+#define p2m_pod_decrease_reservation(d, gpfn, order) -ENOSYS

/* Compatibility function exporting the old untyped interface */
static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
--
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [PATCH 10/12] arm: stub out PoD [ In reply to ]
Could we have a proper stub function or a static inline rather than an
#define?


On Fri, 20 Jan 2012, Ian Campbell wrote:
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> ---
> xen/arch/arm/dummy.S | 2 --
> xen/include/asm-arm/mm.h | 8 ++++++--
> xen/include/asm-arm/p2m.h | 11 +++++++----
> 3 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/xen/arch/arm/dummy.S b/xen/arch/arm/dummy.S
> index e858613..67edb35 100644
> --- a/xen/arch/arm/dummy.S
> +++ b/xen/arch/arm/dummy.S
> @@ -31,8 +31,6 @@ DUMMY(is_iomem_page);
> DUMMY(max_page);
> DUMMY(node_online_map);
> DUMMY(nr_irqs_gsi);
> -DUMMY(p2m_pod_decrease_reservation);
> -DUMMY(guest_physmap_mark_populate_on_demand);
> DUMMY(page_get_owner_and_reference);
> DUMMY(page_is_ram_type);
> DUMMY(per_cpu__cpu_core_mask);
> diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
> index f721c54..ebe09cf 100644
> --- a/xen/include/asm-arm/mm.h
> +++ b/xen/include/asm-arm/mm.h
> @@ -294,8 +294,12 @@ extern struct domain *dom_xen, *dom_io, *dom_cow;
> #define memguard_guard_stack(_p) ((void)0)
> #define memguard_guard_range(_p,_l) ((void)0)
> #define memguard_unguard_range(_p,_l) ((void)0)
> -int guest_physmap_mark_populate_on_demand(struct domain *d, unsigned long gfn,
> - unsigned int order);
> +/*
> + * int guest_physmap_mark_populate_on_demand(struct domain *d,
> + * unsigned long gfn,
> + * unsigned int order)
> + */
> +#define guest_physmap_mark_populate_on_demand(d, gfn, order) -ENOSYS /* No PoD on ARM */
>
> extern void put_page_type(struct page_info *page);
> static inline void put_page_and_type(struct page_info *page)
> diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
> index aec52f7..723518d 100644
> --- a/xen/include/asm-arm/p2m.h
> +++ b/xen/include/asm-arm/p2m.h
> @@ -48,10 +48,13 @@ unsigned long gmfn_to_mfn(struct domain *d, unsigned long gpfn);
>
> /* Call when decreasing memory reservation to handle PoD entries properly.
> * Will return '1' if all entries were handled and nothing more need be done.*/
> -int
> -p2m_pod_decrease_reservation(struct domain *d,
> - xen_pfn_t gpfn,
> - unsigned int order);
> + /* No PoD on ARM yet */
> +/* int
> + * p2m_pod_decrease_reservation(struct domain *d,
> + * xen_pfn_t gpfn,
> + * unsigned int order);
> + */
> +#define p2m_pod_decrease_reservation(d, gpfn, order) -ENOSYS
>
> /* Compatibility function exporting the old untyped interface */
> static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
> --
> 1.7.2.5
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [PATCH 10/12] arm: stub out PoD [ In reply to ]
On Fri, 2012-01-20 at 12:20 +0000, Stefano Stabellini wrote:
> Could we have a proper stub function or a static inline rather than an
> #define?

I tried that, it would require pulling in more headers etc. This is
really just a stop gap until we implement enough p2m to support pod
properly. I left the real prototypes in the comment for reference.

Ian.


>
>
> On Fri, 20 Jan 2012, Ian Campbell wrote:
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> > ---
> > xen/arch/arm/dummy.S | 2 --
> > xen/include/asm-arm/mm.h | 8 ++++++--
> > xen/include/asm-arm/p2m.h | 11 +++++++----
> > 3 files changed, 13 insertions(+), 8 deletions(-)
> >
> > diff --git a/xen/arch/arm/dummy.S b/xen/arch/arm/dummy.S
> > index e858613..67edb35 100644
> > --- a/xen/arch/arm/dummy.S
> > +++ b/xen/arch/arm/dummy.S
> > @@ -31,8 +31,6 @@ DUMMY(is_iomem_page);
> > DUMMY(max_page);
> > DUMMY(node_online_map);
> > DUMMY(nr_irqs_gsi);
> > -DUMMY(p2m_pod_decrease_reservation);
> > -DUMMY(guest_physmap_mark_populate_on_demand);
> > DUMMY(page_get_owner_and_reference);
> > DUMMY(page_is_ram_type);
> > DUMMY(per_cpu__cpu_core_mask);
> > diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
> > index f721c54..ebe09cf 100644
> > --- a/xen/include/asm-arm/mm.h
> > +++ b/xen/include/asm-arm/mm.h
> > @@ -294,8 +294,12 @@ extern struct domain *dom_xen, *dom_io, *dom_cow;
> > #define memguard_guard_stack(_p) ((void)0)
> > #define memguard_guard_range(_p,_l) ((void)0)
> > #define memguard_unguard_range(_p,_l) ((void)0)
> > -int guest_physmap_mark_populate_on_demand(struct domain *d, unsigned long gfn,
> > - unsigned int order);
> > +/*
> > + * int guest_physmap_mark_populate_on_demand(struct domain *d,
> > + * unsigned long gfn,
> > + * unsigned int order)
> > + */
> > +#define guest_physmap_mark_populate_on_demand(d, gfn, order) -ENOSYS /* No PoD on ARM */
> >
> > extern void put_page_type(struct page_info *page);
> > static inline void put_page_and_type(struct page_info *page)
> > diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
> > index aec52f7..723518d 100644
> > --- a/xen/include/asm-arm/p2m.h
> > +++ b/xen/include/asm-arm/p2m.h
> > @@ -48,10 +48,13 @@ unsigned long gmfn_to_mfn(struct domain *d, unsigned long gpfn);
> >
> > /* Call when decreasing memory reservation to handle PoD entries properly.
> > * Will return '1' if all entries were handled and nothing more need be done.*/
> > -int
> > -p2m_pod_decrease_reservation(struct domain *d,
> > - xen_pfn_t gpfn,
> > - unsigned int order);
> > + /* No PoD on ARM yet */
> > +/* int
> > + * p2m_pod_decrease_reservation(struct domain *d,
> > + * xen_pfn_t gpfn,
> > + * unsigned int order);
> > + */
> > +#define p2m_pod_decrease_reservation(d, gpfn, order) -ENOSYS
> >
> > /* Compatibility function exporting the old untyped interface */
> > static inline unsigned long get_gfn_untyped(struct domain *d, unsigned long gpfn)
> > --
> > 1.7.2.5
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xensource.com
> > http://lists.xensource.com/xen-devel
> >



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [PATCH 10/12] arm: stub out PoD [ In reply to ]
At 12:29 +0000 on 20 Jan (1327062595), Ian Campbell wrote:
> On Fri, 2012-01-20 at 12:20 +0000, Stefano Stabellini wrote:
> > Could we have a proper stub function or a static inline rather than an
> > #define?
>
> I tried that, it would require pulling in more headers etc. This is
> really just a stop gap until we implement enough p2m to support pod
> properly. I left the real prototypes in the comment for reference.

We could just as easily have

static inline int
guest_physmap_mark_populate_on_demand(struct domain *d, unsigned long gfn,
unsigned int order)
{
return -ENOSYS;
}

&c, for no extra effort (and for the same effect). A matter of style is
all.

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: [PATCH 10/12] arm: stub out PoD [ In reply to ]
On Fri, 2012-01-20 at 12:35 +0000, Tim Deegan wrote:
> At 12:29 +0000 on 20 Jan (1327062595), Ian Campbell wrote:
> > On Fri, 2012-01-20 at 12:20 +0000, Stefano Stabellini wrote:
> > > Could we have a proper stub function or a static inline rather than an
> > > #define?
> >
> > I tried that, it would require pulling in more headers etc. This is
> > really just a stop gap until we implement enough p2m to support pod
> > properly. I left the real prototypes in the comment for reference.
>
> We could just as easily have
>
> static inline int
> guest_physmap_mark_populate_on_demand(struct domain *d, unsigned long gfn,
> unsigned int order)
> {
> return -ENOSYS;
> }
>
> &c, for no extra effort (and for the same effect). A matter of style is
> all.

That is exactly what required pulling in more headers.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel