coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
acpi.c File Reference
#include <acpi/acpi.h>
#include <acpi/acpi_gnvs.h>
#include <acpi/acpigen.h>
#include <device/device.h>
#include <device/mmio.h>
#include <arch/smp/mpspec.h>
#include <console/console.h>
#include <device/pci_ops.h>
#include <intelblocks/cpulib.h>
#include <intelblocks/pmclib.h>
#include <intelblocks/acpi.h>
#include <soc/cpu.h>
#include <soc/iomap.h>
#include <soc/nvs.h>
#include <soc/pci_devs.h>
#include <soc/pm.h>
#include <soc/soc_chip.h>
#include <soc/systemagent.h>
Include dependency graph for acpi.c:

Go to the source code of this file.

Enumerations

enum  {
  C_STATE_C0 , C_STATE_C1 , C_STATE_C1E , C_STATE_C6_SHORT_LAT ,
  C_STATE_C6_LONG_LAT , C_STATE_C7_SHORT_LAT , C_STATE_C7_LONG_LAT , C_STATE_C7S_SHORT_LAT ,
  C_STATE_C7S_LONG_LAT , C_STATE_C8 , C_STATE_C9 , C_STATE_C10 ,
  NUM_C_STATES
}
 

Functions

const acpi_cstate_tsoc_get_cstate_map (size_t *entries)
 
void soc_power_states_generation (int core_id, int cores_per_package)
 
void soc_fill_fadt (acpi_fadt_t *fadt)
 
uint32_t soc_read_sci_irq_select (void)
 
static unsigned long soc_fill_dmar (unsigned long current)
 
unsigned long sa_write_acpi_tables (const struct device *dev, unsigned long current, struct acpi_rsdp *rsdp)
 
void soc_fill_gnvs (struct global_nvs *gnvs)
 
int soc_madt_sci_irq_polarity (int sci)
 

Variables

static const acpi_cstate_t cstate_map [NUM_C_STATES]
 
static int cstate_set_non_s0ix []
 
static int cstate_set_s0ix []
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
C_STATE_C0 
C_STATE_C1 
C_STATE_C1E 
C_STATE_C6_SHORT_LAT 
C_STATE_C6_LONG_LAT 
C_STATE_C7_SHORT_LAT 
C_STATE_C7_LONG_LAT 
C_STATE_C7S_SHORT_LAT 
C_STATE_C7S_LONG_LAT 
C_STATE_C8 
C_STATE_C9 
C_STATE_C10 
NUM_C_STATES 

Definition at line 25 of file acpi.c.

Function Documentation

◆ sa_write_acpi_tables()

unsigned long sa_write_acpi_tables ( const struct device dev,
unsigned long  current,
struct acpi_rsdp rsdp 
)

◆ soc_fill_dmar()

◆ soc_fill_fadt()

◆ soc_fill_gnvs()

void soc_fill_gnvs ( struct global_nvs gnvs)

Definition at line 247 of file acpi.c.

References config, config_of_soc, global_nvs::dpte, gnvs, sa_fill_gnvs(), global_nvs::u2we, and global_nvs::u3we.

Here is the call graph for this function:

◆ soc_get_cstate_map()

const acpi_cstate_t* soc_get_cstate_map ( size_t entries)

◆ soc_madt_sci_irq_polarity()

int soc_madt_sci_irq_polarity ( int  sci)

Definition at line 262 of file acpi.c.

References MP_IRQ_POLARITY_HIGH.

◆ soc_power_states_generation()

void soc_power_states_generation ( int  core_id,
int  cores_per_package 
)

Definition at line 138 of file acpi.c.

References config, config_of_soc, and generate_p_state_entries().

Here is the call graph for this function:

◆ soc_read_sci_irq_select()

uint32_t soc_read_sci_irq_select ( void  )

Definition at line 166 of file acpi.c.

References IRQ_REG, read32p(), and soc_read_pmc_base().

Here is the call graph for this function:

Variable Documentation

◆ cstate_map

const acpi_cstate_t cstate_map[NUM_C_STATES]
static

Definition at line 41 of file acpi.c.

Referenced by soc_get_cstate_map().

◆ cstate_set_non_s0ix

int cstate_set_non_s0ix[]
static
Initial value:
= {
}
@ C_STATE_C7S_LONG_LAT
Definition: acpi.c:35
@ C_STATE_C6_LONG_LAT
Definition: acpi.c:31
@ C_STATE_C1
Definition: acpi.c:28

Definition at line 100 of file acpi.c.

Referenced by soc_get_cstate_map().

◆ cstate_set_s0ix

int cstate_set_s0ix[]
static
Initial value:

Definition at line 106 of file acpi.c.

Referenced by soc_get_cstate_map().