|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V2 20/46] xen: arm64: add to foreign struct checks
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
.gitignore | 1 +
tools/include/xen-foreign/Makefile | 5 ++++-
tools/include/xen-foreign/mkheader.py | 19 +++++++++++++++++++
tools/include/xen-foreign/reference.size | 20 ++++++++++----------
tools/include/xen-foreign/structs.py | 1 +
5 files changed, 35 insertions(+), 11 deletions(-)
diff --git a/.gitignore b/.gitignore
index 73c5b77..2242344 100644
--- a/.gitignore
+++ b/.gitignore
@@ -364,6 +364,7 @@ tools/include/xen-foreign/structs.pyc
tools/include/xen-foreign/x86_32.h
tools/include/xen-foreign/x86_64.h
tools/include/xen-foreign/arm32.h
+tools/include/xen-foreign/arm64.h
.git
tools/misc/xen-hptool
diff --git a/tools/include/xen-foreign/Makefile
b/tools/include/xen-foreign/Makefile
index 53cc6b4..06b844c 100644
--- a/tools/include/xen-foreign/Makefile
+++ b/tools/include/xen-foreign/Makefile
@@ -3,7 +3,7 @@ include $(XEN_ROOT)/tools/Rules.mk
ROOT = $(XEN_ROOT)/xen/include/public
-architectures := arm32 x86_32 x86_64
+architectures := arm32 arm64 x86_32 x86_64
headers := $(patsubst %, %.h, $(architectures))
.PHONY: all clean check-headers
@@ -25,6 +25,9 @@ check-headers: checker
arm32.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h
$(PYTHON) $< $* $@ $(filter %.h,$^)
+arm64.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h
+ $(PYTHON) $< $* $@ $(filter %.h,$^)
+
x86_32.h: mkheader.py structs.py $(ROOT)/arch-x86/xen-x86_32.h
$(ROOT)/arch-x86/xen.h $(ROOT)/xen.h
$(PYTHON) $< $* $@ $(filter %.h,$^)
diff --git a/tools/include/xen-foreign/mkheader.py
b/tools/include/xen-foreign/mkheader.py
index b7c34b1..4858687 100644
--- a/tools/include/xen-foreign/mkheader.py
+++ b/tools/include/xen-foreign/mkheader.py
@@ -26,6 +26,22 @@ inttypes["arm32"] = {
header["arm32"] = """
#define __arm___ARM32 1
""";
+footer["arm32"] = """
+#undef __DECL_REG
+"""
+
+inttypes["arm64"] = {
+ "unsigned long" : "__danger_unsigned_long_on_arm64",
+ "long" : "__danger_long_on_arm64",
+ "xen_pfn_t" : "uint64_t",
+ "xen_ulong_t" : "uint64_t",
+};
+header["arm64"] = """
+#define __aarch64___ARM64 1
+""";
+footer["arm64"] = """
+#undef __DECL_REG
+"""
# x86_32
inttypes["x86_32"] = {
@@ -59,6 +75,9 @@ header["x86_64"] = """
#endif
#define __x86_64___X86_64 1
""";
+footer["x86_64"] = """
+#undef __DECL_REG
+"""
###########################################################################
# main
diff --git a/tools/include/xen-foreign/reference.size
b/tools/include/xen-foreign/reference.size
index 0e5529d..7659c64 100644
--- a/tools/include/xen-foreign/reference.size
+++ b/tools/include/xen-foreign/reference.size
@@ -1,13 +1,13 @@
-structs | arm32 x86_32 x86_64
+structs | arm32 arm64 x86_32 x86_64
-start_info | - 1112 1168
-trap_info | - 8 16
-cpu_user_regs | 160 68 200
-vcpu_guest_context | 180 2800 5168
-arch_vcpu_info | 0 24 16
-vcpu_time_info | 32 32 32
-vcpu_info | 48 64 64
-arch_shared_info | 0 268 280
-shared_info | 1088 2584 3368
+start_info | - - 1112 1168
+trap_info | - - 8 16
+cpu_user_regs | 160 160 68 200
+vcpu_guest_context | 180 180 2800 5168
+arch_vcpu_info | 0 0 24 16
+vcpu_time_info | 32 32 32 32
+vcpu_info | 48 48 64 64
+arch_shared_info | 0 0 268 280
+shared_info | 1088 1088 2584 3368
diff --git a/tools/include/xen-foreign/structs.py
b/tools/include/xen-foreign/structs.py
index 51a77c0..5aec2c5 100644
--- a/tools/include/xen-foreign/structs.py
+++ b/tools/include/xen-foreign/structs.py
@@ -14,6 +14,7 @@ structs = [ "start_info",
"shared_info" ];
defines = [ "__arm__",
+ "__aarch64__",
"__i386__",
"__x86_64__",
--
1.7.2.5
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |