![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
Go to the source code of this file.
Data Structures | |
struct | smm_relocation_params |
struct | ied_header |
Macros | |
#define | MSR_PRMRR_PHYS_BASE 0x1f4 |
#define | MSR_PRMRR_PHYS_MASK 0x1f5 |
#define | MSR_UNCORE_PRMRR_PHYS_BASE 0x2f4 |
#define | MSR_UNCORE_PRMRR_PHYS_MASK 0x2f5 |
Functions | |
void | northbridge_write_smram (u8 smram) |
void | smm_lock (void) |
void | smm_relocate (void) |
void | smm_southbridge_clear_state (void) |
void | smm_initialize (void) |
void | smm_info (uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size) |
void | smm_relocation_handler (int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase) |
bool | cpu_has_alternative_smrr (void) |
static void | write_smrr (struct smm_relocation_params *relo_params) |
static void | write_prmrr (struct smm_relocation_params *relo_params) |
static void | write_uncore_prmrr (struct smm_relocation_params *relo_params) |
Variables | |
struct smm_relocation_params | smm_reloc_params |
struct ied_header | __packed |
#define MSR_PRMRR_PHYS_BASE 0x1f4 |
Definition at line 54 of file smm_reloc.h.
#define MSR_PRMRR_PHYS_MASK 0x1f5 |
Definition at line 55 of file smm_reloc.h.
#define MSR_UNCORE_PRMRR_PHYS_BASE 0x2f4 |
Definition at line 56 of file smm_reloc.h.
#define MSR_UNCORE_PRMRR_PHYS_MASK 0x2f5 |
Definition at line 57 of file smm_reloc.h.
Definition at line 31 of file smmrelocate.c.
References c, cpuid_eax(), and get_fms().
Referenced by fill_in_relocation_params(), per_cpu_smm_trigger(), and smm_relocation_handler().
Definition at line 27 of file memmap.c.
References PCI_DEV, pci_write_config8(), and SMRAMC.
Referenced by smm_lock().
Definition at line 213 of file smmrelocate.c.
References BIOS_DEBUG, fill_in_relocation_params(), smm_relocation_params::ied_size, printk, setup_ied_area(), smm_reloc_params, smm_subregion(), and SMM_SUBREGION_HANDLER.
Definition at line 227 of file smmrelocate.c.
References BIOS_DEBUG, printk, smm_initiate_relocation(), smm_reloc_params, smm_relocation_params::smm_save_state_in_msrs, and smm_southbridge_clear_state().
Referenced by pre_mp_smm_init().
Definition at line 261 of file smmrelocate.c.
References BIOS_DEBUG, C_BASE_SEG, D_LCK, ESMRAMC, G_SMRAME, northbridge_write_smram(), PCI_DEV, pci_or_config8(), pci_write_config8(), pcidev_on_root(), pcidev_path_on_root(), printk, SA_DEVFN_ROOT, SMRAM, SMRAMC, and T_EN.
Referenced by post_mp_init().
Definition at line 247 of file smmrelocate.c.
References boot_cpu(), smm_initiate_relocation(), smm_initiate_relocation_parallel(), smm_reloc_params, and smm_relocation_params::smm_save_state_in_msrs.
Referenced by per_cpu_smm_trigger().
Definition at line 90 of file smmrelocate.c.
Definition at line 22 of file smm.c.
References ACPI_BASE_ADDRESS, APMC_EN, BIOS_DEBUG, BIOS_INFO, BIOS_SPEW, clear_alt_status(), clear_gpe_status(), clear_pm1_status(), clear_pmc_status(), clear_smi_status(), clear_tco_status(), CONFIG, get_pmbase(), inl(), pch_log_state(), pmc_clear_all_gpe_status(), pmc_clear_pm1_status(), pmc_clear_smi_status(), pmc_clear_tco_status(), pmc_get_smi_en(), printk, reset_gpe0_status(), reset_pm1_status(), reset_smi_status(), reset_tco_status(), SMI_EN, smi_enabled(), and southcluster_log_state().
Referenced by smm_initialize().
|
inlinestatic |
Definition at line 67 of file smm_reloc.h.
References BIOS_DEBUG, msr_struct::lo, MSR_PRMRR_PHYS_BASE, MSR_PRMRR_PHYS_MASK, printk, smm_relocation_params::prmrr_base, smm_relocation_params::prmrr_mask, and wrmsr().
Referenced by smm_relocation_handler().
|
inlinestatic |
Definition at line 59 of file smm_reloc.h.
References BIOS_DEBUG, IA32_SMRR_PHYS_BASE, IA32_SMRR_PHYS_MASK, msr_struct::lo, printk, smm_relocation_params::smrr_base, smm_relocation_params::smrr_mask, and wrmsr().
Referenced by smm_relocation_handler().
|
inlinestatic |
Definition at line 75 of file smm_reloc.h.
References BIOS_DEBUG, msr_struct::lo, MSR_UNCORE_PRMRR_PHYS_BASE, MSR_UNCORE_PRMRR_PHYS_MASK, printk, smm_relocation_params::uncore_prmrr_base, smm_relocation_params::uncore_prmrr_mask, and wrmsr().
Referenced by smm_relocation_handler().
struct ied_header __packed |
|
extern |
Definition at line 1 of file smm_reloc.c.
Referenced by get_smm_info(), relocation_handler(), smm_info(), smm_initialize(), smm_relocate(), and smm_relocation_handler().