[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 07/12] xen: allow tmem to be disabled on platforms which do not support it (ARM)
Why do we need this? I though that tmem compiled OK on ARM. Also I don't think there is any architectural limitation that would prevent tmem from working on ARM, right? If the goal is to remove DUMMY(donate_page) maybe it is better to introduce a stub function instead? On Fri, 20 Jan 2012, Ian Campbell wrote: > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > --- > xen/Rules.mk | 1 + > xen/arch/arm/dummy.S | 1 - > xen/arch/ia64/Rules.mk | 1 + > xen/arch/x86/Rules.mk | 1 + > xen/common/Makefile | 4 ++-- > xen/common/page_alloc.c | 1 + > xen/include/xen/tmem.h | 9 +++++++++ > xen/include/xen/tmem_xen.h | 5 +++++ > 8 files changed, 20 insertions(+), 3 deletions(-) > > diff --git a/xen/Rules.mk b/xen/Rules.mk > index b7b54f6..e25e8d4 100644 > --- a/xen/Rules.mk > +++ b/xen/Rules.mk > @@ -51,6 +51,7 @@ CFLAGS-$(perfc) += -DPERF_COUNTERS > CFLAGS-$(perfc_arrays) += -DPERF_ARRAYS > CFLAGS-$(lock_profile) += -DLOCK_PROFILE > CFLAGS-$(HAS_ACPI) += -DHAS_ACPI > +CFLAGS-$(HAS_TMEM) += -DHAS_TMEM > CFLAGS-$(frame_pointer) += -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER > > ifneq ($(max_phys_cpus),) > diff --git a/xen/arch/arm/dummy.S b/xen/arch/arm/dummy.S > index 3bf5226..da0b906 100644 > --- a/xen/arch/arm/dummy.S > +++ b/xen/arch/arm/dummy.S > @@ -20,7 +20,6 @@ DUMMY(domain_get_maximum_gpfn); > DUMMY(domain_relinquish_resources); > DUMMY(domain_set_time_offset); > DUMMY(dom_cow); > -DUMMY(donate_page); > DUMMY(flush_tlb_mask); > DUMMY(free_vcpu_guest_context); > DUMMY(get_page); > diff --git a/xen/arch/ia64/Rules.mk b/xen/arch/ia64/Rules.mk > index 054b4de..6c8cf69 100644 > --- a/xen/arch/ia64/Rules.mk > +++ b/xen/arch/ia64/Rules.mk > @@ -9,6 +9,7 @@ HAS_PCI := y > HAS_PASSTHROUGH := y > HAS_NS16550 := y > HAS_KEXEC := y > +HAS_TMEM := y > xenoprof := y > no_warns ?= n > vti_debug ?= n > diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk > index 1e48877..8802a69 100644 > --- a/xen/arch/x86/Rules.mk > +++ b/xen/arch/x86/Rules.mk > @@ -8,6 +8,7 @@ HAS_PCI := y > HAS_PASSTHROUGH := y > HAS_NS16550 := y > HAS_KEXEC := y > +HAS_TMEM := y > xenoprof := y > > # > diff --git a/xen/common/Makefile b/xen/common/Makefile > index 9249845..68a2df1 100644 > --- a/xen/common/Makefile > +++ b/xen/common/Makefile > @@ -38,8 +38,8 @@ obj-y += vsprintf.o > obj-y += wait.o > obj-y += xmalloc_tlsf.o > obj-y += rcupdate.o > -obj-y += tmem.o > -obj-y += tmem_xen.o > +obj-$(HAS_TMEM) += tmem.o > +obj-$(HAS_TMEM) += tmem_xen.o > obj-y += radix-tree.o > obj-y += rbtree.o > obj-y += lzo.o > diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c > index 249bb35..3aac830 100644 > --- a/xen/common/page_alloc.c > +++ b/xen/common/page_alloc.c > @@ -35,6 +35,7 @@ > #include <xen/perfc.h> > #include <xen/numa.h> > #include <xen/nodemask.h> > +#include <xen/errno.h> > #include <xen/tmem.h> > #include <xen/tmem_xen.h> > #include <public/sysctl.h> > diff --git a/xen/include/xen/tmem.h b/xen/include/xen/tmem.h > index 5dbf9d5..2ebffb4 100644 > --- a/xen/include/xen/tmem.h > +++ b/xen/include/xen/tmem.h > @@ -9,8 +9,17 @@ > #ifndef __XEN_TMEM_H__ > #define __XEN_TMEM_H__ > > +#ifdef HAS_TMEM > extern void tmem_destroy(void *); > extern void *tmem_relinquish_pages(unsigned int, unsigned int); > extern unsigned long tmem_freeable_pages(void); > +#else > +static inline void tmem_destroy(void *v) {} > +static inline void *tmem_relinquish_pages(unsigned int order, unsigned int > flags) > +{ > + return NULL; > +} > +static inline unsigned long tmem_freeable_pages(void) { return 0; } > +#endif > > #endif /* __XEN_TMEM_H__ */ > diff --git a/xen/include/xen/tmem_xen.h b/xen/include/xen/tmem_xen.h > index fdbeed1..a6c0672 100644 > --- a/xen/include/xen/tmem_xen.h > +++ b/xen/include/xen/tmem_xen.h > @@ -9,6 +9,7 @@ > #ifndef __XEN_TMEM_XEN_H__ > #define __XEN_TMEM_XEN_H__ > > +#ifdef HAS_TMEM > #include <xen/config.h> > #include <xen/mm.h> /* heap alloc/free */ > #include <xen/pfn.h> > @@ -559,4 +560,8 @@ extern int tmh_copy_tze_to_client(tmem_cli_mfn_t cmfn, > void *tmem_va, pagesize_t > #define RESET_CYC_COUNTER(x) do { } while (0) > #endif > > +#else /* HAS_TMEM */ > +#define opt_tmem 0 > +#endif > + > #endif /* __XEN_TMEM_XEN_H__ */ > -- > 1.7.2.5 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |