Modules§
Structs§
- AmdC001102d
Msr - Layout for [
AMD_C001102d]. - AmdC0011028
Msr - Layout for
AMD_C0011028. - AmdC0011029
Msr - Layout for
AMD_C0011029. - AmdHardware
Configuration Msr - Layout for
MSRC001_0015. - AmdLoad
Store Configuration Msr - Layout for
AMD_LOAD_STORE_CONFIGURATION. - Apic
IdDecoder ApicIdDecoderis a utility for extracting particular topological level IDs from an (x2)APIC ID.- Arch
Capabilities Msr - Layout for
IA32_ARCH_CAPABILITIES. - Control
Register0 - The layout of
CR0. - Control
Register2 - The layout of
CR2. - Control
Register3 - The layout of
CR3. - Control
Register4 - The layout of
CR4. - Control
Register8 - The layout of
CR8. - Control
Register3 Pcid - The layout of
CR3_PCID. - CpuCache
Info - Gives information on the set of caches in a package.
- CpuCache
Level Info - Represents a single cache.
- Extended
Control Register0 - [intel/vol3]: 2.6 Extended Control Registers
- Misc
Features Msr - Layout for
IA32_MISC_ENABLE. - Speculation
Control Msr - Layout for
SPECULATION_CONTROL. - TsxControl
Msr - Layout for
IA32_TSX_CTRL. - Virtual
Speculation Control Msr - Layout for
VIRTUAL_SPECULATION_CONTROL. - X86Extended
Feature Enable Register Msr - Layout for
IA32_EFER.
Enums§
- Spectre
V2Mitigation - An architecturally prescribed mitigation for Spectre v2.
- Vendor
- Enumeration of vendors.
Constants§
- AMD_
C001102D - [amd/rg/17h/00h-0Fh] references bit 34.
- AMD_
C0011028 - [amd/rg/17h/00h-0Fh] references bit 4.
- AMD_
C0011029 - [amd/rg/17h/00h-0Fh] references bit 13.
- AMD_
LOAD_ STORE_ CONFIGURATION - [amd/ssbd] references bits 10, 33, 54. [amd/rg/17h/00h-0Fh] references bits 4, 57.
- CR0
- [intel/vol3]: 2.5 Control Registers: CR0
- CR2
- [intel/vol3]: 2.5 Control Registers: CR2
- CR3
- [intel/vol3]: 2.5 Control Registers: CR3 without PCID feature
- CR4
- [intel/vol3]: 2.5 Control Registers: CR4
- CR8
- [intel/vol3]: 2.5 Control Registers: CR8
- CR3_
PCID - [intel/vol3]: 2.5 Control Registers: CR3 with CR4.PCIDE enabled
- IA32_
ARCH_ CAPABILITIES - [intel/vol4]: Table 2-2. IA-32 Architectural MSRs (Contd.).
- IA32_
EFER - [intel/vol3]: 2.2.1 Extended Feature Enable Register [amd/vol2]: 3.1.7 Extended Feature Enable Register (EFER)
- IA32_
MISC_ ENABLE - [intel/vol4]: Table 2-3. MSRs in Processors Based on Intel® Core™ Microarchitecture.
- IA32_
TSX_ CTRL - [intel/vol4]: Table 2-2. IA-32 Architectural MSRs (Contd.).
- MSRC001_
0015 - [amd/ppr/17h/01h,08h]: 2.1.14.2 MSRs - MSRC000_0xxx.
- SPECULATION_
CONTROL - Speculation control.
- VIRTUAL_
SPECULATION_ CONTROL - Virtual speculation control (e.g., for hypervisor usage).
Functions§
- apply_
x86_ errata_ workarounds - Applies workarounds to processor-specific errata.
- can_
mitigate_ x86_ mds_ taa_ bugs - Whether the MDS/TAA bugs can be mitigated, which all make use of the same method (MD_CLEAR): https://software.intel.com/security-software-guidance/deep-dives/deep-dive-intel-analysis-microarchitectural-data-sampling#mitigation4processors
- can_
mitigate_ x86_ ssb_ bug - cycles
- Return the current CPU cycle count.
- device_
memory_ barrier - Synchronize all memory accesses of all kinds.
- disable_
tsx - Attempts to disable TSX and returns whether it was successful.
- get_
apic_ id - Returns the APIC ID - x2APIC if supported - associated with the logical
processor in turn associated with the provided
Cpuid. - get_
preferred_ spectre_ v2_ mitigation - Returns the preferred Spectre v2 mitigation strategy.
- has_
ibrs - Whether Indirect Branch Restricted Speculation (IBRS) is supported. The “always on” mode refers to an optimization in which IBRS need only be enabled once; IBRS in this mode are also referred to as “enhanced”.
- has_
stibp - Whether Single Thread Indirect Branch Predictors (STIBP) are supported. The “always on” mode refers to an optimization in which STIBP need only be enabled once.
- has_
x86_ mds_ bugs - Whether the CPU is susceptible to any of the Microarchitectural Data Sampling (MDS) bugs.
- has_
x86_ mds_ taa_ bugs - Whether the CPU is susceptible to any of the MDS or TAA bugs, which are closely related and similarly mitigated.
- has_
x86_ meltdown_ bug - Whether the CPU is susceptible to the Rogue Data Cache Load (Meltdown) bug: https://software.intel.com/security-software-guidance/advisory-guidance/rogue-data-cache-load.
- has_
x86_ ssb_ bug - Whether the CPU is susceptible to the Speculative Store Bypass (SSB) bug: https://software.intel.com/security-software-guidance/advisory-guidance/speculative-store-bypass
- has_
x86_ swapgs_ bug - Whether the CPU is susceptible to swapgs speculation attacks: https://software.intel.com/security-software-guidance/advisory-guidance/speculative-behavior-swapgs-and-segment-registers
- has_
x86_ taa_ bug - Whether the CPU is susceptible to the TSX Asynchronous Abort (TAA) bug.
- mitigate_
x86_ ssb_ bug - Attempt to mitigate the SSB bug. Return true if the bug was successfully mitigated.
- serialize_
instructions - Force the processor to complete all modifications to register state and memory by previous instructions (including draining any buffered writes) before the next instruction is fetched.
- store_
memory_ barrier - Ensure all stores that appear before this barrier (in program order) complete before any stores that appear after this barrier.
- thread_
memory_ barrier - Synchronize the ordering of all memory accesses wrt other CPUs.
- tsx_
is_ supported - yield
- Yield the processor momentarily. This should be used in busy waits.
- yield_
processor - Convenience alias for [
r#yield].