1 /****************************************************************************** 2 * xen-x86_64.h 3 * 4 * Guest OS interface to x86 64-bit Xen. 5 * 6 * SPDX-License-Identifier: MIT 7 * 8 * Copyright (c) 2004-2006, K A Fraser 9 */ 10 11 #ifndef __XEN_PUBLIC_ARCH_X86_XEN_X86_64_H__ 12 #define __XEN_PUBLIC_ARCH_X86_XEN_X86_64_H__ 13 14 /* 15 * Hypercall interface: 16 * Input: %rdi, %rsi, %rdx, %r10, %r8, %r9 (arguments 1-6) 17 * Output: %rax 18 * Access is via hypercall page (set up by guest loader or via a Xen MSR): 19 * call hypercall_page + hypercall-number * 32 20 * Clobbered: argument registers (e.g., 2-arg hypercall clobbers %rdi,%rsi) 21 */ 22 23 #ifndef __ASSEMBLY__ 24 25 struct arch_vcpu_info { 26 UINTN cr2; 27 UINTN pad; /* sizeof(vcpu_info_t) == 64 */ 28 }; 29 typedef struct arch_vcpu_info arch_vcpu_info_t; 30 31 #endif /* !__ASSEMBLY__ */ 32 33 #endif /* __XEN_PUBLIC_ARCH_X86_XEN_X86_64_H__ */ 34 35 /* 36 * Local variables: 37 * mode: C 38 * c-file-style: "BSD" 39 * c-basic-offset: 4 40 * tab-width: 4 41 * indent-tabs-mode: nil 42 * End: 43 */ 44