coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
disable_heci.c File Reference
#include <commonlib/helpers.h>
#include <console/console.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include <intelblocks/cse.h>
#include <intelblocks/p2sb.h>
#include <intelblocks/pcr.h>
#include <intelblocks/pmc_ipc.h>
#include <soc/pci_devs.h>
#include <soc/pcr_ids.h>
Include dependency graph for disable_heci.c:

Go to the source code of this file.

Macros

#define __SIMPLE_DEVICE__
 
#define CSME0_FBE   0xf
 
#define CSME0_BAR   0x0
 
#define CSME0_FID   0xb0
 
#define PMC_IPC_MEI_DISABLE_ID   0xa9
 
#define PMC_IPC_MEI_DISABLE_SUBID_ENABLE   0
 
#define PMC_IPC_MEI_DISABLE_SUBID_DISABLE   1
 

Functions

static void heci1_disable_using_pcr (void)
 
bool cse_disable_mei_devices (void)
 
static void heci1_disable_using_pmc (void)
 
static void heci1_disable_using_sbi (void)
 
void heci1_disable (void)
 

Macro Definition Documentation

◆ __SIMPLE_DEVICE__

#define __SIMPLE_DEVICE__

Definition at line 3 of file disable_heci.c.

◆ CSME0_BAR

#define CSME0_BAR   0x0

Definition at line 18 of file disable_heci.c.

◆ CSME0_FBE

#define CSME0_FBE   0xf

Definition at line 17 of file disable_heci.c.

◆ CSME0_FID

#define CSME0_FID   0xb0

Definition at line 19 of file disable_heci.c.

◆ PMC_IPC_MEI_DISABLE_ID

#define PMC_IPC_MEI_DISABLE_ID   0xa9

Definition at line 21 of file disable_heci.c.

◆ PMC_IPC_MEI_DISABLE_SUBID_DISABLE

#define PMC_IPC_MEI_DISABLE_SUBID_DISABLE   1

Definition at line 23 of file disable_heci.c.

◆ PMC_IPC_MEI_DISABLE_SUBID_ENABLE

#define PMC_IPC_MEI_DISABLE_SUBID_ENABLE   0

Definition at line 22 of file disable_heci.c.

Function Documentation

◆ cse_disable_mei_devices()

bool cse_disable_mei_devices ( void  )

Definition at line 31 of file disable_heci.c.

References BIOS_ERR, CB_SUCCESS, PMC_IPC_MEI_DISABLE_ID, PMC_IPC_MEI_DISABLE_SUBID_DISABLE, pmc_make_ipc_cmd(), pmc_send_ipc_cmd(), and printk.

Referenced by cse_handle_eop_error(), and heci1_disable_using_pmc().

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

◆ heci1_disable()

void heci1_disable ( void  )

Definition at line 84 of file disable_heci.c.

References BIOS_ERR, BIOS_INFO, CONFIG, ENV_SMM, heci1_disable_using_pcr(), heci1_disable_using_pmc(), heci1_disable_using_sbi(), and printk.

Referenced by heci_cse_lockdown(), heci_finalize(), pch_finalize_script(), smihandler_soc_at_finalize(), and soc_finalize().

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

◆ heci1_disable_using_pcr()

static void heci1_disable_using_pcr ( void  )
static

Definition at line 26 of file disable_heci.c.

References soc_disable_heci1_using_pcr().

Referenced by heci1_disable().

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

◆ heci1_disable_using_pmc()

static void heci1_disable_using_pmc ( void  )
static

Definition at line 47 of file disable_heci.c.

References cse_disable_mei_devices().

Referenced by heci1_disable().

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

◆ heci1_disable_using_sbi()

static void heci1_disable_using_sbi ( void  )
static

Definition at line 53 of file disable_heci.c.

References BIOS_ERR, CSME0_BAR, CSME0_FBE, CSME0_FID, p2sb_disable_sideband_access(), p2sb_hide(), p2sb_unhide(), PCH_DEV_P2SB, pcr_execute_sideband_msg(), PCR_WRITE, pcr_sbi_msg::pid, PID_CSME0, and printk.

Referenced by heci1_disable().

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