ROOT = $(XEN_ROOT)/xen/include/public
-architectures := x86_32 x86_64
+architectures := arm x86_32 x86_64
headers := $(patsubst %, %.h, $(architectures))
.PHONY: all clean check-headers
diff -u reference.size tmp.size
rm tmp.size
+arm.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,$^)
header = {};
footer = {};
+#arm
+inttypes["arm"] = {
+ "unsigned long" : "uint32_t",
+ "long" : "uint32_t",
+ "xen_pfn_t" : "uint64_t",
+};
+
# x86_32
inttypes["x86_32"] = {
"unsigned long" : "uint32_t",
-structs | x86_32 x86_64
+structs | arm x86_32 x86_64
-start_info | 1112 1168
-trap_info | 8 16
-cpu_user_regs | 68 200
-vcpu_guest_context | 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 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
"arch_shared_info",
"shared_info" ];
-defines = [ "__i386__",
+defines = [ "__arm__",
+ "__i386__",
"__x86_64__",
+ # arm
+ # None
+
+ # x86_{32,64}
"FLAT_RING1_CS",
"FLAT_RING1_DS",
"FLAT_RING1_SS",