diff options
Diffstat (limited to 'arch/x86/include/uapi/asm')
| -rw-r--r-- | arch/x86/include/uapi/asm/bootparam.h | 4 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/hyperv.h | 32 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/kvm.h | 6 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/msr-index.h | 81 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/sembuf.h | 10 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/stat.h | 42 | ||||
| -rw-r--r-- | arch/x86/include/uapi/asm/vsyscall.h | 7 | 
7 files changed, 122 insertions, 60 deletions
diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h index c15ddaf9071..225b0988043 100644 --- a/arch/x86/include/uapi/asm/bootparam.h +++ b/arch/x86/include/uapi/asm/bootparam.h @@ -6,6 +6,7 @@  #define SETUP_E820_EXT			1  #define SETUP_DTB			2  #define SETUP_PCI			3 +#define SETUP_EFI			4  /* ram_size flags */  #define RAMDISK_IMAGE_START_MASK	0x07FF @@ -23,6 +24,7 @@  #define XLF_CAN_BE_LOADED_ABOVE_4G	(1<<1)  #define XLF_EFI_HANDOVER_32		(1<<2)  #define XLF_EFI_HANDOVER_64		(1<<3) +#define XLF_EFI_KEXEC			(1<<4)  #ifndef __ASSEMBLY__ @@ -158,7 +160,7 @@ enum {  	X86_SUBARCH_PC = 0,  	X86_SUBARCH_LGUEST,  	X86_SUBARCH_XEN, -	X86_SUBARCH_MRST, +	X86_SUBARCH_INTEL_MID,  	X86_SUBARCH_CE4100,  	X86_NR_SUBARCHS,  }; diff --git a/arch/x86/include/uapi/asm/hyperv.h b/arch/x86/include/uapi/asm/hyperv.h index b80420bcd09..462efe746d7 100644 --- a/arch/x86/include/uapi/asm/hyperv.h +++ b/arch/x86/include/uapi/asm/hyperv.h @@ -27,6 +27,22 @@  #define HV_X64_MSR_VP_RUNTIME_AVAILABLE		(1 << 0)  /* Partition Reference Counter (HV_X64_MSR_TIME_REF_COUNT) available*/  #define HV_X64_MSR_TIME_REF_COUNT_AVAILABLE	(1 << 1) + +/* A partition's reference time stamp counter (TSC) page */ +#define HV_X64_MSR_REFERENCE_TSC		0x40000021 + +/* + * There is a single feature flag that signifies the presence of the MSR + * that can be used to retrieve both the local APIC Timer frequency as + * well as the TSC frequency. + */ + +/* Local APIC timer frequency MSR (HV_X64_MSR_APIC_FREQUENCY) is available */ +#define HV_X64_MSR_APIC_FREQUENCY_AVAILABLE (1 << 11) + +/* TSC frequency MSR (HV_X64_MSR_TSC_FREQUENCY) is available */ +#define HV_X64_MSR_TSC_FREQUENCY_AVAILABLE (1 << 11) +  /*   * Basic SynIC MSRs (HV_X64_MSR_SCONTROL through HV_X64_MSR_EOM   * and HV_X64_MSR_SINT0 through HV_X64_MSR_SINT15) available @@ -136,6 +152,12 @@  /* MSR used to read the per-partition time reference counter */  #define HV_X64_MSR_TIME_REF_COUNT		0x40000020 +/* MSR used to retrieve the TSC frequency */ +#define HV_X64_MSR_TSC_FREQUENCY		0x40000022 + +/* MSR used to retrieve the local APIC timer frequency */ +#define HV_X64_MSR_APIC_FREQUENCY		0x40000023 +  /* Define the virtual APIC registers */  #define HV_X64_MSR_EOI				0x40000070  #define HV_X64_MSR_ICR				0x40000071 @@ -179,6 +201,9 @@  #define HV_X64_MSR_APIC_ASSIST_PAGE_ADDRESS_MASK	\  		(~((1ull << HV_X64_MSR_APIC_ASSIST_PAGE_ADDRESS_SHIFT) - 1)) +#define HV_X64_MSR_TSC_REFERENCE_ENABLE		0x00000001 +#define HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT	12 +  #define HV_PROCESSOR_POWER_STATE_C0		0  #define HV_PROCESSOR_POWER_STATE_C1		1  #define HV_PROCESSOR_POWER_STATE_C2		2 @@ -191,4 +216,11 @@  #define HV_STATUS_INVALID_ALIGNMENT		4  #define HV_STATUS_INSUFFICIENT_BUFFERS		19 +typedef struct _HV_REFERENCE_TSC_PAGE { +	__u32 tsc_sequence; +	__u32 res1; +	__u64 tsc_scale; +	__s64 tsc_offset; +} HV_REFERENCE_TSC_PAGE, *PHV_REFERENCE_TSC_PAGE; +  #endif diff --git a/arch/x86/include/uapi/asm/kvm.h b/arch/x86/include/uapi/asm/kvm.h index 5d9a3033b3d..d3a87780c70 100644 --- a/arch/x86/include/uapi/asm/kvm.h +++ b/arch/x86/include/uapi/asm/kvm.h @@ -211,9 +211,9 @@ struct kvm_cpuid_entry2 {  	__u32 padding[3];  }; -#define KVM_CPUID_FLAG_SIGNIFCANT_INDEX 1 -#define KVM_CPUID_FLAG_STATEFUL_FUNC    2 -#define KVM_CPUID_FLAG_STATE_READ_NEXT  4 +#define KVM_CPUID_FLAG_SIGNIFCANT_INDEX		BIT(0) +#define KVM_CPUID_FLAG_STATEFUL_FUNC		BIT(1) +#define KVM_CPUID_FLAG_STATE_READ_NEXT		BIT(2)  /* for KVM_SET_CPUID2 */  struct kvm_cpuid2 { diff --git a/arch/x86/include/uapi/asm/msr-index.h b/arch/x86/include/uapi/asm/msr-index.h index bb0465090ae..fcf2b3ae1bf 100644 --- a/arch/x86/include/uapi/asm/msr-index.h +++ b/arch/x86/include/uapi/asm/msr-index.h @@ -147,6 +147,8 @@  #define MSR_PP1_ENERGY_STATUS		0x00000641  #define MSR_PP1_POLICY			0x00000642 +#define MSR_CORE_C1_RES			0x00000660 +  #define MSR_AMD64_MC0_MASK		0xc0010044  #define MSR_IA32_MCx_CTL(x)		(MSR_IA32_MC0_CTL + 4*(x)) @@ -182,6 +184,7 @@  #define MSR_AMD64_PATCH_LOADER		0xc0010020  #define MSR_AMD64_OSVW_ID_LENGTH	0xc0010140  #define MSR_AMD64_OSVW_STATUS		0xc0010141 +#define MSR_AMD64_LS_CFG		0xc0011020  #define MSR_AMD64_DC_CFG		0xc0011022  #define MSR_AMD64_BU_CFG2		0xc001102a  #define MSR_AMD64_IBSFETCHCTL		0xc0011030 @@ -292,6 +295,7 @@  #define MSR_SMI_COUNT			0x00000034  #define MSR_IA32_FEATURE_CONTROL        0x0000003a  #define MSR_IA32_TSC_ADJUST             0x0000003b +#define MSR_IA32_BNDCFGS		0x00000d90  #define FEATURE_CONTROL_LOCKED				(1<<0)  #define FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX	(1<<1) @@ -365,33 +369,58 @@  #define THERM_LOG_THRESHOLD1           (1 << 9)  /* MISC_ENABLE bits: architectural */ -#define MSR_IA32_MISC_ENABLE_FAST_STRING	(1ULL << 0) -#define MSR_IA32_MISC_ENABLE_TCC		(1ULL << 1) -#define MSR_IA32_MISC_ENABLE_EMON		(1ULL << 7) -#define MSR_IA32_MISC_ENABLE_BTS_UNAVAIL	(1ULL << 11) -#define MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL	(1ULL << 12) -#define MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP	(1ULL << 16) -#define MSR_IA32_MISC_ENABLE_MWAIT		(1ULL << 18) -#define MSR_IA32_MISC_ENABLE_LIMIT_CPUID	(1ULL << 22) -#define MSR_IA32_MISC_ENABLE_XTPR_DISABLE	(1ULL << 23) -#define MSR_IA32_MISC_ENABLE_XD_DISABLE		(1ULL << 34) +#define MSR_IA32_MISC_ENABLE_FAST_STRING_BIT		0 +#define MSR_IA32_MISC_ENABLE_FAST_STRING		(1ULL << MSR_IA32_MISC_ENABLE_FAST_STRING_BIT) +#define MSR_IA32_MISC_ENABLE_TCC_BIT			1 +#define MSR_IA32_MISC_ENABLE_TCC			(1ULL << MSR_IA32_MISC_ENABLE_TCC_BIT) +#define MSR_IA32_MISC_ENABLE_EMON_BIT			7 +#define MSR_IA32_MISC_ENABLE_EMON			(1ULL << MSR_IA32_MISC_ENABLE_EMON_BIT) +#define MSR_IA32_MISC_ENABLE_BTS_UNAVAIL_BIT		11 +#define MSR_IA32_MISC_ENABLE_BTS_UNAVAIL		(1ULL << MSR_IA32_MISC_ENABLE_BTS_UNAVAIL_BIT) +#define MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL_BIT		12 +#define MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL		(1ULL << MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL_BIT) +#define MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP_BIT	16 +#define MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP		(1ULL << MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP_BIT) +#define MSR_IA32_MISC_ENABLE_MWAIT_BIT			18 +#define MSR_IA32_MISC_ENABLE_MWAIT			(1ULL << MSR_IA32_MISC_ENABLE_MWAIT_BIT) +#define MSR_IA32_MISC_ENABLE_LIMIT_CPUID_BIT		22 +#define MSR_IA32_MISC_ENABLE_LIMIT_CPUID		(1ULL << MSR_IA32_MISC_ENABLE_LIMIT_CPUID_BIT) +#define MSR_IA32_MISC_ENABLE_XTPR_DISABLE_BIT		23 +#define MSR_IA32_MISC_ENABLE_XTPR_DISABLE		(1ULL << MSR_IA32_MISC_ENABLE_XTPR_DISABLE_BIT) +#define MSR_IA32_MISC_ENABLE_XD_DISABLE_BIT		34 +#define MSR_IA32_MISC_ENABLE_XD_DISABLE			(1ULL << MSR_IA32_MISC_ENABLE_XD_DISABLE_BIT)  /* MISC_ENABLE bits: model-specific, meaning may vary from core to core */ -#define MSR_IA32_MISC_ENABLE_X87_COMPAT		(1ULL << 2) -#define MSR_IA32_MISC_ENABLE_TM1		(1ULL << 3) -#define MSR_IA32_MISC_ENABLE_SPLIT_LOCK_DISABLE	(1ULL << 4) -#define MSR_IA32_MISC_ENABLE_L3CACHE_DISABLE	(1ULL << 6) -#define MSR_IA32_MISC_ENABLE_SUPPRESS_LOCK	(1ULL << 8) -#define MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE	(1ULL << 9) -#define MSR_IA32_MISC_ENABLE_FERR		(1ULL << 10) -#define MSR_IA32_MISC_ENABLE_FERR_MULTIPLEX	(1ULL << 10) -#define MSR_IA32_MISC_ENABLE_TM2		(1ULL << 13) -#define MSR_IA32_MISC_ENABLE_ADJ_PREF_DISABLE	(1ULL << 19) -#define MSR_IA32_MISC_ENABLE_SPEEDSTEP_LOCK	(1ULL << 20) -#define MSR_IA32_MISC_ENABLE_L1D_CONTEXT	(1ULL << 24) -#define MSR_IA32_MISC_ENABLE_DCU_PREF_DISABLE	(1ULL << 37) -#define MSR_IA32_MISC_ENABLE_TURBO_DISABLE	(1ULL << 38) -#define MSR_IA32_MISC_ENABLE_IP_PREF_DISABLE	(1ULL << 39) +#define MSR_IA32_MISC_ENABLE_X87_COMPAT_BIT		2 +#define MSR_IA32_MISC_ENABLE_X87_COMPAT			(1ULL << MSR_IA32_MISC_ENABLE_X87_COMPAT_BIT) +#define MSR_IA32_MISC_ENABLE_TM1_BIT			3 +#define MSR_IA32_MISC_ENABLE_TM1			(1ULL << MSR_IA32_MISC_ENABLE_TM1_BIT) +#define MSR_IA32_MISC_ENABLE_SPLIT_LOCK_DISABLE_BIT	4 +#define MSR_IA32_MISC_ENABLE_SPLIT_LOCK_DISABLE		(1ULL << MSR_IA32_MISC_ENABLE_SPLIT_LOCK_DISABLE_BIT) +#define MSR_IA32_MISC_ENABLE_L3CACHE_DISABLE_BIT	6 +#define MSR_IA32_MISC_ENABLE_L3CACHE_DISABLE		(1ULL << MSR_IA32_MISC_ENABLE_L3CACHE_DISABLE_BIT) +#define MSR_IA32_MISC_ENABLE_SUPPRESS_LOCK_BIT		8 +#define MSR_IA32_MISC_ENABLE_SUPPRESS_LOCK		(1ULL << MSR_IA32_MISC_ENABLE_SUPPRESS_LOCK_BIT) +#define MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE_BIT	9 +#define MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE		(1ULL << MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE_BIT) +#define MSR_IA32_MISC_ENABLE_FERR_BIT			10 +#define MSR_IA32_MISC_ENABLE_FERR			(1ULL << MSR_IA32_MISC_ENABLE_FERR_BIT) +#define MSR_IA32_MISC_ENABLE_FERR_MULTIPLEX_BIT		10 +#define MSR_IA32_MISC_ENABLE_FERR_MULTIPLEX		(1ULL << MSR_IA32_MISC_ENABLE_FERR_MULTIPLEX_BIT) +#define MSR_IA32_MISC_ENABLE_TM2_BIT			13 +#define MSR_IA32_MISC_ENABLE_TM2			(1ULL << MSR_IA32_MISC_ENABLE_TM2_BIT) +#define MSR_IA32_MISC_ENABLE_ADJ_PREF_DISABLE_BIT	19 +#define MSR_IA32_MISC_ENABLE_ADJ_PREF_DISABLE		(1ULL << MSR_IA32_MISC_ENABLE_ADJ_PREF_DISABLE_BIT) +#define MSR_IA32_MISC_ENABLE_SPEEDSTEP_LOCK_BIT		20 +#define MSR_IA32_MISC_ENABLE_SPEEDSTEP_LOCK		(1ULL << MSR_IA32_MISC_ENABLE_SPEEDSTEP_LOCK_BIT) +#define MSR_IA32_MISC_ENABLE_L1D_CONTEXT_BIT		24 +#define MSR_IA32_MISC_ENABLE_L1D_CONTEXT		(1ULL << MSR_IA32_MISC_ENABLE_L1D_CONTEXT_BIT) +#define MSR_IA32_MISC_ENABLE_DCU_PREF_DISABLE_BIT	37 +#define MSR_IA32_MISC_ENABLE_DCU_PREF_DISABLE		(1ULL << MSR_IA32_MISC_ENABLE_DCU_PREF_DISABLE_BIT) +#define MSR_IA32_MISC_ENABLE_TURBO_DISABLE_BIT		38 +#define MSR_IA32_MISC_ENABLE_TURBO_DISABLE		(1ULL << MSR_IA32_MISC_ENABLE_TURBO_DISABLE_BIT) +#define MSR_IA32_MISC_ENABLE_IP_PREF_DISABLE_BIT	39 +#define MSR_IA32_MISC_ENABLE_IP_PREF_DISABLE		(1ULL << MSR_IA32_MISC_ENABLE_IP_PREF_DISABLE_BIT)  #define MSR_IA32_TSC_DEADLINE		0x000006E0 @@ -525,6 +554,7 @@  #define MSR_IA32_VMX_TRUE_PROCBASED_CTLS 0x0000048e  #define MSR_IA32_VMX_TRUE_EXIT_CTLS      0x0000048f  #define MSR_IA32_VMX_TRUE_ENTRY_CTLS     0x00000490 +#define MSR_IA32_VMX_VMFUNC             0x00000491  /* VMX_BASIC bits and bitmasks */  #define VMX_BASIC_VMCS_SIZE_SHIFT	32 @@ -536,6 +566,7 @@  /* MSR_IA32_VMX_MISC bits */  #define MSR_IA32_VMX_MISC_VMWRITE_SHADOW_RO_FIELDS (1ULL << 29) +#define MSR_IA32_VMX_MISC_PREEMPTION_TIMER_SCALE   0x1F  /* AMD-V MSRs */  #define MSR_VM_CR                       0xc0010114 diff --git a/arch/x86/include/uapi/asm/sembuf.h b/arch/x86/include/uapi/asm/sembuf.h index ee50c801f7b..cc2d6a3aeae 100644 --- a/arch/x86/include/uapi/asm/sembuf.h +++ b/arch/x86/include/uapi/asm/sembuf.h @@ -13,12 +13,12 @@  struct semid64_ds {  	struct ipc64_perm sem_perm;	/* permissions .. see ipc.h */  	__kernel_time_t	sem_otime;	/* last semop time */ -	unsigned long	__unused1; +	__kernel_ulong_t __unused1;  	__kernel_time_t	sem_ctime;	/* last change time */ -	unsigned long	__unused2; -	unsigned long	sem_nsems;	/* no. of semaphores in array */ -	unsigned long	__unused3; -	unsigned long	__unused4; +	__kernel_ulong_t __unused2; +	__kernel_ulong_t sem_nsems;	/* no. of semaphores in array */ +	__kernel_ulong_t __unused3; +	__kernel_ulong_t __unused4;  };  #endif /* _ASM_X86_SEMBUF_H */ diff --git a/arch/x86/include/uapi/asm/stat.h b/arch/x86/include/uapi/asm/stat.h index 7b3ddc34858..bc03eb5d636 100644 --- a/arch/x86/include/uapi/asm/stat.h +++ b/arch/x86/include/uapi/asm/stat.h @@ -1,6 +1,8 @@  #ifndef _ASM_X86_STAT_H  #define _ASM_X86_STAT_H +#include <asm/posix_types.h> +  #define STAT_HAVE_NSEC 1  #ifdef __i386__ @@ -78,26 +80,26 @@ struct stat64 {  #else /* __i386__ */  struct stat { -	unsigned long	st_dev; -	unsigned long	st_ino; -	unsigned long	st_nlink; - -	unsigned int	st_mode; -	unsigned int	st_uid; -	unsigned int	st_gid; -	unsigned int	__pad0; -	unsigned long	st_rdev; -	long		st_size; -	long		st_blksize; -	long		st_blocks;	/* Number 512-byte blocks allocated. */ - -	unsigned long	st_atime; -	unsigned long	st_atime_nsec; -	unsigned long	st_mtime; -	unsigned long	st_mtime_nsec; -	unsigned long	st_ctime; -	unsigned long   st_ctime_nsec; -	long		__unused[3]; +	__kernel_ulong_t	st_dev; +	__kernel_ulong_t	st_ino; +	__kernel_ulong_t	st_nlink; + +	unsigned int		st_mode; +	unsigned int		st_uid; +	unsigned int		st_gid; +	unsigned int		__pad0; +	__kernel_ulong_t	st_rdev; +	__kernel_long_t		st_size; +	__kernel_long_t		st_blksize; +	__kernel_long_t		st_blocks;	/* Number 512-byte blocks allocated. */ + +	__kernel_ulong_t	st_atime; +	__kernel_ulong_t	st_atime_nsec; +	__kernel_ulong_t	st_mtime; +	__kernel_ulong_t	st_mtime_nsec; +	__kernel_ulong_t	st_ctime; +	__kernel_ulong_t	st_ctime_nsec; +	__kernel_long_t		__unused[3];  };  /* We don't need to memset the whole thing just to initialize the padding */ diff --git a/arch/x86/include/uapi/asm/vsyscall.h b/arch/x86/include/uapi/asm/vsyscall.h index 85dc1b3825a..b97dd6e263d 100644 --- a/arch/x86/include/uapi/asm/vsyscall.h +++ b/arch/x86/include/uapi/asm/vsyscall.h @@ -7,11 +7,6 @@ enum vsyscall_num {  	__NR_vgetcpu,  }; -#define VSYSCALL_START (-10UL << 20) -#define VSYSCALL_SIZE 1024 -#define VSYSCALL_END (-2UL << 20) -#define VSYSCALL_MAPPED_PAGES 1 -#define VSYSCALL_ADDR(vsyscall_nr) (VSYSCALL_START+VSYSCALL_SIZE*(vsyscall_nr)) - +#define VSYSCALL_ADDR (-10UL << 20)  #endif /* _UAPI_ASM_X86_VSYSCALL_H */  | 
