xen: arm64: add to foreign struct checks
authorIan Campbell <ian.campbell@citrix.com>
Fri, 22 Feb 2013 08:57:59 +0000 (08:57 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 22 Feb 2013 12:14:53 +0000 (12:14 +0000)
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
.gitignore
tools/include/xen-foreign/Makefile
tools/include/xen-foreign/mkheader.py
tools/include/xen-foreign/reference.size
tools/include/xen-foreign/structs.py

index 3834e4b8bbf9813904bace92372bc70d4dbca774..fce8c892cd1e92c5dd130acc31547847cda02fa4 100644 (file)
@@ -367,6 +367,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
index 5bc2d46b3e7dde27dff7de74ae80e60d8773b1fa..8e0be83f1d24408919df0eaa32cf5cbf1c199050 100644 (file)
@@ -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
        $(PYTHON) $< $* $@ $(filter %.h,$^)
 
+arm64.h: mkheader.py structs.py $(ROOT)/arch-arm.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,$^)
 
index e3e61f391338b7bc425572c573d7fa772a6fca41..c63db31c6e4bbb134fcb42d2008c432bf675fef4 100644 (file)
@@ -27,6 +27,16 @@ header["arm32"] = """
 #define __arm___ARM32 1
 """;
 
+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
+""";
+
 # x86_32
 inttypes["x86_32"] = {
     "unsigned long" : "uint32_t",
@@ -59,6 +69,9 @@ header["x86_64"] = """
 #endif
 #define __x86_64___X86_64 1
 """;
+footer["x86_64"] = """
+#undef __DECL_REG
+"""
 
 ###########################################################################
 # main
index 9f1bfac0c35749b18a7f252d686df28e9ee62486..1d75ff330ee9e934fd6ee362208b9762b0c1ec21 100644 (file)
@@ -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            |       -      24      16
-vcpu_time_info            |       -      32      32
-vcpu_info                 |       -      64      64
-arch_shared_info          |       -     268     280
-shared_info               |       -    2584    3368
+start_info                |       -       -    1112    1168
+trap_info                 |       -       -       8      16
+cpu_user_regs             |     160     160      68     200
+vcpu_guest_context        |     180     160    2800    5168
+arch_vcpu_info            |       -       -      24      16
+vcpu_time_info            |       -       -      32      32
+vcpu_info                 |       -       -      64      64
+arch_shared_info          |       -       -     268     280
+shared_info               |       -       -    2584    3368
 
index 51a77c0ad8e443607293a86af634f5532190ae37..5aec2c5cc26037198c44aea91b78ed5981186bfb 100644 (file)
@@ -14,6 +14,7 @@ structs = [ "start_info",
             "shared_info" ];
 
 defines = [ "__arm__",
+            "__aarch64__",
             "__i386__",
             "__x86_64__",