From 08551b90080e0e9a60a6e7f2a7855aa970f0643f Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Fri, 22 Feb 2013 08:57:59 +0000 Subject: xen: arm64: add to foreign struct checks Signed-off-by: Ian Campbell Acked-by: Stefano Stabellini --- .gitignore | 1 + tools/include/xen-foreign/Makefile | 5 ++++- tools/include/xen-foreign/mkheader.py | 13 +++++++++++++ tools/include/xen-foreign/reference.size | 20 ++++++++++---------- tools/include/xen-foreign/structs.py | 1 + 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 3834e4b8bb..fce8c892cd 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/tools/include/xen-foreign/Makefile b/tools/include/xen-foreign/Makefile index 5bc2d46b3e..8e0be83f1d 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 $(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,$^) diff --git a/tools/include/xen-foreign/mkheader.py b/tools/include/xen-foreign/mkheader.py index e3e61f3913..c63db31c6e 100644 --- a/tools/include/xen-foreign/mkheader.py +++ b/tools/include/xen-foreign/mkheader.py @@ -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 diff --git a/tools/include/xen-foreign/reference.size b/tools/include/xen-foreign/reference.size index 9f1bfac0c3..1d75ff330e 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 | - 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 diff --git a/tools/include/xen-foreign/structs.py b/tools/include/xen-foreign/structs.py index 51a77c0ad8..5aec2c5cc2 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__", -- cgit v1.2.3