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 <device/pci.h>
#include <string.h>
#include <cpu/intel/haswell/haswell.h>
#include <cpu/intel/microcode.h>
#include <cpu/x86/msr.h>
#include <soc/pch.h>
#include <soc/pci_devs.h>
#include <soc/romstage.h>
#include <soc/systemagent.h>
Include dependency graph for report_platform.c:

Go to the source code of this file.

Functions

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 {
   u8   revid
 
   const char *   name
 
mch_rev_table []
 
struct {
   u16   lpcid
 
   const char *   name
 
pch_table []
 
struct {
   u16   igdid
 
   const char *   name
 
igd_table []
 

Function Documentation

◆ report_cpu_info()

static void report_cpu_info ( void  )
static

Definition at line 75 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, cpuid_result::eax, cpuid_result::ebx, cpuid_result::ecx, cpuid_result::edx, get_current_microcode_rev(), printk, and strcpy().

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 161 of file report_platform.c.

References ARRAY_SIZE, BIOS_DEBUG, igd_table, igdid, PCI_DEVICE_ID, pci_read_config16(), pci_read_config8(), PCI_REVISION_ID, 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 124 of file report_platform.c.

References ARRAY_SIZE, BIOS_DEBUG, HOST_BRIDGE, MCH_BROADWELL_ID_U_Y, mch_rev_table, PCI_DEVICE_ID, pci_read_config16(), pci_read_config8(), PCI_REVISION_ID, printk, and revid.

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 145 of file report_platform.c.

References ARRAY_SIZE, BIOS_DEBUG, lpcid, pch_revision(), 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 177 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_HASWELL_A0, "Haswell A0" },
{ CPUID_HASWELL_B0, "Haswell B0" },
{ CPUID_HASWELL_C0, "Haswell C0" },
{ CPUID_HASWELL_ULT_B0, "Haswell ULT B0" },
{ CPUID_HASWELL_ULT_C0, "Haswell ULT C0 or D0" },
{ CPUID_CRYSTALWELL_C0, "Haswell Perf Halo" },
{ CPUID_BROADWELL_ULT_C0, "Broadwell C0" },
{ CPUID_BROADWELL_ULT_D0, "Broadwell D0" },
{ CPUID_BROADWELL_ULT_E0, "Broadwell E0 or F0" },
}
#define CPUID_HASWELL_C0
Definition: haswell.h:18
#define CPUID_BROADWELL_ULT_C0
Definition: haswell.h:30
#define CPUID_HASWELL_ULT_C0
Definition: haswell.h:21
#define CPUID_HASWELL_ULT_B0
Definition: haswell.h:20
#define CPUID_HASWELL_B0
Definition: haswell.h:17
#define CPUID_CRYSTALWELL_C0
Definition: haswell.h:25
#define CPUID_HASWELL_A0
Definition: haswell.h:16
#define CPUID_BROADWELL_ULT_E0
Definition: haswell.h:32
#define CPUID_BROADWELL_ULT_D0
Definition: haswell.h:31

Referenced by report_cpu_info().

◆ cpuid

u32 cpuid

Definition at line 18 of file report_platform.c.

◆ 

struct { ... } igd_table[]
Initial value:
= {
{ IGD_HASWELL_ULT_GT1, "Haswell ULT GT1" },
{ IGD_HASWELL_ULT_GT2, "Haswell ULT GT2" },
{ IGD_HASWELL_ULT_GT3, "Haswell ULT GT3" },
{ IGD_BROADWELL_U_GT1, "Broadwell U GT1" },
{ IGD_BROADWELL_U_GT2, "Broadwell U GT2" },
{ IGD_BROADWELL_U_GT3_15W, "Broadwell U GT3 (15W)" },
{ IGD_BROADWELL_U_GT3_28W, "Broadwell U GT3 (28W)" },
{ IGD_BROADWELL_Y_GT2, "Broadwell Y GT2" },
{ IGD_BROADWELL_H_GT2, "Broadwell U GT2" },
{ IGD_BROADWELL_H_GT3, "Broadwell U GT3" },
}
#define IGD_BROADWELL_Y_GT2
Definition: systemagent.h:19
#define IGD_BROADWELL_H_GT2
Definition: systemagent.h:20
#define IGD_HASWELL_ULT_GT3
Definition: systemagent.h:12
#define IGD_HASWELL_ULT_GT1
Definition: systemagent.h:10
#define IGD_BROADWELL_U_GT3_15W
Definition: systemagent.h:17
#define IGD_BROADWELL_H_GT3
Definition: systemagent.h:21
#define IGD_HASWELL_ULT_GT2
Definition: systemagent.h:11
#define IGD_BROADWELL_U_GT1
Definition: systemagent.h:15
#define IGD_BROADWELL_U_GT3_28W
Definition: systemagent.h:18
#define IGD_BROADWELL_U_GT2
Definition: systemagent.h:16

Referenced by report_igd_info().

◆ igdid

u16 igdid

Definition at line 60 of file report_platform.c.

◆ lpcid

u16 lpcid

Definition at line 42 of file report_platform.c.

◆ 

struct { ... } mch_rev_table[]
Initial value:
= {
{ MCH_BROADWELL_REV_D0, "Broadwell D0" },
{ MCH_BROADWELL_REV_E0, "Broadwell E0" },
{ MCH_BROADWELL_REV_F0, "Broadwell F0" },
}
#define MCH_BROADWELL_REV_F0
Definition: systemagent.h:26
#define MCH_BROADWELL_REV_E0
Definition: systemagent.h:25
#define MCH_BROADWELL_REV_D0
Definition: systemagent.h:24

Referenced by report_mch_info().

◆ name

const char* name

Definition at line 19 of file report_platform.c.

◆ 

struct { ... } pch_table[]
Initial value:
= {
{ PCH_LPT_LP_SAMPLE, "LynxPoint LP Sample" },
{ PCH_LPT_LP_PREMIUM, "LynxPoint LP Premium" },
{ PCH_LPT_LP_MAINSTREAM, "LynxPoint LP Mainstream" },
{ PCH_LPT_LP_VALUE, "LynxPoint LP Value" },
{ PCH_WPT_HSW_U_SAMPLE, "Haswell U Sample" },
{ PCH_WPT_BDW_U_SAMPLE, "Broadwell U Sample" },
{ PCH_WPT_BDW_U_PREMIUM, "Broadwell U Premium" },
{ PCH_WPT_BDW_U_BASE, "Broadwell U Base" },
{ PCH_WPT_BDW_Y_SAMPLE, "Broadwell Y Sample" },
{ PCH_WPT_BDW_Y_PREMIUM, "Broadwell Y Premium" },
{ PCH_WPT_BDW_Y_BASE, "Broadwell Y Base" },
{ PCH_WPT_BDW_H, "Broadwell H" },
}
#define PCH_LPT_LP_SAMPLE
Definition: pch.h:7
#define PCH_WPT_BDW_Y_SAMPLE
Definition: pch.h:17
#define PCH_LPT_LP_VALUE
Definition: pch.h:10
#define PCH_WPT_BDW_H
Definition: pch.h:20
#define PCH_LPT_LP_MAINSTREAM
Definition: pch.h:9
#define PCH_WPT_BDW_U_SAMPLE
Definition: pch.h:14
#define PCH_WPT_HSW_U_SAMPLE
Definition: pch.h:13
#define PCH_WPT_BDW_Y_BASE
Definition: pch.h:19
#define PCH_LPT_LP_PREMIUM
Definition: pch.h:8
#define PCH_WPT_BDW_Y_PREMIUM
Definition: pch.h:18
#define PCH_WPT_BDW_U_BASE
Definition: pch.h:16
#define PCH_WPT_BDW_U_PREMIUM
Definition: pch.h:15

Referenced by report_pch_info().

◆ revid

u8 revid

Definition at line 33 of file report_platform.c.

Referenced by report_mch_info(), and SocStepping().