|
iPXE
|
Microcode updates. More...
Go to the source code of this file.
Data Structures | |
| struct | ucode_control |
| A microcode update control. More... | |
| struct | ucode_descriptor |
| A microcode update descriptor. More... | |
| struct | ucode_status |
| A microcode update status report. More... | |
| struct | ucode_date |
| A microcode date. More... | |
| struct | intel_ucode_header |
| An Intel microcode update file header. More... | |
| struct | intel_ucode_ext_header |
| An Intel microcode update file extended header. More... | |
| struct | intel_ucode_ext |
| An Intel microcode extended signature. More... | |
| struct | amd_ucode_header |
| An AMD microcode update file header. More... | |
| struct | amd_ucode_equivalence |
| An AMD microcode equivalence table entry. More... | |
| struct | amd_ucode_patch_header |
| An AMD microcode patch header. More... | |
| struct | amd_ucode_patch |
| An AMD microcode patch. More... | |
Macros | |
| #define | MSR_PLATFORM_ID 0x00000017UL |
| Platform ID MSR. More... | |
| #define | MSR_PLATFORM_ID_VALUE(value) ( ( (value) >> 50 ) & 0x7 ) |
| Extract platform ID from MSR value. More... | |
| #define | MSR_UCODE_TRIGGER_INTEL 0x00000079UL |
| Intel microcode load trigger MSR. More... | |
| #define | MSR_UCODE_TRIGGER_AMD 0xc0010020UL |
| AMD microcode load trigger MSR. More... | |
| #define | UCODE_SIGNATURE_MASK 0xfffffff0UL |
| CPUID signature applicability mask. More... | |
| #define | UCODE_VERSION_MIN -0x80000000L |
| Minimum possible microcode version. More... | |
| #define | UCODE_VERSION_MAX 0x7fffffffL |
| Maximum possible microcode version. More... | |
| #define | INTEL_UCODE_HVER 0x00000001UL |
| Intel microcode header version number. More... | |
| #define | INTEL_UCODE_LVER 0x00000001UL |
| Intel microcode loader version number. More... | |
| #define | INTEL_UCODE_DATA_LEN 2000 |
| Intel microcode default data length. More... | |
| #define | INTEL_UCODE_ALIGN 1024 |
| Intel microcode file alignment. More... | |
| #define | AMD_UCODE_MAGIC ( ( 'A' << 16 ) | ( 'M' << 8 ) | ( 'D' << 0 ) ) |
| AMD microcode magic signature. More... | |
| #define | AMD_UCODE_EQUIV_TYPE 0x00000000UL |
| AMD microcode equivalence table type. More... | |
| #define | AMD_UCODE_PATCH_TYPE 0x00000001UL |
| AMD patch type. More... | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| struct ucode_control | __attribute__ ((packed)) |
Variables | |
| uint64_t | desc |
| Microcode descriptor list physical address. More... | |
| uint64_t | status |
| Microcode status array physical address. More... | |
| uint32_t | trigger_msr |
| Microcode load trigger MSR. More... | |
| uint32_t | apic_max |
| Maximum expected APIC ID. More... | |
| uint32_t | apic_unexpected |
| Unexpected APIC ID. More... | |
| uint32_t | apic_mask |
| APIC ID eligibility mask bits. More... | |
| uint32_t | apic_test |
| APIC ID eligibility test bits. More... | |
| uint8_t | ver_clear |
| Microcode version requires manual clear. More... | |
| uint8_t | ver_high |
| Microcode version is reported via high dword. More... | |
| uint32_t | signature |
| CPUID signature (or 0 to terminate list) More... | |
| int32_t | version |
| Microcode version. More... | |
| uint64_t | address |
| Microcode physical address. More... | |
| uint32_t | id |
| APIC ID (for sanity checking) More... | |
| int32_t | before |
| Initial microcode version. More... | |
| int32_t | after |
| Final microcode version. More... | |
| uint8_t | year |
| Year (BCD) More... | |
| uint8_t | century |
| Century (BCD) More... | |
| uint8_t | day |
| Day (BCD) More... | |
| uint8_t | month |
| Month (BCD) More... | |
| uint32_t | hver |
| Header version number. More... | |
| struct ucode_date | date |
| Date. More... | |
| uint32_t | checksum |
| Checksum. More... | |
| uint32_t | lver |
| Loader version. More... | |
| uint32_t | platforms |
| Supported platforms. More... | |
| uint32_t | data_len |
| Microcode data size (or 0 to indicate 2000 bytes) More... | |
| uint32_t | len |
| Total size (or 0 to indicate 2048 bytes) More... | |
| uint8_t | reserved [12] |
| Reserved. More... | |
| uint32_t | count |
| Extended signature count. More... | |
| uint32_t | magic |
| Magic signature. More... | |
| uint32_t | type |
| Equivalence table type. More... | |
| uint8_t | reserved_a [8] |
| Reserved. More... | |
| uint8_t | reserved_b [2] |
| Reserved. More... | |
| mp_func_t | ucode_update |
Microcode updates.
Definition in file ucode.h.
| #define MSR_UCODE_TRIGGER_INTEL 0x00000079UL |
| #define MSR_UCODE_TRIGGER_AMD 0xc0010020UL |
| #define UCODE_SIGNATURE_MASK 0xfffffff0UL |
| #define UCODE_VERSION_MIN -0x80000000L |
| #define UCODE_VERSION_MAX 0x7fffffffL |
| #define INTEL_UCODE_HVER 0x00000001UL |
| #define INTEL_UCODE_LVER 0x00000001UL |
| #define INTEL_UCODE_DATA_LEN 2000 |
| #define INTEL_UCODE_ALIGN 1024 |
| #define AMD_UCODE_MAGIC ( ( 'A' << 16 ) | ( 'M' << 8 ) | ( 'D' << 0 ) ) |
| #define AMD_UCODE_EQUIV_TYPE 0x00000000UL |
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
| struct ucode_control __attribute__ | ( | (packed) | ) |
| uint32_t apic_max |
| uint32_t apic_unexpected |
| uint8_t ver_high |
| uint32_t signature |
| int32_t before |
Initial microcode version.
Definition at line 16 of file ucode.h.
Referenced by efi_get_noise(), ehci_periodic_add(), ipv4_add_miniroute(), peerblk_retrieval_rx(), rdtsc_probe(), register_sandev(), rtc_get_noise(), uhci_periodic_add(), uheap_find(), and undinet_call().
| int32_t after |
Final microcode version.
Definition at line 18 of file ucode.h.
Referenced by efi_get_noise(), peerblk_retrieval_rx(), rdtsc_probe(), rtc_get_noise(), uheap_find(), and undinet_call().
| uint8_t year |
| uint8_t century |
| uint8_t day |
| uint8_t month |
| struct ucode_date date |
| uint32_t platforms |
| uint32_t data_len |
Microcode data size (or 0 to indicate 2000 bytes)
Definition at line 26 of file ucode.h.
Referenced by aoecmd_ata_rsp(), atacmd_data_buffer(), atacmd_data_priv(), bnxt_hwrm_nvm_get_variable_req(), dhcp_deliver(), dhcpv6_option(), iscsi_rx_scsi_response(), peerblk_parse_block(), prf_sha1(), rndis_rx_data(), tftp_rx_data(), tls_newdata_process_header(), and ucode_parse_intel().
| uint32_t len |
1.8.15