arch/x86/include/asm/cpuid/leaf_types.h

Source file repositories/reference/linux-study-clean/arch/x86/include/asm/cpuid/leaf_types.h

File Facts

System
Linux kernel
Corpus path
arch/x86/include/asm/cpuid/leaf_types.h
Extension
.h
Size
80481 bytes
Lines
2351
Domain
Architecture Layer
Bucket
arch/x86
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct leaf_0x0_0 {
	// eax
	u32	max_std_leaf			: 32; // Highest standard CPUID leaf
	// ebx
	u32	cpu_vendorid_0			: 32; // CPU vendor ID string bytes 0 - 3
	// ecx
	u32	cpu_vendorid_2			: 32; // CPU vendor ID string bytes 8 - 11
	// edx
	u32	cpu_vendorid_1			: 32; // CPU vendor ID string bytes 4 - 7
};

/*
 * Leaf 0x1
 * CPU FMS (Family/Model/Stepping) + standard feature flags
 */

struct leaf_0x1_0 {
	// eax
	u32	stepping			:  4, // Stepping ID
		base_model			:  4, // Base CPU model ID
		base_family_id			:  4, // Base CPU family ID
		cpu_type			:  2, // CPU type
						:  2, // Reserved
		ext_model			:  4, // Extended CPU model ID
		ext_family			:  8, // Extended CPU family ID
						:  4; // Reserved
	// ebx
	u32	brand_id			:  8, // Brand index
		clflush_size			:  8, // CLFLUSH instruction cache line size
		n_logical_cpu			:  8, // Logical CPU count
		local_apic_id			:  8; // Initial local APIC physical ID
	// ecx
	u32	sse3				:  1, // Streaming SIMD Extensions 3 (SSE3)
		pclmulqdq			:  1, // PCLMULQDQ instruction support
		dtes64				:  1, // 64-bit DS save area
		monitor				:  1, // MONITOR/MWAIT support
		dscpl				:  1, // CPL Qualified Debug Store
		vmx				:  1, // Virtual Machine Extensions
		smx				:  1, // Safer Mode Extensions
		est				:  1, // Enhanced Intel SpeedStep
		tm2				:  1, // Thermal Monitor 2
		ssse3				:  1, // Supplemental SSE3
		cntxt_id			:  1, // L1 Context ID
		sdbg				:  1, // Silicon Debug
		fma				:  1, // FMA extensions using YMM state
		cx16				:  1, // CMPXCHG16B instruction support
		xtpr_update			:  1, // xTPR Update Control
		pdcm				:  1, // Perfmon and Debug Capability
						:  1, // Reserved
		pcid				:  1, // Process-context identifiers
		dca				:  1, // Direct Cache Access
		sse4_1				:  1, // SSE4.1
		sse4_2				:  1, // SSE4.2
		x2apic				:  1, // X2APIC support
		movbe				:  1, // MOVBE instruction support
		popcnt				:  1, // POPCNT instruction support
		tsc_deadline_timer		:  1, // APIC timer one-shot operation
		aes				:  1, // AES instructions
		xsave				:  1, // XSAVE (and related instructions) support
		osxsave				:  1, // XSAVE (and related instructions) are enabled by OS
		avx				:  1, // AVX instructions support
		f16c				:  1, // Half-precision floating-point conversion support
		rdrand				:  1, // RDRAND instruction support
		guest_status			:  1; // System is running as guest; (para-)virtualized system
	// edx
	u32	fpu				:  1, // Floating-Point Unit on-chip (x87)
		vme				:  1, // Virtual-8086 Mode Extensions
		de				:  1, // Debugging Extensions
		pse				:  1, // Page Size Extension
		tsc				:  1, // Time Stamp Counter
		msr				:  1, // Model-Specific Registers (RDMSR and WRMSR support)
		pae				:  1, // Physical Address Extensions
		mce				:  1, // Machine Check Exception
		cx8				:  1, // CMPXCHG8B instruction
		apic				:  1, // APIC on-chip
						:  1, // Reserved
		sep				:  1, // SYSENTER, SYSEXIT, and associated MSRs
		mtrr				:  1, // Memory Type Range Registers
		pge				:  1, // Page Global Extensions
		mca				:  1, // Machine Check Architecture
		cmov				:  1, // Conditional Move Instruction
		pat				:  1, // Page Attribute Table
		pse36				:  1, // Page Size Extension (36-bit)
		psn				:  1, // Processor Serial Number
		clflush				:  1, // CLFLUSH instruction
						:  1, // Reserved
		ds				:  1, // Debug Store
		acpi				:  1, // Thermal monitor and clock control
		mmx				:  1, // MMX instructions
		fxsr				:  1, // FXSAVE and FXRSTOR instructions

Annotation

Implementation Notes