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 <device/pci_ops.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 <soc/bootblock.h>
#include <soc/cpu.h>
#include <soc/pch.h>
#include <soc/pci_devs.h>
#include <soc/systemagent.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 {
   u32   cpuid
 
   const char *   name
 
cpu_table []
 
struct {
   u16   mchid
 
   const char *   name
 
mch_table []
 
struct {
   u16   lpcid
 
   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)
static

Definition at line 138 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)
static

Definition at line 133 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 143 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 211 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 175 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 194 of file report_platform.c.

References ARRAY_SIZE, BIOS_DEBUG, get_dev_id(), get_dev_revision(), lpcid, PCH_DEV_LPC, 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 228 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_SKYLAKE_C0, "Skylake C0" },
{ CPUID_SKYLAKE_D0, "Skylake D0" },
{ CPUID_SKYLAKE_HQ0, "Skylake H Q0" },
{ CPUID_SKYLAKE_HR0, "Skylake H R0" },
{ CPUID_KABYLAKE_G0, "Kabylake G0" },
{ CPUID_KABYLAKE_H0, "Kabylake H0" },
{ CPUID_KABYLAKE_Y0, "Kabylake Y0" },
{ CPUID_KABYLAKE_HA0, "Kabylake H A0" },
{ CPUID_KABYLAKE_HB0, "Kabylake H B0" },
}
#define CPUID_KABYLAKE_Y0
Definition: cpu_ids.h:20
#define CPUID_SKYLAKE_HR0
Definition: cpu_ids.h:17
#define CPUID_SKYLAKE_C0
Definition: cpu_ids.h:14
#define CPUID_KABYLAKE_H0
Definition: cpu_ids.h:19
#define CPUID_KABYLAKE_HA0
Definition: cpu_ids.h:21
#define CPUID_KABYLAKE_HB0
Definition: cpu_ids.h:22
#define CPUID_KABYLAKE_G0
Definition: cpu_ids.h:18
#define CPUID_SKYLAKE_D0
Definition: cpu_ids.h:15
#define CPUID_SKYLAKE_HQ0
Definition: cpu_ids.h:16

Referenced by report_cpu_info().

◆ cpuid

u32 cpuid

Definition at line 19 of file report_platform.c.

◆ 

struct { ... } igd_table[]

Referenced by report_igd_info().

◆ igdid

u16 igdid

Definition at line 97 of file report_platform.c.

◆ lpcid

u16 lpcid

Definition at line 55 of file report_platform.c.

◆ 

struct { ... } mch_table[]
Initial value:
= {
{ PCI_DID_INTEL_SKL_ID_U, "Skylake-U" },
{ PCI_DID_INTEL_SKL_ID_Y, "Skylake-Y" },
{ PCI_DID_INTEL_SKL_ID_ULX, "Skylake-ULX" },
{ PCI_DID_INTEL_SKL_ID_H_4, "Skylake-H (4 Core)" },
{ PCI_DID_INTEL_SKL_ID_H_EM, "Skylake-H Embedded" },
{ PCI_DID_INTEL_SKL_ID_H_2, "Skylake-H (2 Core)" },
{ PCI_DID_INTEL_SKL_ID_S_2, "Skylake-S (2 Core)" },
{ PCI_DID_INTEL_SKL_ID_S_4, "Skylake-S (4 Core) / Skylake-DT" },
{ PCI_DID_INTEL_KBL_ID_U, "Kabylake-U" },
{ PCI_DID_INTEL_KBL_U_R, "Kabylake-R ULT"},
{ PCI_DID_INTEL_KBL_ID_Y, "Kabylake-Y" },
{ PCI_DID_INTEL_KBL_ID_H, "Kabylake-H" },
{ PCI_DID_INTEL_KBL_ID_S, "Kabylake-S" },
{ PCI_DID_INTEL_KBL_ID_DT, "Kabylake DT" },
{ PCI_DID_INTEL_KBL_ID_DT_2, "Kabylake DT 2" },
}
#define PCI_DID_INTEL_KBL_ID_H
Definition: pci_ids.h:3978
#define PCI_DID_INTEL_KBL_U_R
Definition: pci_ids.h:3979
#define PCI_DID_INTEL_SKL_ID_H_2
Definition: pci_ids.h:3970
#define PCI_DID_INTEL_KBL_ID_Y
Definition: pci_ids.h:3977
#define PCI_DID_INTEL_SKL_ID_H_4
Definition: pci_ids.h:3971
#define PCI_DID_INTEL_SKL_ID_U
Definition: pci_ids.h:3967
#define PCI_DID_INTEL_SKL_ID_ULX
Definition: pci_ids.h:3969
#define PCI_DID_INTEL_SKL_ID_S_2
Definition: pci_ids.h:3972
#define PCI_DID_INTEL_SKL_ID_H_EM
Definition: pci_ids.h:3975
#define PCI_DID_INTEL_SKL_ID_Y
Definition: pci_ids.h:3968
#define PCI_DID_INTEL_KBL_ID_DT_2
Definition: pci_ids.h:3980
#define PCI_DID_INTEL_KBL_ID_DT
Definition: pci_ids.h:3981
#define PCI_DID_INTEL_SKL_ID_S_4
Definition: pci_ids.h:3973
#define PCI_DID_INTEL_KBL_ID_U
Definition: pci_ids.h:3976
#define PCI_DID_INTEL_KBL_ID_S
Definition: pci_ids.h:3974

Referenced by report_mch_info().

◆ mchid

u16 mchid

Definition at line 34 of file report_platform.c.

◆ name

const char* name

Definition at line 20 of file report_platform.c.

◆ 

struct { ... } pch_table[]

Referenced by report_pch_info().