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
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
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,$^)
#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",
#endif
#define __x86_64___X86_64 1
""";
+footer["x86_64"] = """
+#undef __DECL_REG
+"""
###########################################################################
# main
-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
"shared_info" ];
defines = [ "__arm__",
+ "__aarch64__",
"__i386__",
"__x86_64__",