coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
util.c File Reference
#include <assert.h>
#include <commonlib/sort.h>
#include <console/console.h>
#include <delay.h>
#include <device/device.h>
#include <device/pci.h>
#include <intelblocks/cpulib.h>
#include <soc/pci_devs.h>
#include <soc/msr.h>
#include <soc/soc_util.h>
#include <soc/util.h>
#include <timer.h>
Include dependency graph for util.c:

Go to the source code of this file.

Functions

uint8_t get_stack_busno (const uint8_t stack)
 
void unlock_pam_regions (void)
 
msr_t read_msr_ppin (void)
 
static unsigned int get_threads_per_package (void)
 
int get_platform_thread_count (void)
 
const IIO_UDS * get_iio_uds (void)
 
void get_iiostack_info (struct iiostack_resource *info)
 
unsigned int soc_get_num_cpus (void)
 

Function Documentation

◆ get_iio_uds()

const IIO_UDS* get_iio_uds ( void  )

Definition at line 89 of file util.c.

References assert, fsp_find_extension_hob_by_guid(), and NULL.

Referenced by acpi_create_rhsa(), acpi_fill_dmar(), get_iiostack_info(), get_socket_stack_busno(), is_pci64bit_alloc(), soc_get_ioapic_info(), soc_get_num_cpus(), and uncore_inject_dsdt().

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

◆ get_iiostack_info()

void get_iiostack_info ( struct iiostack_resource info)

Definition at line 103 of file util.c.

References assert, get_iio_uds(), info, is_iio_stack_res(), memcpy(), s, and x.

Referenced by attach_iio_stacks(), iio_enable_masks(), uncore_inject_dsdt(), and xeonsp_pci_domain_read_resources().

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

◆ get_platform_thread_count()

int get_platform_thread_count ( void  )

Definition at line 84 of file util.c.

References get_threads_per_package(), and soc_get_num_cpus().

Referenced by ocp_oem_smbios_strings().

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

◆ get_stack_busno()

uint8_t get_stack_busno ( const uint8_t  stack)

Definition at line 16 of file util.c.

References BIOS_ERR, offset, PCI_DEV, pci_io_read_config32(), printk, UBOX_DECS_BUS, UBOX_DECS_CPUBUSNO1_CSR, UBOX_DECS_CPUBUSNO_CSR, UBOX_DECS_DEV, and UBOX_DECS_FUNC.

Referenced by create_smbios_type9(), lock_pam0123(), and unlock_pam_regions().

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

◆ get_threads_per_package()

static unsigned int get_threads_per_package ( void  )
static

Definition at line 77 of file util.c.

References cpu_read_topology().

Referenced by get_platform_thread_count().

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

◆ read_msr_ppin()

msr_t read_msr_ppin ( void  )

Definition at line 46 of file util.c.

References BIOS_ERR, msr_struct::lo, MSR_PLATFORM_INFO, MSR_PPIN, MSR_PPIN_CAP, MSR_PPIN_CTL, MSR_PPIN_CTL_ENABLE, MSR_PPIN_CTL_LOCK, printk, rdmsr(), and wrmsr().

Referenced by ocp_oem_smbios_strings(), and read_remote_ppin().

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

◆ soc_get_num_cpus()

unsigned int soc_get_num_cpus ( void  )

Definition at line 120 of file util.c.

References get_iio_uds().

Referenced by acpi_fill_slit(), get_platform_thread_count(), and set_pcu_locks().

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

◆ unlock_pam_regions()

void unlock_pam_regions ( void  )

Definition at line 27 of file util.c.

References BIOS_DEBUG, get_stack_busno(), PCI_DEV, pci_io_read_config32(), pci_io_write_config32(), printk, SAD_ALL_DEV, SAD_ALL_FUNC, SAD_ALL_PAM0123_CSR, and SAD_ALL_PAM456_CSR.

Referenced by mainboard_romstage_entry().

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