coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
smihandler.c File Reference
#include <acpi/acpi.h>
#include <console/console.h>
#include <cpu/x86/smm.h>
#include <ec/google/chromeec/ec.h>
#include <elog.h>
#include <halt.h>
#include "smm.h"
Include dependency graph for smihandler.c:

Go to the source code of this file.

Functions

static int chromeec_process_one_event (void)
 
void chromeec_smi_process_events (void)
 
static void clear_pending_events (void)
 
void chromeec_smi_sleep (int slp_type, uint64_t s3_mask, uint64_t s5_mask)
 
void chromeec_smi_device_event_sleep (int slp_type, uint64_t s3_mask, uint64_t s5_mask)
 
void chromeec_smi_apmc (int apmc, uint64_t sci_mask, uint64_t smi_mask)
 

Function Documentation

◆ chromeec_process_one_event()

static int chromeec_process_one_event ( void  )
static

Definition at line 11 of file smihandler.c.

References BIOS_DEBUG, EC_HOST_EVENT_LID_CLOSED, elog_gsmi_add_event_byte(), ELOG_TYPE_EC_EVENT, google_chromeec_get_event(), poweroff(), and printk.

Referenced by chromeec_smi_process_events().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ chromeec_smi_apmc()

void chromeec_smi_apmc ( int  apmc,
uint64_t  sci_mask,
uint64_t  smi_mask 
)

Definition at line 89 of file smihandler.c.

References APM_CNT_ACPI_DISABLE, APM_CNT_ACPI_ENABLE, clear_pending_events(), google_chromeec_set_sci_mask(), and google_chromeec_set_smi_mask().

Referenced by mainboard_smi_apmc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ chromeec_smi_device_event_sleep()

void chromeec_smi_device_event_sleep ( int  slp_type,
uint64_t  s3_mask,
uint64_t  s5_mask 
)

Definition at line 71 of file smihandler.c.

References ACPI_S3, ACPI_S5, google_chromeec_get_device_current_events(), and google_chromeec_set_device_enabled_events().

Referenced by mainboard_smi_sleep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ chromeec_smi_process_events()

void chromeec_smi_process_events ( void  )

Definition at line 29 of file smihandler.c.

References chromeec_process_one_event().

Referenced by mainboard_smi_espi_handler(), mainboard_smi_gpi(), and mainboard_smi_gpi_handler().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ chromeec_smi_sleep()

void chromeec_smi_sleep ( int  slp_type,
uint64_t  s3_mask,
uint64_t  s5_mask 
)

Definition at line 48 of file smihandler.c.

References ACPI_S3, ACPI_S5, clear_pending_events(), google_chromeec_is_uhepi_supported(), google_chromeec_set_sci_mask(), google_chromeec_set_smi_mask(), and google_chromeec_set_wake_mask().

Referenced by mainboard_smi_sleep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear_pending_events()

static void clear_pending_events ( void  )
static

Definition at line 36 of file smihandler.c.

References BIOS_DEBUG, EC_HOST_EVENT_NONE, google_chromeec_get_event(), google_chromeec_get_mkbp_event(), and printk.

Referenced by chromeec_smi_apmc(), and chromeec_smi_sleep().

Here is the call graph for this function:
Here is the caller graph for this function: