diff options
| -rw-r--r-- | arch/x86/include/asm/Kbuild | 26 | ||||
| -rw-r--r-- | arch/x86/include/asm/boot.h | 9 | ||||
| -rw-r--r-- | arch/x86/include/asm/debugreg.h | 79 | ||||
| -rw-r--r-- | arch/x86/include/asm/e820.h | 74 | ||||
| -rw-r--r-- | arch/x86/include/asm/hw_breakpoint.h | 5 | ||||
| -rw-r--r-- | arch/x86/include/asm/ist.h | 17 | ||||
| -rw-r--r-- | arch/x86/include/asm/kvm_para.h | 99 | ||||
| -rw-r--r-- | arch/x86/include/asm/mce.h | 119 | ||||
| -rw-r--r-- | arch/x86/include/asm/msr.h | 11 | ||||
| -rw-r--r-- | arch/x86/include/asm/mtrr.h | 93 | ||||
| -rw-r--r-- | arch/x86/include/asm/posix_types.h | 10 | ||||
| -rw-r--r-- | arch/x86/include/asm/processor-flags.h | 97 | ||||
| -rw-r--r-- | arch/x86/include/asm/ptrace.h | 75 | ||||
| -rw-r--r-- | arch/x86/include/asm/setup.h | 5 | ||||
| -rw-r--r-- | arch/x86/include/asm/sigcontext.h | 216 | ||||
| -rw-r--r-- | arch/x86/include/asm/signal.h | 140 | ||||
| -rw-r--r-- | arch/x86/include/asm/svm.h | 132 | ||||
| -rw-r--r-- | arch/x86/include/asm/unistd.h | 14 | ||||
| -rw-r--r-- | arch/x86/include/asm/vm86.h | 128 | ||||
| -rw-r--r-- | arch/x86/include/asm/vmx.h | 89 | ||||
| -rw-r--r-- | arch/x86/include/asm/vsyscall.h | 16 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/Kbuild | 58 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/a.out.h (renamed from arch/x86/include/asm/a.out.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/auxvec.h (renamed from arch/x86/include/asm/auxvec.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/bitsperlong.h (renamed from arch/x86/include/asm/bitsperlong.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/boot.h | 10 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/bootparam.h (renamed from arch/x86/include/asm/bootparam.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/byteorder.h (renamed from arch/x86/include/asm/byteorder.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/debugreg.h | 80 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/e820.h | 75 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/errno.h (renamed from arch/x86/include/asm/errno.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/fcntl.h (renamed from arch/x86/include/asm/fcntl.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/hw_breakpoint.h | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/hyperv.h (renamed from arch/x86/include/asm/hyperv.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/ioctl.h (renamed from arch/x86/include/asm/ioctl.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/ioctls.h (renamed from arch/x86/include/asm/ioctls.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/ipcbuf.h (renamed from arch/x86/include/asm/ipcbuf.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/ist.h | 29 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/kvm.h (renamed from arch/x86/include/asm/kvm.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/kvm_para.h | 100 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/ldt.h (renamed from arch/x86/include/asm/ldt.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/mce.h | 121 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/mman.h (renamed from arch/x86/include/asm/mman.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/msgbuf.h (renamed from arch/x86/include/asm/msgbuf.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/msr-index.h (renamed from arch/x86/include/asm/msr-index.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/msr.h | 15 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/mtrr.h | 117 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/param.h (renamed from arch/x86/include/asm/param.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/perf_regs.h (renamed from arch/x86/include/asm/perf_regs.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/poll.h (renamed from arch/x86/include/asm/poll.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/posix_types.h | 9 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/posix_types_32.h (renamed from arch/x86/include/asm/posix_types_32.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/posix_types_64.h (renamed from arch/x86/include/asm/posix_types_64.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/posix_types_x32.h (renamed from arch/x86/include/asm/posix_types_x32.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/prctl.h (renamed from arch/x86/include/asm/prctl.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/processor-flags.h | 99 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/ptrace-abi.h (renamed from arch/x86/include/asm/ptrace-abi.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/ptrace.h | 78 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/resource.h (renamed from arch/x86/include/asm/resource.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/sembuf.h (renamed from arch/x86/include/asm/sembuf.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/setup.h | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/shmbuf.h (renamed from arch/x86/include/asm/shmbuf.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/sigcontext.h | 221 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/sigcontext32.h (renamed from arch/x86/include/asm/sigcontext32.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/siginfo.h (renamed from arch/x86/include/asm/siginfo.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/signal.h | 145 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/socket.h (renamed from arch/x86/include/asm/socket.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/sockios.h (renamed from arch/x86/include/asm/sockios.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/stat.h (renamed from arch/x86/include/asm/stat.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/statfs.h (renamed from arch/x86/include/asm/statfs.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/svm.h | 132 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/swab.h (renamed from arch/x86/include/asm/swab.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/termbits.h (renamed from arch/x86/include/asm/termbits.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/termios.h (renamed from arch/x86/include/asm/termios.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/types.h (renamed from arch/x86/include/asm/types.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/ucontext.h (renamed from arch/x86/include/asm/ucontext.h) | 0 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/unistd.h | 17 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/vm86.h | 129 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/vmx.h | 109 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/vsyscall.h | 17 |
80 files changed, 1587 insertions, 1428 deletions
diff --git a/arch/x86/include/asm/Kbuild b/arch/x86/include/asm/Kbuild index 79fd8a3418f9..7f669853317a 100644 --- a/arch/x86/include/asm/Kbuild +++ b/arch/x86/include/asm/Kbuild @@ -1,30 +1,4 @@ -include include/asm-generic/Kbuild.asm -header-y += boot.h -header-y += bootparam.h -header-y += debugreg.h -header-y += e820.h -header-y += hw_breakpoint.h -header-y += hyperv.h -header-y += ist.h -header-y += ldt.h -header-y += mce.h -header-y += msr-index.h -header-y += msr.h -header-y += mtrr.h -header-y += perf_regs.h -header-y += posix_types_32.h -header-y += posix_types_64.h -header-y += posix_types_x32.h -header-y += prctl.h -header-y += processor-flags.h -header-y += ptrace-abi.h -header-y += sigcontext32.h -header-y += svm.h -header-y += ucontext.h -header-y += vm86.h -header-y += vmx.h -header-y += vsyscall.h genhdr-y += unistd_32.h genhdr-y += unistd_64.h diff --git a/arch/x86/include/asm/boot.h b/arch/x86/include/asm/boot.h index b13fe63bdc59..4fa687a47a62 100644 --- a/arch/x86/include/asm/boot.h +++ b/arch/x86/include/asm/boot.h @@ -1,14 +1,9 @@ #ifndef _ASM_X86_BOOT_H #define _ASM_X86_BOOT_H -/* Internal svga startup constants */ -#define NORMAL_VGA 0xffff /* 80x25 mode */ -#define EXTENDED_VGA 0xfffe /* 80x50 mode */ -#define ASK_VGA 0xfffd /* ask for it at bootup */ - -#ifdef __KERNEL__ #include <asm/pgtable_types.h> +#include <uapi/asm/boot.h> /* Physical address where kernel should be loaded. */ #define LOAD_PHYSICAL_ADDR ((CONFIG_PHYSICAL_START \ @@ -42,6 +37,4 @@ #define BOOT_STACK_SIZE 0x1000 #endif -#endif /* __KERNEL__ */ - #endif /* _ASM_X86_BOOT_H */ diff --git a/arch/x86/include/asm/debugreg.h b/arch/x86/include/asm/debugreg.h index 2d91580bf228..4b528a970bd4 100644 --- a/arch/x86/include/asm/debugreg.h +++ b/arch/x86/include/asm/debugreg.h @@ -2,83 +2,8 @@ #define _ASM_X86_DEBUGREG_H -/* Indicate the register numbers for a number of the specific - debug registers. Registers 0-3 contain the addresses we wish to trap on */ -#define DR_FIRSTADDR 0 /* u_debugreg[DR_FIRSTADDR] */ -#define DR_LASTADDR 3 /* u_debugreg[DR_LASTADDR] */ - -#define DR_STATUS 6 /* u_debugreg[DR_STATUS] */ -#define DR_CONTROL 7 /* u_debugreg[DR_CONTROL] */ - -/* Define a few things for the status register. We can use this to determine - which debugging register was responsible for the trap. The other bits - are either reserved or not of interest to us. */ - -/* Define reserved bits in DR6 which are always set to 1 */ -#define DR6_RESERVED (0xFFFF0FF0) - -#define DR_TRAP0 (0x1) /* db0 */ -#define DR_TRAP1 (0x2) /* db1 */ -#define DR_TRAP2 (0x4) /* db2 */ -#define DR_TRAP3 (0x8) /* db3 */ -#define DR_TRAP_BITS (DR_TRAP0|DR_TRAP1|DR_TRAP2|DR_TRAP3) - -#define DR_STEP (0x4000) /* single-step */ -#define DR_SWITCH (0x8000) /* task switch */ - -/* Now define a bunch of things for manipulating the control register. - The top two bytes of the control register consist of 4 fields of 4 - bits - each field corresponds to one of the four debug registers, - and indicates what types of access we trap on, and how large the data - field is that we are looking at */ - -#define DR_CONTROL_SHIFT 16 /* Skip this many bits in ctl register */ -#define DR_CONTROL_SIZE 4 /* 4 control bits per register */ - -#define DR_RW_EXECUTE (0x0) /* Settings for the access types to trap on */ -#define DR_RW_WRITE (0x1) -#define DR_RW_READ (0x3) - -#define DR_LEN_1 (0x0) /* Settings for data length to trap on */ -#define DR_LEN_2 (0x4) -#define DR_LEN_4 (0xC) -#define DR_LEN_8 (0x8) - -/* The low byte to the control register determine which registers are - enabled. There are 4 fields of two bits. One bit is "local", meaning - that the processor will reset the bit after a task switch and the other - is global meaning that we have to explicitly reset the bit. With linux, - you can use either one, since we explicitly zero the register when we enter - kernel mode. */ - -#define DR_LOCAL_ENABLE_SHIFT 0 /* Extra shift to the local enable bit */ -#define DR_GLOBAL_ENABLE_SHIFT 1 /* Extra shift to the global enable bit */ -#define DR_LOCAL_ENABLE (0x1) /* Local enable for reg 0 */ -#define DR_GLOBAL_ENABLE (0x2) /* Global enable for reg 0 */ -#define DR_ENABLE_SIZE 2 /* 2 enable bits per register */ - -#define DR_LOCAL_ENABLE_MASK (0x55) /* Set local bits for all 4 regs */ -#define DR_GLOBAL_ENABLE_MASK (0xAA) /* Set global bits for all 4 regs */ - -/* The second byte to the control register has a few special things. - We can slow the instruction pipeline for instructions coming via the - gdt or the ldt if we want to. I am not sure why this is an advantage */ - -#ifdef __i386__ -#define DR_CONTROL_RESERVED (0xFC00) /* Reserved by Intel */ -#else -#define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00UL) /* Reserved */ -#endif - -#define DR_LOCAL_SLOWDOWN (0x100) /* Local slow the pipeline */ -#define DR_GLOBAL_SLOWDOWN (0x200) /* Global slow the pipeline */ - -/* - * HW breakpoint additions - */ -#ifdef __KERNEL__ - #include <linux/bug.h> +#include <uapi/asm/debugreg.h> DECLARE_PER_CPU(unsigned long, cpu_dr7); @@ -190,6 +115,4 @@ static inline void debug_stack_usage_dec(void) { } #endif /* X86_64 */ -#endif /* __KERNEL__ */ - #endif /* _ASM_X86_DEBUGREG_H */ diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h index 37782566af24..cccd07fa5e3a 100644 --- a/arch/x86/include/asm/e820.h +++ b/arch/x86/include/asm/e820.h @@ -1,81 +1,14 @@ #ifndef _ASM_X86_E820_H #define _ASM_X86_E820_H -#define E820MAP 0x2d0 /* our map */ -#define E820MAX 128 /* number of entries in E820MAP */ -/* - * Legacy E820 BIOS limits us to 128 (E820MAX) nodes due to the - * constrained space in the zeropage. If we have more nodes than - * that, and if we've booted off EFI firmware, then the EFI tables - * passed us from the EFI firmware can list more nodes. Size our - * internal memory map tables to have room for these additional - * nodes, based on up to three entries per node for which the - * kernel was built: MAX_NUMNODES == (1 << CONFIG_NODES_SHIFT), - * plus E820MAX, allowing space for the possible duplicate E820 - * entries that might need room in the same arrays, prior to the - * call to sanitize_e820_map() to remove duplicates. The allowance - * of three memory map entries per node is "enough" entries for - * the initial hardware platform motivating this mechanism to make - * use of additional EFI map entries. Future platforms may want - * to allow more than three entries per node or otherwise refine - * this size. - */ - -/* - * Odd: 'make headers_check' complains about numa.h if I try - * to collapse the next two #ifdef lines to a single line: - * #if defined(__KERNEL__) && defined(CONFIG_EFI) - */ -#ifdef __KERNEL__ #ifdef CONFIG_EFI #include <linux/numa.h> #define E820_X_MAX (E820MAX + 3 * MAX_NUMNODES) #else /* ! CONFIG_EFI */ #define E820_X_MAX E820MAX #endif -#else /* ! __KERNEL__ */ -#define E820_X_MAX E820MAX -#endif - -#define E820NR 0x1e8 /* # entries in E820MAP */ - -#define E820_RAM 1 -#define E820_RESERVED 2 -#define E820_ACPI 3 -#define E820_NVS 4 -#define E820_UNUSABLE 5 - -/* - * reserved RAM used by kernel itself - * if CONFIG_INTEL_TXT is enabled, memory of this type will be - * included in the S3 integrity calculation and so should not include - * any memory that BIOS might alter over the S3 transition - */ -#define E820_RESERVED_KERN 128 - +#include <uapi/asm/e820.h> #ifndef __ASSEMBLY__ -#include <linux/types.h> -struct e820entry { - __u64 addr; /* start of memory segment */ - __u64 size; /* size of memory segment */ - __u32 type; /* type of memory segment */ -} __attribute__((packed)); - -struct e820map { - __u32 nr_map; - struct e820entry map[E820_X_MAX]; -}; - -#define ISA_START_ADDRESS 0xa0000 -#define ISA_END_ADDRESS 0x100000 - -#define BIOS_BEGIN 0x000a0000 -#define BIOS_END 0x00100000 - -#define BIOS_ROM_BASE 0xffe00000 -#define BIOS_ROM_END 0xffffffff - -#ifdef __KERNEL__ /* see comment in arch/x86/kernel/e820.c */ extern struct e820map e820; extern struct e820map e820_saved; @@ -137,13 +70,8 @@ static inline bool is_ISA_range(u64 s, u64 e) return s >= ISA_START_ADDRESS && e <= ISA_END_ADDRESS; } -#endif /* __KERNEL__ */ #endif /* __ASSEMBLY__ */ - -#ifdef __KERNEL__ #include <linux/ioport.h> #define HIGH_MEMORY (1024*1024) -#endif /* __KERNEL__ */ - #endif /* _ASM_X86_E820_H */ diff --git a/arch/x86/include/asm/hw_breakpoint.h b/arch/x86/include/asm/hw_breakpoint.h index 824ca07860d0..ef1c4d2d41ec 100644 --- a/arch/x86/include/asm/hw_breakpoint.h +++ b/arch/x86/include/asm/hw_breakpoint.h @@ -1,7 +1,8 @@ #ifndef _I386_HW_BREAKPOINT_H #define _I386_HW_BREAKPOINT_H -#ifdef __KERNEL__ +#include <uapi/asm/hw_breakpoint.h> + #define __ARCH_HW_BREAKPOINT_H /* @@ -71,6 +72,4 @@ extern int arch_bp_generic_fields(int x86_len, int x86_type, extern struct pmu perf_ops_bp; -#endif /* __KERNEL__ */ #endif /* _I386_HW_BREAKPOINT_H */ - diff --git a/arch/x86/include/asm/ist.h b/arch/x86/include/asm/ist.h index 7e5dff1de0e9..c9803f1a2033 100644 --- a/arch/x86/include/asm/ist.h +++ b/arch/x86/include/asm/ist.h @@ -1,6 +1,3 @@ -#ifndef _ASM_X86_IST_H -#define _ASM_X86_IST_H - /* * Include file for the interface to IST BIOS * Copyright 2002 Andy Grover <andrew.grover@intel.com> @@ -15,20 +12,12 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. */ +#ifndef _ASM_X86_IST_H +#define _ASM_X86_IST_H +#include <uapi/asm/ist.h> -#include <linux/types.h> - -struct ist_info { - __u32 signature; - __u32 command; - __u32 event; - __u32 perf_level; -}; - -#ifdef __KERNEL__ extern struct ist_info ist_info; -#endif /* __KERNEL__ */ #endif /* _ASM_X86_IST_H */ diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h index eb3e9d85e1f1..5ed1f16187be 100644 --- a/arch/x86/include/asm/kvm_para.h +++ b/arch/x86/include/asm/kvm_para.h @@ -1,103 +1,8 @@ #ifndef _ASM_X86_KVM_PARA_H #define _ASM_X86_KVM_PARA_H -#include <linux/types.h> -#include <asm/hyperv.h> - -/* This CPUID returns the signature 'KVMKVMKVM' in ebx, ecx, and edx. It - * should be used to determine that a VM is running under KVM. - */ -#define KVM_CPUID_SIGNATURE 0x40000000 - -/* This CPUID returns a feature bitmap in eax. Before enabling a particular - * paravirtualization, the appropriate feature bit should be checked. - */ -#define KVM_CPUID_FEATURES 0x40000001 -#define KVM_FEATURE_CLOCKSOURCE 0 -#define KVM_FEATURE_NOP_IO_DELAY 1 -#define KVM_FEATURE_MMU_OP 2 -/* This indicates that the new set of kvmclock msrs - * are available. The use of 0x11 and 0x12 is deprecated - */ -#define KVM_FEATURE_CLOCKSOURCE2 3 -#define KVM_FEATURE_ASYNC_PF 4 -#define KVM_FEATURE_STEAL_TIME 5 -#define KVM_FEATURE_PV_EOI 6 - -/* The last 8 bits are used to indicate how to interpret the flags field - * in pvclock structure. If no bits are set, all flags are ignored. - */ -#define KVM_FEATURE_CLOCKSOURCE_STABLE_BIT 24 - -#define MSR_KVM_WALL_CLOCK 0x11 -#define MSR_KVM_SYSTEM_TIME 0x12 - -#define KVM_MSR_ENABLED 1 -/* Custom MSRs falls in the range 0x4b564d00-0x4b564dff */ -#define MSR_KVM_WALL_CLOCK_NEW 0x4b564d00 -#define MSR_KVM_SYSTEM_TIME_NEW 0x4b564d01 -#define MSR_KVM_ASYNC_PF_EN 0x4b564d02 -#define MSR_KVM_STEAL_TIME 0x4b564d03 -#define MSR_KVM_PV_EOI_EN 0x4b564d04 - -struct kvm_steal_time { - __u64 steal; - __u32 version; - __u32 flags; - __u32 pad[12]; -}; - -#define KVM_STEAL_ALIGNMENT_BITS 5 -#define KVM_STEAL_VALID_BITS ((-1ULL << (KVM_STEAL_ALIGNMENT_BITS + 1))) -#define KVM_STEAL_RESERVED_MASK (((1 << KVM_STEAL_ALIGNMENT_BITS) - 1 ) << 1) - -#define KVM_MAX_MMU_OP_BATCH 32 - -#define KVM_ASYNC_PF_ENABLED (1 << 0) -#define KVM_ASYNC_PF_SEND_ALWAYS (1 << 1) - -/* Operations for KVM_HC_MMU_OP */ -#define KVM_MMU_OP_WRITE_PTE 1 -#define KVM_MMU_OP_FLUSH_TLB 2 -#define KVM_MMU_OP_RELEASE_PT 3 - -/* Payload for KVM_HC_MMU_OP */ -struct kvm_mmu_op_header { - __u32 op; - __u32 pad; -}; - -struct kvm_mmu_op_write_pte { - struct kvm_mmu_op_header header; - __u64 pte_phys; - __u64 pte_val; -}; - -struct kvm_mmu_op_flush_tlb { - struct kvm_mmu_op_header header; -}; - -struct kvm_mmu_op_release_pt { - struct kvm_mmu_op_header header; - __u64 pt_phys; -}; - -#define KVM_PV_REASON_PAGE_NOT_PRESENT 1 -#define KVM_PV_REASON_PAGE_READY 2 - -struct kvm_vcpu_pv_apf_data { - __u32 reason; - __u8 pad[60]; - __u32 enabled; -}; - -#define KVM_PV_EOI_BIT 0 -#define KVM_PV_EOI_MASK (0x1 << KVM_PV_EOI_BIT) -#define KVM_PV_EOI_ENABLED KVM_PV_EOI_MASK -#define KVM_PV_EOI_DISABLED 0x0 - -#ifdef __KERNEL__ #include <asm/processor.h> +#include <uapi/asm/kvm_para.h> extern void kvmclock_init(void); extern int kvm_register_clock(char *txt); @@ -228,6 +133,4 @@ static inline void kvm_disable_steal_time(void) } #endif -#endif /* __KERNEL__ */ - #endif /* _ASM_X86_KVM_PARA_H */ |
