15 #include <soc/iomap.h>
16 #include <soc/soc_util.h>
48 for (slot = 0; slot < 0x20; slot++) {
49 for (func = 0; func < 8; func++) {
55 if (
val == 0xffffffff ||
val == 0x00000000 ||
56 val == 0x0000ffff ||
val == 0xffff0000)
89 slp_typ = (reg32 >> 10) & 7;
155 em64t100_smm_state_save_area_t *
state;
159 for (node = 0; node < CONFIG_MAX_CPUS; node++) {
163 if (!(
state->io_misc_info & (1 << 0)))
167 if (
state->io_misc_info & (1 << 4))
175 if ((
state->rax & 0xff) != cmd)
186 static int finalize_done;
194 if (
CONFIG(SPI_FLASH_SMM))
202 em64t100_smm_state_save_area_t *io_smi =
209 sub_command = (io_smi->rax >> 8) & 0xff;
212 reg_ebx = io_smi->rbx;
335 if (!(smi_sts & (1 << i)))
342 "handler available.\n",
static __always_inline void hlt(void)
uint16_t clear_pm1_status(void)
void enable_pm1_control(uint32_t mask)
void disable_smi(uint32_t mask)
void enable_smi(uint32_t mask)
uint32_t clear_gpe_status(void)
void disable_pm1_control(uint32_t mask)
void disable_all_gpe(void)
uint32_t clear_tco_status(void)
uint32_t clear_smi_status(void)
#define printk(level,...)
void __weak southbridge_smi_handler(void)
void __weak mainboard_smi_sleep(u8 slp_typ)
int __weak mainboard_smi_apmc(u8 data)
void * smm_get_save_state(int cpu)
uint32_t smmstore_exec(uint8_t command, void *param)
#define APM_CNT_ACPI_DISABLE
#define APM_CNT_ACPI_ENABLE
static __always_inline u16 pci_read_config16(const struct device *dev, u16 reg)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
static __always_inline u8 pci_read_config8(const struct device *dev, u16 reg)
static __always_inline void pci_write_config16(const struct device *dev, u16 reg, u16 val)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_SPEW
BIOS_SPEW - Excessively verbose output.
#define PCI_HEADER_TYPE_CARDBUS
#define PCI_COMMAND_MASTER
#define PCI_HEADER_TYPE_BRIDGE
#define PCI_DEV(SEGBUS, DEV, FN)
int southbridge_io_trap_handler(int smif)
const smi_handler_t southbridge_smi[SMI_STS_BITS]
void southbridge_smi_set_eos(void)
void(* smi_handler_t)(void)
static void finalize(void)
static void southbridge_smi_pm1(void)
static void southbridge_smi_store(void)
static em64t100_smm_state_save_area_t * smi_apmc_find_state_save(uint8_t cmd)
static void busmaster_disable_on_bus(int bus)
static void southbridge_smi_apmc(void)
static void southbridge_smi_periodic(void)
static void southbridge_smi_gpe0(void)
static void southbridge_smi_tco(void)
static void southbridge_smi_sleep(void)
typedef void(X86APIP X86EMU_intrFuncs)(int num)