coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
early_init.c File Reference
#include <stdint.h>
#include <console/console.h>
#include <device/mmio.h>
#include <device/pci_def.h>
#include <device/pci_ops.h>
#include "haswell.h"
Include dependency graph for early_init.c:

Go to the source code of this file.

Functions

static void haswell_setup_bars (void)
 
static void haswell_setup_igd (void)
 
static void start_peg2_link_training (const pci_devfn_t dev)
 
void haswell_unhide_peg (void)
 
static void haswell_setup_peg (void)
 
static void haswell_setup_misc (void)
 
static void haswell_setup_iommu (void)
 
void haswell_early_initialization (void)
 

Variables

static bool peg_hidden [3]
 

Function Documentation

◆ haswell_early_initialization()

void haswell_early_initialization ( void  )

Definition at line 183 of file early_init.c.

References haswell_setup_bars(), haswell_setup_igd(), haswell_setup_iommu(), haswell_setup_misc(), and haswell_setup_peg().

Referenced by mainboard_romstage_entry().

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

◆ haswell_setup_bars()

static void haswell_setup_bars ( void  )
static

Definition at line 13 of file early_init.c.

References BIOS_DEBUG, DMIBAR, EDRAM_BASE_ADDRESS, EDRAMBAR, EPBAR, GDXC_BASE_ADDRESS, GDXCBAR, HOST_BRIDGE, MCHBAR, mchbar_write32(), PAM0, PAM1, PAM2, PAM3, PAM4, PAM5, PAM6, pci_write_config32(), pci_write_config8(), and printk.

Referenced by haswell_early_initialization().

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

◆ haswell_setup_igd()

static void haswell_setup_igd ( void  )
static

Definition at line 39 of file early_init.c.

References BIOS_DEBUG, DEVEN, DEVEN_D2EN, GGC, GGC_DISABLE_VGA_IO_DECODE, GGC_GTT_0MB, GGC_GTT_2MB, GGC_IGD_MEM_IN_32MB_UNITS, HOST_BRIDGE, MSAC, PCI_DEV, pci_read_config16(), pci_read_config32(), pci_update_config8(), pci_write_config16(), and printk.

Referenced by haswell_early_initialization().

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

◆ haswell_setup_iommu()

static void haswell_setup_iommu ( void  )
static

Definition at line 157 of file early_init.c.

References ARCHDIS, CAPID0_A, DMAR_LCKDN, GFXVT_BASE_ADDRESS, GFXVTBAR, GLBCTXTINV, GLBIOTLBINV, HOST_BRIDGE, L3HIT2PEND_DIS, mchbar_write32(), pci_read_config32(), read32(), SPCAPCTRL, VTD_DISABLE, VTVC0_BASE_ADDRESS, VTVC0BAR, and write32().

Referenced by haswell_early_initialization().

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

◆ haswell_setup_misc()

static void haswell_setup_misc ( void  )
static

Definition at line 139 of file early_init.c.

References INTRDIRCTL, mchbar_read32(), mchbar_write32(), and SAPMCTL.

Referenced by haswell_early_initialization().

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

◆ haswell_setup_peg()

static void haswell_setup_peg ( void  )
static

Definition at line 125 of file early_init.c.

References DEVEN, DEVEN_D1F0EN, DEVEN_D1F1EN, DEVEN_D1F2EN, HOST_BRIDGE, PCI_DEV, pci_read_config32(), and start_peg2_link_training().

Referenced by haswell_early_initialization().

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

◆ haswell_unhide_peg()

void haswell_unhide_peg ( void  )

Definition at line 110 of file early_init.c.

References BIOS_DEBUG, DEVEN, DEVEN_D1F0EN, HOST_BRIDGE, pci_read_config32(), pci_write_config32(), peg_hidden, and printk.

Referenced by mainboard_romstage_entry().

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

◆ start_peg2_link_training()

static void start_peg2_link_training ( const pci_devfn_t  dev)
static

Definition at line 67 of file early_init.c.

References BIOS_DEBUG, BIOS_ERR, CONFIG, DEVEN, DEVEN_D1F0EN, DEVEN_D1F1EN, DEVEN_D1F2EN, HOST_BRIDGE, mask, PCI_DEV, PCI_DEV2DEVFN, PCI_FUNC, pci_update_config32(), peg_hidden, and printk.

Referenced by haswell_setup_peg().

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

Variable Documentation

◆ peg_hidden

bool peg_hidden[3]
static

Definition at line 11 of file early_init.c.

Referenced by haswell_unhide_peg(), and start_peg2_link_training().