aboutsummaryrefslogtreecommitdiffstats
path: root/tools/include/xen-foreign/structs.py
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-02-22 08:58:03 +0000
committerIan Campbell <ian.campbell@citrix.com>2013-02-22 12:14:53 +0000
commit1c38a1e937d39d3f6079667bfb6e8ff877eddbde (patch)
tree168a0f74572069e862dae30ccce6335ed7d44b0f /tools/include/xen-foreign/structs.py
parenta51b368b64943196f86f444c45b1c5c61b148d1a (diff)
downloadxen-1c38a1e937d39d3f6079667bfb6e8ff877eddbde.tar.gz
xen-1c38a1e937d39d3f6079667bfb6e8ff877eddbde.tar.bz2
xen-1c38a1e937d39d3f6079667bfb6e8ff877eddbde.zip
xen: arm: separate guest user regs from internal guest state.
struct cpu_user_regs is currently used as both internal state (specifically at the base of the stack) and a guest/toolstack visible API (via struct vcpu_guest_context used by XEN_DOMCTL_{g,s}etvcpucontext and VCPUOP_initialise). This causes problems when we want to make the API 64-bit clean since we don't really want to change the size of the on-stack struct. So split into vcpu_guest_core_regs which is the API facing struct and keep cpu_user_regs purely internal, translate between the two. In the user API arrange for both 64- and 32-bit registers to be included in a layout which does not differ depending on toolstack architecture. Also switch to using the more formal banked register names (e.g. with the _usr suffix) for clarity. This is an ABI change. Note that the kernel doesn't currently use this data structure so it affects the tools interface only. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'tools/include/xen-foreign/structs.py')
-rw-r--r--tools/include/xen-foreign/structs.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/include/xen-foreign/structs.py b/tools/include/xen-foreign/structs.py
index 5aec2c5cc2..0b33a77480 100644
--- a/tools/include/xen-foreign/structs.py
+++ b/tools/include/xen-foreign/structs.py
@@ -6,6 +6,7 @@ unions = [ "vcpu_cr_regs",
structs = [ "start_info",
"trap_info",
"cpu_user_regs",
+ "vcpu_guest_core_regs",
"vcpu_guest_context",
"arch_vcpu_info",
"vcpu_time_info",