![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <stdint.h>
#include <arch/hlt.h>
#include <arch/io.h>
#include <device/pci_ops.h>
#include <console/console.h>
#include <cpu/x86/cache.h>
#include <cpu/x86/smm.h>
#include <cpu/intel/em64t100_save_state.h>
#include <device/pci_def.h>
#include <intelblocks/fast_spi.h>
#include <smmstore.h>
#include <spi-generic.h>
#include <soc/iomap.h>
#include <soc/soc_util.h>
#include <soc/pm.h>
#include <soc/nvs.h>
Go to the source code of this file.
Typedefs | |
typedef void(* | smi_handler_t) (void) |
Functions | |
int | southbridge_io_trap_handler (int smif) |
void | southbridge_smi_set_eos (void) |
Set the EOS bit. More... | |
static void | busmaster_disable_on_bus (int bus) |
static void | southbridge_smi_sleep (void) |
static em64t100_smm_state_save_area_t * | smi_apmc_find_state_save (uint8_t cmd) |
static void | finalize (void) |
static void | southbridge_smi_store (void) |
static void | southbridge_smi_apmc (void) |
static void | southbridge_smi_pm1 (void) |
static void | southbridge_smi_gpe0 (void) |
static void | southbridge_smi_tco (void) |
static void | southbridge_smi_periodic (void) |
void | southbridge_smi_handler (void) |
Interrupt handler for SMI#. More... | |
Variables | |
static const smi_handler_t | southbridge_smi [32] |
Definition at line 286 of file smihandler.c.
|
static |
Definition at line 42 of file smihandler.c.
References PCI_COMMAND, PCI_COMMAND_MASTER, PCI_DEV, PCI_HEADER_TYPE, PCI_HEADER_TYPE_BRIDGE, PCI_HEADER_TYPE_CARDBUS, PCI_PRIMARY_BUS, pci_read_config16(), pci_read_config32(), pci_read_config8(), PCI_VENDOR_ID, pci_write_config16(), and val.
Referenced by southbridge_smi_sleep().
Definition at line 184 of file smihandler.c.
References BIOS_DEBUG, CONFIG, fast_spi_init(), and printk.
Referenced by southbridge_smi_apmc().
|
static |
Definition at line 153 of file smihandler.c.
References APM_CNT, NULL, and smm_get_save_state().
Referenced by southbridge_smi_store().
int southbridge_io_trap_handler | ( | int | smif | ) |
Definition at line 20 of file smihandler.c.
References BIOS_DEBUG, gnvs, printk, and global_nvs::smif.
Definition at line 219 of file smihandler.c.
References APM_CNT_ACPI_DISABLE, APM_CNT_ACPI_ENABLE, APM_CNT_FINALIZE, APM_CNT_SMMSTORE, apm_get_apmc(), CONFIG, disable_pm1_control(), enable_pm1_control(), finalize(), mainboard_smi_apmc(), SCI_EN, and southbridge_smi_store().
Definition at line 257 of file smihandler.c.
References clear_gpe_status().
Interrupt handler for SMI#.
Definition at line 323 of file smihandler.c.
References ARRAY_SIZE, BIOS_DEBUG, clear_smi_status(), NULL, printk, and southbridge_smi.
Definition at line 273 of file smihandler.c.
References BIOS_DEBUG, get_pmbase(), inl(), PERIODIC_EN, printk, and SMI_EN.
Definition at line 243 of file smihandler.c.
References clear_pm1_status(), disable_pm1_control(), enable_pm1_control(), PWRBTN_STS, SLP_EN, SLP_TYP_S5, and SLP_TYP_SHIFT.
Set the EOS bit.
Definition at line 37 of file smihandler.c.
References enable_smi(), and EOS.
Definition at line 77 of file smihandler.c.
References BIOS_DEBUG, BIOS_SPEW, busmaster_disable_on_bus(), disable_all_gpe(), disable_pm1_control(), disable_smi(), enable_pm1_control(), get_pmbase(), hlt(), inl(), mainboard_smi_sleep(), PM1_CNT, pmbase, printk, SCI_EN, SLP_EN, SLP_SMI_EN, SLP_TYP, SLP_TYP_S0, SLP_TYP_S1, SLP_TYP_S3, SLP_TYP_S4, SLP_TYP_S5, and wbinvd().
Definition at line 199 of file smihandler.c.
References APM_CNT_SMMSTORE, smi_apmc_find_state_save(), and smmstore_exec().
Referenced by southbridge_smi_apmc().
Definition at line 259 of file smihandler.c.
References BIOS_DEBUG, clear_tco_status(), printk, and TCO1_STS_TIMEOUT.
|
static |
Definition at line 288 of file smihandler.c.