TianoCore EDK2 master
Loading...
Searching...
No Matches
xen-x86_32.h
1/******************************************************************************
2 * xen-x86_32.h
3 *
4 * Guest OS interface to x86 32-bit Xen.
5 *
6 * SPDX-License-Identifier: MIT
7 *
8 * Copyright (c) 2004-2007, K A Fraser
9 */
10
11#ifndef __XEN_PUBLIC_ARCH_X86_XEN_X86_32_H__
12#define __XEN_PUBLIC_ARCH_X86_XEN_X86_32_H__
13
14/*
15 * Hypercall interface:
16 * Input: %ebx, %ecx, %edx, %esi, %edi, %ebp (arguments 1-6)
17 * Output: %eax
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 %ebx,%ecx)
21 */
22
23#ifndef __ASSEMBLY__
24
25struct arch_vcpu_info {
26 UINTN cr2;
27 UINTN pad[5]; /* sizeof(vcpu_info_t) == 64 */
28};
29
30typedef struct arch_vcpu_info arch_vcpu_info_t;
31
32#endif /* !__ASSEMBLY__ */
33
34#endif /* __XEN_PUBLIC_ARCH_X86_XEN_X86_32_H__ */
35
36/*
37 * Local variables:
38 * mode: C
39 * c-file-style: "BSD"
40 * c-basic-offset: 4
41 * tab-width: 4
42 * indent-tabs-mode: nil
43 * End:
44 */
UINT64 UINTN