![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <arch/io.h>
#include <console/cbmem_console.h>
#include <console/console.h>
#include <commonlib/region.h>
#include <cpu/x86/smm.h>
#include <rmodule.h>
Go to the source code of this file.
Enumerations | |
enum | smi_semaphore { SMI_LOCKED , SMI_UNLOCKED , SMI_LOCKED , SMI_UNLOCKED } |
Variables | |
static int | do_driver_init = 1 |
static volatile smi_semaphore | smi_handler_status = SMI_UNLOCKED |
static u32 | pci_orig |
struct global_nvs * | gnvs |
enum smi_semaphore |
Enumerator | |
---|---|
SMI_LOCKED | |
SMI_UNLOCKED | |
SMI_LOCKED | |
SMI_UNLOCKED |
Definition at line 16 of file smm_module_handler.c.
|
static |
Definition at line 23 of file smm_module_handler.c.
References smi_handler_status, SMI_LOCKED, and SMI_UNLOCKED.
Definition at line 206 of file smm_module_handler.c.
Referenced by smm_handler_start().
void io_trap_handler | ( | int | smif | ) |
Definition at line 58 of file smm_module_handler.c.
References BIOS_DEBUG, mainboard_io_trap_handler(), printk, and southbridge_io_trap_handler().
int __weak mainboard_io_trap_handler | ( | int | smif | ) |
Definition at line 205 of file smm_module_handler.c.
Referenced by io_trap_handler().
Definition at line 210 of file smm_module_handler.c.
Definition at line 212 of file smm_module_handler.c.
Definition at line 209 of file smm_module_handler.c.
Definition at line 211 of file smm_module_handler.c.
Definition at line 207 of file smm_module_handler.c.
Referenced by smm_handler_start().
RMODULE_ENTRY | ( | smm_handler_start | ) |
Backup PCI address to make sure we do not mess up the OS.
Definition at line 87 of file smm_module_handler.c.
References inl(), and pci_orig.
Referenced by smm_handler_start().
Definition at line 41 of file smm_module_handler.c.
References smi_handler_status, and SMI_UNLOCKED.
Referenced by smm_handler_start().
Restore PCI address previously backed up.
Definition at line 95 of file smm_module_handler.c.
References outl(), and pci_orig.
Referenced by smm_handler_start().
Set the EOS bit.
Definition at line 77 of file smm_module_handler.c.
References southbridge_smi_set_eos().
Referenced by smm_handler_start().
Definition at line 52 of file smm_module_handler.c.
References smm_runtime::cbmemc, and smm_runtime::cbmemc_size.
Referenced by cbmemc_init().
void* smm_get_save_state | ( | int | cpu | ) |
Definition at line 102 of file smm_module_handler.c.
References NULL, smm_runtime::num_cpus, smm_runtime::save_state_size, and smm_runtime::save_state_top.
Referenced by smm_revision().
asmlinkage void smm_handler_start | ( | void * | arg | ) |
Definition at line 126 of file smm_module_handler.c.
References arg, BIOS_DEBUG, BIOS_SPEW, smm_module_params::canary, CONFIG, console_init(), smm_module_params::cpu, cpu_smi_handler(), DEBUG_SMI, die(), do_driver_init, gnvs, smm_runtime::gnvs_ptr, northbridge_smi_handler(), printk, smi_backup_pci_address(), smi_handler_status, SMI_LOCKED, smi_obtain_lock(), smi_release_lock(), smi_restore_pci_address(), smi_set_eos(), smm_soc_early_init(), smm_soc_exit(), southbridge_smi_handler(), and spi_init().
Definition at line 118 of file smm_module_handler.c.
References region_overlap(), smm_runtime::smbase, SMM_BASE, SMM_DEFAULT_SIZE, and smm_runtime::smm_size.
Referenced by smm_points_to_smram().
Definition at line 110 of file smm_module_handler.c.
References save_state, smm_runtime::save_state_size, smm_get_save_state(), and SMM_REVISION_OFFSET_FROM_TOP.
Definition at line 214 of file smm_module_handler.c.
Referenced by smm_handler_start().
Definition at line 215 of file smm_module_handler.c.
Referenced by smm_handler_start().
Definition at line 208 of file smm_module_handler.c.
Referenced by smm_handler_start().
|
static |
Definition at line 14 of file smm_module_handler.c.
Referenced by smm_handler_start().
struct global_nvs* gnvs |
Definition at line 100 of file smm_module_handler.c.
Referenced by acpi_create_serialio_ssdt(), acpi_create_serialio_ssdt_entry(), acpi_get_device_nvs(), acpi_save_wake_source(), ec_smi_handler(), fch_final(), handle_acpi_osys(), hest_create(), hest_get_elog_addr(), mainboard_fill_gnvs(), mainboard_io_trap_handler(), mainboard_smi_apmc(), mainboard_smi_sleep(), nhlt_soc_serialize_oem_overrides(), pm_fill_gnvs(), sa_fill_gnvs(), set_sb_gnvs(), smihandler_southbridge_monitor(), smihandler_southbridge_sleep(), smm_handler_start(), soc_fill_gnvs(), southbridge_io_trap_handler(), southbridge_smi_monitor(), and update_bars().
|
static |
Definition at line 82 of file smm_module_handler.c.
Referenced by smi_backup_pci_address(), and smi_restore_pci_address().
|
static |
Definition at line 20 of file smm_module_handler.c.
Referenced by __attribute(), smi_release_lock(), and smm_handler_start().