xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: xen-devel@lists.xensource.com
Cc: Ian Campbell <ian.campbell@citrix.com>
Subject: [PATCH 07/12] xen: allow tmem to be disabled on platforms which do not support it (ARM)
Date: Fri, 20 Jan 2012 12:06:33 +0000	[thread overview]
Message-ID: <1327061198-29854-7-git-send-email-ian.campbell@citrix.com> (raw)
In-Reply-To: <1327061025.30054.21.camel@zakaz.uk.xensource.com>

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 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

  parent reply	other threads:[~2012-01-20 12:06 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-20 12:03 [PATCH 00/12] ARM: Slim down dummy.S Ian Campbell
2012-01-20 12:06 ` [PATCH 01/12] arm: add a missing local-vars comment Ian Campbell
2012-01-20 12:06 ` [PATCH 02/12] arm: define some more cp15 registers Ian Campbell
2012-01-20 12:06 ` [PATCH 03/12] arm: align some register bit definitions Ian Campbell
2012-01-20 12:06 ` [PATCH 04/12] arm: remove some unnecessary symbols from dummy.S Ian Campbell
2012-01-20 12:06 ` [PATCH 05/12] arm: Add stub functions instead of using DUMMY Ian Campbell
2012-01-20 12:06 ` [PATCH 06/12] PM: only include XEN_SYSCTL_{get_pmstat, pm_op} if HAVE_ACPI Ian Campbell
2012-01-20 12:06 ` Ian Campbell [this message]
2012-01-20 12:19   ` [PATCH 07/12] xen: allow tmem to be disabled on platforms which do not support it (ARM) Stefano Stabellini
2012-01-20 12:25     ` Tim Deegan
2012-01-20 12:34       ` Jan Beulich
2012-01-20 22:24         ` Dan M @ Oracle
2012-01-20 12:28     ` Ian Campbell
2012-01-20 12:36       ` Jan Beulich
2012-01-20 12:39         ` Ian Campbell
2012-01-20 12:51           ` Jan Beulich
2012-01-20 12:06 ` [PATCH 08/12] arm: Implement arch_get_xen_caps Ian Campbell
2012-01-20 12:06 ` [PATCH 09/12] xen: only map PV guest grants via iommu if HAS_PASSTHROUGH Ian Campbell
2012-01-20 12:38   ` Jan Beulich
2012-01-20 12:40     ` Ian Campbell
2012-01-20 12:52       ` Jan Beulich
2012-01-20 12:06 ` [PATCH 10/12] arm: stub out PoD Ian Campbell
2012-01-20 12:20   ` Stefano Stabellini
2012-01-20 12:29     ` Ian Campbell
2012-01-20 12:35       ` Tim Deegan
2012-01-20 12:40         ` Ian Campbell
2012-01-20 12:06 ` [PATCH 11/12] arm: define max_page Ian Campbell
2012-01-20 12:06 ` [PATCH 12/12] arm: Group remaining dummy symbols somewhat according to functionality Ian Campbell
2012-01-20 12:20 ` [PATCH 00/12] ARM: Slim down dummy.S Stefano Stabellini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1327061198-29854-7-git-send-email-ian.campbell@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).