coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
report_platform.c File Reference
#include <arch/cpu.h>
#include <console/console.h>
#include <cpu/intel/cpu_ids.h>
#include <cpu/intel/microcode.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/name.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include <soc/bootblock.h>
#include <soc/pch.h>
#include <soc/pci_devs.h>
Include dependency graph for report_platform.c:

Go to the source code of this file.

Functions

static uint8_t get_dev_revision (pci_devfn_t dev)
 
static uint16_t get_dev_id (pci_devfn_t dev)
 
static void report_cpu_info (void)
 
static void report_mch_info (void)
 
static void report_pch_info (void)
 
static void report_igd_info (void)
 
void report_platform_info (void)
 

Variables

struct {
   uint32_t   cpuid
 
   const char *   name
 
cpu_table []
 
struct {
   u16   mchid
 
   const char *   name
 
mch_table []
 
struct {
   u16   espiid
 
   const char *   name
 
pch_table []
 
struct {
   u16   igdid
 
   const char *   name
 
igd_table []
 

Function Documentation

◆ get_dev_id()

static uint16_t get_dev_id ( pci_devfn_t  dev)
inlinestatic

Definition at line 78 of file report_platform.c.

References PCI_DEVICE_ID, and pci_read_config16().

Referenced by report_igd_info(), report_mch_info(), and report_pch_info().

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

◆ get_dev_revision()

static uint8_t get_dev_revision ( pci_devfn_t  dev)
inlinestatic

Definition at line 73 of file report_platform.c.

References pci_read_config8(), and PCI_REVISION_ID.

Referenced by report_igd_info(), report_mch_info(), and report_pch_info().

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

◆ report_cpu_info()

static void report_cpu_info ( void  )
static

Definition at line 83 of file report_platform.c.

References ARRAY_SIZE, BIOS_DEBUG, cpu_get_cpuid(), cpu_get_feature_flags_ecx(), cpu_id, cpu_table, cpuid, CPUID_AES, CPUID_SMX, CPUID_VMX, fill_processor_name(), get_current_microcode_rev(), and printk.

Referenced by report_platform_info().

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

◆ report_igd_info()

static void report_igd_info ( void  )
static

Definition at line 151 of file report_platform.c.

References ARRAY_SIZE, BIOS_DEBUG, get_dev_id(), get_dev_revision(), igd_table, igdid, printk, and SA_DEV_IGD.

Referenced by report_platform_info().

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

◆ report_mch_info()

static void report_mch_info ( void  )
static

Definition at line 115 of file report_platform.c.

References ARRAY_SIZE, BIOS_DEBUG, get_dev_id(), get_dev_revision(), mch_table, mchid, printk, and SA_DEV_ROOT.

Referenced by report_platform_info().

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

◆ report_pch_info()

static void report_pch_info ( void  )
static

Definition at line 134 of file report_platform.c.

References ARRAY_SIZE, BIOS_DEBUG, espiid, get_dev_id(), get_dev_revision(), PCH_DEV_ESPI, pch_table, pch_type(), and printk.

Referenced by report_platform_info().

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

◆ report_platform_info()

void report_platform_info ( void  )

Definition at line 168 of file report_platform.c.

References report_cpu_info(), report_igd_info(), report_mch_info(), and report_pch_info().

Here is the call graph for this function:

Variable Documentation

◆ 

struct { ... } cpu_table[]
Initial value:
= {
{ CPUID_ELKHARTLAKE_A0, "Elkhartlake A0" },
{ CPUID_ELKHARTLAKE_B0, "Elkhartlake B0/B1" },
}
#define CPUID_ELKHARTLAKE_A0
Definition: cpu_ids.h:51
#define CPUID_ELKHARTLAKE_B0
Definition: cpu_ids.h:52

Referenced by report_cpu_info().

◆ cpuid

uint32_t cpuid

Definition at line 17 of file report_platform.c.

◆ espiid

u16 espiid

Definition at line 50 of file report_platform.c.

◆ 

struct { ... } igd_table[]
Initial value:
= {
{ PCI_DID_INTEL_EHL_GT1_1, "Elkhartlake GT1-1" },
{ PCI_DID_INTEL_EHL_GT2_1, "Elkhartlake GT2-1" },
{ PCI_DID_INTEL_EHL_GT1_2, "Elkhartlake GT1-2" },
{ PCI_DID_INTEL_EHL_GT1_2_1, "Elkhartlake GT1-2-1" },
{ PCI_DID_INTEL_EHL_GT2_2, "Elkhartlake GT2-2" },
{ PCI_DID_INTEL_EHL_GT1_3, "Elkhartlake GT1-3" },
{ PCI_DID_INTEL_EHL_GT2_3, "Elkhartlake GT2-3" },
}
#define PCI_DID_INTEL_EHL_GT1_2
Definition: pci_ids.h:3921
#define PCI_DID_INTEL_EHL_GT2_1
Definition: pci_ids.h:3920
#define PCI_DID_INTEL_EHL_GT1_2_1
Definition: pci_ids.h:3922
#define PCI_DID_INTEL_EHL_GT2_3
Definition: pci_ids.h:3925
#define PCI_DID_INTEL_EHL_GT2_2
Definition: pci_ids.h:3923
#define PCI_DID_INTEL_EHL_GT1_3
Definition: pci_ids.h:3924
#define PCI_DID_INTEL_EHL_GT1_1
Definition: pci_ids.h:3919

Referenced by report_igd_info().

◆ igdid

u16 igdid

Definition at line 61 of file report_platform.c.

◆ 

struct { ... } mch_table[]
Initial value:
= {
{ PCI_DID_INTEL_EHL_ID_0, "Elkhartlake SKU-0" },
{ PCI_DID_INTEL_EHL_ID_1, "Elkhartlake SKU-1" },
{ PCI_DID_INTEL_EHL_ID_1A, "Elkhartlake SKU-1A" },
{ PCI_DID_INTEL_EHL_ID_2, "Elkhartlake SKU-2" },
{ PCI_DID_INTEL_EHL_ID_2_1, "Elkhartlake SKU-2" },
{ PCI_DID_INTEL_EHL_ID_3, "Elkhartlake SKU-3" },
{ PCI_DID_INTEL_EHL_ID_3A, "Elkhartlake SKU-3A" },
{ PCI_DID_INTEL_EHL_ID_4, "Elkhartlake SKU-4" },
{ PCI_DID_INTEL_EHL_ID_5, "Elkhartlake SKU-5" },
{ PCI_DID_INTEL_EHL_ID_6, "Elkhartlake SKU-6" },
{ PCI_DID_INTEL_EHL_ID_7, "Elkhartlake SKU-7" },
{ PCI_DID_INTEL_EHL_ID_8, "Elkhartlake SKU-8" },
{ PCI_DID_INTEL_EHL_ID_9, "Elkhartlake SKU-9" },
{ PCI_DID_INTEL_EHL_ID_10, "Elkhartlake SKU-10" },
{ PCI_DID_INTEL_EHL_ID_11, "Elkhartlake SKU-11" },
{ PCI_DID_INTEL_EHL_ID_12, "Elkhartlake SKU-12" },
{ PCI_DID_INTEL_EHL_ID_13, "Elkhartlake SKU-13" },
{ PCI_DID_INTEL_EHL_ID_14, "Elkhartlake SKU-14" },
{ PCI_DID_INTEL_EHL_ID_15, "Elkhartlake SKU-15" },
}
#define PCI_DID_INTEL_EHL_ID_3
Definition: pci_ids.h:4029
#define PCI_DID_INTEL_EHL_ID_10
Definition: pci_ids.h:4037
#define PCI_DID_INTEL_EHL_ID_3A
Definition: pci_ids.h:4030
#define PCI_DID_INTEL_EHL_ID_4
Definition: pci_ids.h:4031
#define PCI_DID_INTEL_EHL_ID_11
Definition: pci_ids.h:4038
#define PCI_DID_INTEL_EHL_ID_14
Definition: pci_ids.h:4041
#define PCI_DID_INTEL_EHL_ID_5
Definition: pci_ids.h:4032
#define PCI_DID_INTEL_EHL_ID_1A
Definition: pci_ids.h:4026
#define PCI_DID_INTEL_EHL_ID_9
Definition: pci_ids.h:4036
#define PCI_DID_INTEL_EHL_ID_2
Definition: pci_ids.h:4027
#define PCI_DID_INTEL_EHL_ID_12
Definition: pci_ids.h:4039
#define PCI_DID_INTEL_EHL_ID_0
Definition: pci_ids.h:4024
#define PCI_DID_INTEL_EHL_ID_8
Definition: pci_ids.h:4035
#define PCI_DID_INTEL_EHL_ID_7
Definition: pci_ids.h:4034
#define PCI_DID_INTEL_EHL_ID_6
Definition: pci_ids.h:4033
#define PCI_DID_INTEL_EHL_ID_15
Definition: pci_ids.h:4042
#define PCI_DID_INTEL_EHL_ID_13
Definition: pci_ids.h:4040
#define PCI_DID_INTEL_EHL_ID_2_1
Definition: pci_ids.h:4028
#define PCI_DID_INTEL_EHL_ID_1
Definition: pci_ids.h:4025

Referenced by report_mch_info().

◆ mchid

u16 mchid

Definition at line 25 of file report_platform.c.

◆ name

const char* name

Definition at line 18 of file report_platform.c.

◆ 

struct { ... } pch_table[]
Initial value:
= {
{ PCI_DID_INTEL_MCC_ESPI_0, "Elkhartlake-0" },
{ PCI_DID_INTEL_MCC_ESPI_1, "Elkhartlake-1" },
{ PCI_DID_INTEL_MCC_BASE_ESPI, "Elkhartlake Base" },
{ PCI_DID_INTEL_MCC_PREMIUM_ESPI, "Elkhartlake Premium" },
{ PCI_DID_INTEL_MCC_SUPER_ESPI, "Elkhartlake Super" },
}
#define PCI_DID_INTEL_MCC_SUPER_ESPI
Definition: pci_ids.h:2974
#define PCI_DID_INTEL_MCC_PREMIUM_ESPI
Definition: pci_ids.h:2973
#define PCI_DID_INTEL_MCC_ESPI_1
Definition: pci_ids.h:2971
#define PCI_DID_INTEL_MCC_ESPI_0
Definition: pci_ids.h:2970
#define PCI_DID_INTEL_MCC_BASE_ESPI
Definition: pci_ids.h:2972

Referenced by report_pch_info().