coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
smihandler.c
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#include <
cpu/x86/smm.h
>
4
#include <
ec/google/chromeec/ec.h
>
5
#include <
ec/google/chromeec/smm.h
>
6
#include <elog.h>
7
#include <gpio.h>
8
#include <soc/gpio.h>
9
#include <
intelblocks/smihandler.h
>
10
11
#include <baseboard/variants.h>
12
#include <variant/gpio.h>
13
#include <variant/ec.h>
14
15
void
mainboard_smi_espi_handler
(
void
)
16
{
17
chromeec_smi_process_events
();
18
}
19
20
void
__weak
variant_smi_sleep
(
u8
slp_typ) {}
21
22
void
mainboard_smi_sleep
(
u8
slp_typ)
23
{
24
const
struct
google_chromeec_event_info
*
info
;
25
26
info
=
variant_get_event_info
();
27
28
variant_smi_sleep
(slp_typ);
29
chromeec_smi_sleep
(slp_typ,
info
->s3_wake_events,
info
->s5_wake_events);
30
}
31
32
int
mainboard_smi_apmc
(
u8
apmc)
33
{
34
const
struct
google_chromeec_event_info
*
info
;
35
36
info
=
variant_get_event_info
();
37
38
chromeec_smi_apmc
(apmc,
info
->sci_events,
info
->smi_events);
39
40
return
0;
41
}
42
43
void
elog_gsmi_cb_mainboard_log_wake_source
(
void
)
44
{
45
const
struct
google_chromeec_event_info
*
info
;
46
47
info
=
variant_get_event_info
();
48
49
google_chromeec_log_events
(
info
->log_events |
info
->s0ix_wake_events);
50
}
mainboard_smi_sleep
void __weak mainboard_smi_sleep(u8 slp_typ)
Definition:
smihandler.c:210
mainboard_smi_apmc
int __weak mainboard_smi_apmc(u8 data)
Definition:
smihandler.c:209
info
static struct smmstore_params_info info
Definition:
ramstage.c:12
google_chromeec_log_events
void google_chromeec_log_events(uint64_t mask)
Definition:
ec.c:386
ec.h
chromeec_smi_sleep
void chromeec_smi_sleep(int slp_type, uint64_t s3_mask, uint64_t s5_mask)
Definition:
smihandler.c:48
chromeec_smi_process_events
void chromeec_smi_process_events(void)
Definition:
smihandler.c:29
chromeec_smi_apmc
void chromeec_smi_apmc(int apmc, uint64_t sci_mask, uint64_t smi_mask)
Definition:
smihandler.c:89
smm.h
smm.h
mainboard_smi_espi_handler
void mainboard_smi_espi_handler(void)
Definition:
smihandler.c:26
elog_gsmi_cb_mainboard_log_wake_source
void elog_gsmi_cb_mainboard_log_wake_source(void)
Definition:
smihandler.c:21
variant_smi_sleep
void __weak variant_smi_sleep(u8 slp_typ)
Definition:
smihandler.c:52
variant_get_event_info
__weak const struct google_chromeec_event_info * variant_get_event_info(void)
Definition:
ec.c:9
__weak
const struct smm_save_state_ops *legacy_ops __weak
Definition:
save_state.c:8
smihandler.h
u8
uint8_t u8
Definition:
stdint.h:45
google_chromeec_event_info
Definition:
ec.h:194
src
mainboard
google
poppy
smihandler.c
Generated by
1.9.1