coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
me.h File Reference
#include <device/device.h>
#include <types.h>
Include dependency graph for me.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  me_hfs
 
struct  me_hfs::__packed
 
union  me_uma
 
struct  me_uma::__packed
 
union  me_did
 
struct  me_did::__packed
 
union  me_hfs2
 
struct  me_hfs2::__packed
 
union  me_heres
 
struct  me_heres::__packed
 
union  mei_csr
 
struct  mei_csr::__packed
 
union  mei_header
 
struct  mei_header::__packed
 
struct  mkhi_header
 
struct  me_fw_version
 
struct  icc_header
 
struct  icc_clock_enables_msg
 
struct  me_global_reset
 
union  mbp_header
 
struct  mbp_header::__packed
 
struct  mbp_item_header
 
struct  mbp_fw_version_name
 
struct  mbp_mefwcaps
 
struct  mbp_rom_bist_data
 
struct  mbp_platform_key
 
struct  mbp_me_firmware_type
 
struct  mbp_plat_type
 
struct  icc_address_mask
 
struct  mbp_icc_profile
 
struct  tdt_state_flag
 
struct  mbp_at_state
 
struct  mbp_plat_time
 
struct  mbp_nfc_data
 
struct  me_bios_payload
 
struct  me_fwcaps
 

Macros

#define ME_RETRY   100000 /* 1 second */
 
#define ME_DELAY   10 /* 10 us */
 
#define PCI_CPU_DEVICE   PCI_DEV(0,0,0)
 
#define PCI_CPU_MEBASE_L   0x70 /* Set by MRC */
 
#define PCI_CPU_MEBASE_H   0x74 /* Set by MRC */
 
#define PCI_ME_HFS   0x40
 
#define ME_HFS_CWS_RESET   0
 
#define ME_HFS_CWS_INIT   1
 
#define ME_HFS_CWS_REC   2
 
#define ME_HFS_CWS_NORMAL   5
 
#define ME_HFS_CWS_WAIT   6
 
#define ME_HFS_CWS_TRANS   7
 
#define ME_HFS_CWS_INVALID   8
 
#define ME_HFS_STATE_PREBOOT   0
 
#define ME_HFS_STATE_M0_UMA   1
 
#define ME_HFS_STATE_M3   4
 
#define ME_HFS_STATE_M0   5
 
#define ME_HFS_STATE_BRINGUP   6
 
#define ME_HFS_STATE_ERROR   7
 
#define ME_HFS_ERROR_NONE   0
 
#define ME_HFS_ERROR_UNCAT   1
 
#define ME_HFS_ERROR_IMAGE   3
 
#define ME_HFS_ERROR_DEBUG   4
 
#define ME_HFS_MODE_NORMAL   0
 
#define ME_HFS_MODE_DEBUG   2
 
#define ME_HFS_MODE_DIS   3
 
#define ME_HFS_MODE_OVER_JMPR   4
 
#define ME_HFS_MODE_OVER_MEI   5
 
#define ME_HFS_BIOS_DRAM_ACK   1
 
#define ME_HFS_ACK_NO_DID   0
 
#define ME_HFS_ACK_RESET   1
 
#define ME_HFS_ACK_PWR_CYCLE   2
 
#define ME_HFS_ACK_S3   3
 
#define ME_HFS_ACK_S4   4
 
#define ME_HFS_ACK_S5   5
 
#define ME_HFS_ACK_GBL_RESET   6
 
#define ME_HFS_ACK_CONTINUE   7
 
#define PCI_ME_UMA   0x44
 
#define PCI_ME_H_GS   0x4c
 
#define ME_INIT_DONE   1
 
#define ME_INIT_STATUS_SUCCESS   0
 
#define ME_INIT_STATUS_NOMEM   1
 
#define ME_INIT_STATUS_ERROR   2
 
#define ME_INIT_STATUS_SUCCESS_OTHER   3 /* SEE ME9 BWG */
 
#define PCI_ME_HFS2   0x48
 
#define ME_HFS2_PHASE_ROM   0
 
#define ME_HFS2_PHASE_BUP   1
 
#define ME_HFS2_PHASE_UKERNEL   2
 
#define ME_HFS2_PHASE_POLICY   3
 
#define ME_HFS2_PHASE_MODULE_LOAD   4
 
#define ME_HFS2_PHASE_UNKNOWN   5
 
#define ME_HFS2_PHASE_HOST_COMM   6
 
#define ME_HFS2_STATE_ROM_BEGIN   0
 
#define ME_HFS2_STATE_ROM_DISABLE   6
 
#define ME_HFS2_STATE_BUP_INIT   0
 
#define ME_HFS2_STATE_BUP_DIS_HOST_WAKE   1
 
#define ME_HFS2_STATE_BUP_FLOW_DET   4
 
#define ME_HFS2_STATE_BUP_VSCC_ERR   8
 
#define ME_HFS2_STATE_BUP_CHECK_STRAP   0xa
 
#define ME_HFS2_STATE_BUP_PWR_OK_TIMEOUT   0xb
 
#define ME_HFS2_STATE_BUP_MANUF_OVRD_STRAP   0xd
 
#define ME_HFS2_STATE_BUP_M3   0x11
 
#define ME_HFS2_STATE_BUP_M0   0x12
 
#define ME_HFS2_STATE_BUP_FLOW_DET_ERR   0x13
 
#define ME_HFS2_STATE_BUP_M3_CLK_ERR   0x15
 
#define ME_HFS2_STATE_BUP_CPU_RESET_DID_TIMEOUT_MEM_MISSING   0x17
 
#define ME_HFS2_STATE_BUP_M3_KERN_LOAD   0x18
 
#define ME_HFS2_STATE_BUP_T32_MISSING   0x1c
 
#define ME_HFS2_STATE_BUP_WAIT_DID   0x1f
 
#define ME_HFS2_STATE_BUP_WAIT_DID_FAIL   0x20
 
#define ME_HFS2_STATE_BUP_DID_NO_FAIL   0x21
 
#define ME_HFS2_STATE_BUP_ENABLE_UMA   0x22
 
#define ME_HFS2_STATE_BUP_ENABLE_UMA_ERR   0x23
 
#define ME_HFS2_STATE_BUP_SEND_DID_ACK   0x24
 
#define ME_HFS2_STATE_BUP_SEND_DID_ACK_ERR   0x25
 
#define ME_HFS2_STATE_BUP_M0_CLK   0x26
 
#define ME_HFS2_STATE_BUP_M0_CLK_ERR   0x27
 
#define ME_HFS2_STATE_BUP_TEMP_DIS   0x28
 
#define ME_HFS2_STATE_BUP_M0_KERN_LOAD   0x32
 
#define ME_HFS2_STATE_POLICY_ENTRY   0
 
#define ME_HFS2_STATE_POLICY_RCVD_S3   3
 
#define ME_HFS2_STATE_POLICY_RCVD_S4   4
 
#define ME_HFS2_STATE_POLICY_RCVD_S5   5
 
#define ME_HFS2_STATE_POLICY_RCVD_UPD   6
 
#define ME_HFS2_STATE_POLICY_RCVD_PCR   7
 
#define ME_HFS2_STATE_POLICY_RCVD_NPCR   8
 
#define ME_HFS2_STATE_POLICY_RCVD_HOST_WAKE   9
 
#define ME_HFS2_STATE_POLICY_RCVD_AC_DC   0xa
 
#define ME_HFS2_STATE_POLICY_RCVD_DID   0xb
 
#define ME_HFS2_STATE_POLICY_VSCC_NOT_FOUND   0xc
 
#define ME_HFS2_STATE_POLICY_VSCC_INVALID   0xd
 
#define ME_HFS2_STATE_POLICY_FPB_ERR   0xe
 
#define ME_HFS2_STATE_POLICY_DESCRIPTOR_ERR   0xf
 
#define ME_HFS2_STATE_POLICY_VSCC_NO_MATCH   0x10
 
#define ME_HFS2_PMEVENT_CLEAN_MOFF_MX_WAKE   0
 
#define ME_HFS2_PMEVENT_MOFF_MX_WAKE_ERROR   1
 
#define ME_HFS2_PMEVENT_CLEAN_GLOBAL_RESET   2
 
#define ME_HFS2_PMEVENT_CLEAN_GLOBAL_RESET_ERROR   3
 
#define ME_HFS2_PMEVENT_CLEAN_ME_RESET   4
 
#define ME_HFS2_PMEVENT_ME_RESET_EXCEPTION   5
 
#define ME_HFS2_PMEVENT_PSEUDO_ME_RESET   6
 
#define ME_HFS2_PMEVENT_S0MO_SXM3   7
 
#define ME_HFS2_PMEVENT_SXM3_S0M0   8
 
#define ME_HFS2_PMEVENT_NON_PWR_CYCLE_RESET   9
 
#define ME_HFS2_PMEVENT_PWR_CYCLE_RESET_M3   0xa
 
#define ME_HFS2_PMEVENT_PWR_CYCLE_RESET_MOFF   0xb
 
#define ME_HFS2_PMEVENT_SXMX_SXMOFF   0xc
 
#define PCI_ME_H_GS2   0x70
 
#define PCI_ME_MBP_GIVE_UP   0x01
 
#define PCI_ME_HERES   0xbc
 
#define PCI_ME_EXT_SHA1   0x00
 
#define PCI_ME_EXT_SHA256   0x02
 
#define PCI_ME_HER(x)   (0xc0+(4*(x)))
 
#define MEI_H_CB_WW   0x00
 
#define MEI_H_CSR   0x04
 
#define MEI_ME_CB_RW   0x08
 
#define MEI_ME_CSR_HA   0x0c
 
#define MEI_ADDRESS_CORE   0x01
 
#define MEI_ADDRESS_AMT   0x02
 
#define MEI_ADDRESS_RESERVED   0x03
 
#define MEI_ADDRESS_WDT   0x04
 
#define MEI_ADDRESS_MKHI   0x07
 
#define MEI_ADDRESS_ICC   0x08
 
#define MEI_ADDRESS_THERMAL   0x09
 
#define MEI_HOST_ADDRESS   0
 
#define MKHI_GROUP_ID_CBM   0x00
 
#define MKHI_GROUP_ID_FWCAPS   0x03
 
#define MKHI_GROUP_ID_MDES   0x08
 
#define MKHI_GROUP_ID_GEN   0xff
 
#define MKHI_GLOBAL_RESET   0x0b
 
#define MKHI_FWCAPS_GET_RULE   0x02
 
#define MKHI_MDES_ENABLE   0x09
 
#define MKHI_GET_FW_VERSION   0x02
 
#define MKHI_END_OF_POST   0x0c
 
#define MKHI_FEATURE_OVERRIDE   0x14
 
#define ICC_SET_CLOCK_ENABLES   0x3
 
#define ICC_API_VERSION_LYNXPOINT   0x00030000
 
#define HECI_EOP_STATUS_SUCCESS   0x0
 
#define HECI_EOP_PERFORM_GLOBAL_RESET   0x1
 
#define CBM_RR_GLOBAL_RESET   0x01
 
#define GLOBAL_RESET_BIOS_MRC   0x01
 
#define GLOBAL_RESET_BIOS_POST   0x02
 
#define GLOBAL_RESET_MEBX   0x03
 
#define MBP_APPID_KERNEL   1
 
#define MBP_APPID_INTEL_AT   3
 
#define MBP_APPID_HWA   4
 
#define MBP_APPID_ICC   5
 
#define MBP_APPID_NFC   6
 
#define MBP_KERNEL_FW_VER_ITEM   1
 
#define MBP_KERNEL_FW_CAP_ITEM   2
 
#define MBP_KERNEL_ROM_BIST_ITEM   3
 
#define MBP_KERNEL_PLAT_KEY_ITEM   4
 
#define MBP_KERNEL_FW_TYPE_ITEM   5
 
#define MBP_KERNEL_MFS_FAILURE_ITEM   6
 
#define MBP_KERNEL_PLAT_TIME_ITEM   7
 
#define MBP_INTEL_AT_STATE_ITEM   1
 
#define MBP_ICC_PROFILE_ITEM   1
 
#define MBP_HWA_REQUEST_ITEM   1
 
#define MBP_NFC_SUPPORT_DATA_ITEM   1
 
#define MBP_MAKE_IDENT(appid, item)   ((appid << 8) | item)
 
#define MBP_IDENT(appid, item)    MBP_MAKE_IDENT(MBP_APPID_##appid, MBP_##appid##_##item##_ITEM)
 

Enumerations

enum  me_bios_path {
  ME_NORMAL_BIOS_PATH , ME_S3WAKE_BIOS_PATH , ME_ERROR_BIOS_PATH , ME_RECOVERY_BIOS_PATH ,
  ME_DISABLE_BIOS_PATH , ME_FIRMWARE_UPDATE_BIOS_PATH , ME_NORMAL_BIOS_PATH , ME_S3WAKE_BIOS_PATH ,
  ME_ERROR_BIOS_PATH , ME_RECOVERY_BIOS_PATH , ME_DISABLE_BIOS_PATH , ME_FIRMWARE_UPDATE_BIOS_PATH ,
  ME_NORMAL_BIOS_PATH , ME_S3WAKE_BIOS_PATH , ME_ERROR_BIOS_PATH , ME_RECOVERY_BIOS_PATH ,
  ME_DISABLE_BIOS_PATH , ME_FIRMWARE_UPDATE_BIOS_PATH , ME_NORMAL_BIOS_PATH , ME_S3WAKE_BIOS_PATH ,
  ME_ERROR_BIOS_PATH , ME_RECOVERY_BIOS_PATH , ME_DISABLE_BIOS_PATH , ME_FIRMWARE_UPDATE_BIOS_PATH
}
 

Functions

void intel_me_status (union me_hfs hfs, union me_hfs2 hfs2)
 
void intel_early_me_status (void)
 
int intel_early_me_init (void)
 
int intel_early_me_uma_size (void)
 
int intel_early_me_init_done (u8 status)
 
void intel_me_finalize (struct device *dev)
 

Variables

struct mkhi_header __packed
 

Macro Definition Documentation

◆ CBM_RR_GLOBAL_RESET

#define CBM_RR_GLOBAL_RESET   0x01

Definition at line 316 of file me.h.

◆ GLOBAL_RESET_BIOS_MRC

#define GLOBAL_RESET_BIOS_MRC   0x01

Definition at line 318 of file me.h.

◆ GLOBAL_RESET_BIOS_POST

#define GLOBAL_RESET_BIOS_POST   0x02

Definition at line 319 of file me.h.

◆ GLOBAL_RESET_MEBX

#define GLOBAL_RESET_MEBX   0x03

Definition at line 320 of file me.h.

◆ HECI_EOP_PERFORM_GLOBAL_RESET

#define HECI_EOP_PERFORM_GLOBAL_RESET   0x1

Definition at line 314 of file me.h.

◆ HECI_EOP_STATUS_SUCCESS

#define HECI_EOP_STATUS_SUCCESS   0x0

Definition at line 313 of file me.h.

◆ ICC_API_VERSION_LYNXPOINT

#define ICC_API_VERSION_LYNXPOINT   0x00030000

Definition at line 296 of file me.h.

◆ ICC_SET_CLOCK_ENABLES

#define ICC_SET_CLOCK_ENABLES   0x3

Definition at line 295 of file me.h.

◆ MBP_APPID_HWA

#define MBP_APPID_HWA   4

Definition at line 353 of file me.h.

◆ MBP_APPID_ICC

#define MBP_APPID_ICC   5

Definition at line 354 of file me.h.

◆ MBP_APPID_INTEL_AT

#define MBP_APPID_INTEL_AT   3

Definition at line 352 of file me.h.

◆ MBP_APPID_KERNEL

#define MBP_APPID_KERNEL   1

Definition at line 351 of file me.h.

◆ MBP_APPID_NFC

#define MBP_APPID_NFC   6

Definition at line 355 of file me.h.

◆ MBP_HWA_REQUEST_ITEM

#define MBP_HWA_REQUEST_ITEM   1

Definition at line 369 of file me.h.

◆ MBP_ICC_PROFILE_ITEM

#define MBP_ICC_PROFILE_ITEM   1

Definition at line 367 of file me.h.

◆ MBP_IDENT

#define MBP_IDENT (   appid,
  item 
)     MBP_MAKE_IDENT(MBP_APPID_##appid, MBP_##appid##_##item##_ITEM)

Definition at line 374 of file me.h.

◆ MBP_INTEL_AT_STATE_ITEM

#define MBP_INTEL_AT_STATE_ITEM   1

Definition at line 365 of file me.h.

◆ MBP_KERNEL_FW_CAP_ITEM

#define MBP_KERNEL_FW_CAP_ITEM   2

Definition at line 358 of file me.h.

◆ MBP_KERNEL_FW_TYPE_ITEM

#define MBP_KERNEL_FW_TYPE_ITEM   5

Definition at line 361 of file me.h.

◆ MBP_KERNEL_FW_VER_ITEM

#define MBP_KERNEL_FW_VER_ITEM   1

Definition at line 357 of file me.h.

◆ MBP_KERNEL_MFS_FAILURE_ITEM

#define MBP_KERNEL_MFS_FAILURE_ITEM   6

Definition at line 362 of file me.h.

◆ MBP_KERNEL_PLAT_KEY_ITEM

#define MBP_KERNEL_PLAT_KEY_ITEM   4

Definition at line 360 of file me.h.

◆ MBP_KERNEL_PLAT_TIME_ITEM

#define MBP_KERNEL_PLAT_TIME_ITEM   7

Definition at line 363 of file me.h.

◆ MBP_KERNEL_ROM_BIST_ITEM

#define MBP_KERNEL_ROM_BIST_ITEM   3

Definition at line 359 of file me.h.

◆ MBP_MAKE_IDENT

#define MBP_MAKE_IDENT (   appid,
  item 
)    ((appid << 8) | item)

Definition at line 373 of file me.h.

◆ MBP_NFC_SUPPORT_DATA_ITEM

#define MBP_NFC_SUPPORT_DATA_ITEM   1

Definition at line 371 of file me.h.

◆ ME_DELAY

#define ME_DELAY   10 /* 10 us */

Definition at line 10 of file me.h.

◆ ME_HFS2_PHASE_BUP

#define ME_HFS2_PHASE_BUP   1

Definition at line 110 of file me.h.

◆ ME_HFS2_PHASE_HOST_COMM

#define ME_HFS2_PHASE_HOST_COMM   6

Definition at line 115 of file me.h.

◆ ME_HFS2_PHASE_MODULE_LOAD

#define ME_HFS2_PHASE_MODULE_LOAD   4

Definition at line 113 of file me.h.

◆ ME_HFS2_PHASE_POLICY

#define ME_HFS2_PHASE_POLICY   3

Definition at line 112 of file me.h.

◆ ME_HFS2_PHASE_ROM

#define ME_HFS2_PHASE_ROM   0

Definition at line 109 of file me.h.

◆ ME_HFS2_PHASE_UKERNEL

#define ME_HFS2_PHASE_UKERNEL   2

Definition at line 111 of file me.h.

◆ ME_HFS2_PHASE_UNKNOWN

#define ME_HFS2_PHASE_UNKNOWN   5

Definition at line 114 of file me.h.

◆ ME_HFS2_PMEVENT_CLEAN_GLOBAL_RESET

#define ME_HFS2_PMEVENT_CLEAN_GLOBAL_RESET   2

Definition at line 165 of file me.h.

◆ ME_HFS2_PMEVENT_CLEAN_GLOBAL_RESET_ERROR

#define ME_HFS2_PMEVENT_CLEAN_GLOBAL_RESET_ERROR   3

Definition at line 166 of file me.h.

◆ ME_HFS2_PMEVENT_CLEAN_ME_RESET

#define ME_HFS2_PMEVENT_CLEAN_ME_RESET   4

Definition at line 167 of file me.h.

◆ ME_HFS2_PMEVENT_CLEAN_MOFF_MX_WAKE

#define ME_HFS2_PMEVENT_CLEAN_MOFF_MX_WAKE   0

Definition at line 163 of file me.h.

◆ ME_HFS2_PMEVENT_ME_RESET_EXCEPTION

#define ME_HFS2_PMEVENT_ME_RESET_EXCEPTION   5

Definition at line 168 of file me.h.

◆ ME_HFS2_PMEVENT_MOFF_MX_WAKE_ERROR

#define ME_HFS2_PMEVENT_MOFF_MX_WAKE_ERROR   1

Definition at line 164 of file me.h.

◆ ME_HFS2_PMEVENT_NON_PWR_CYCLE_RESET

#define ME_HFS2_PMEVENT_NON_PWR_CYCLE_RESET   9

Definition at line 172 of file me.h.

◆ ME_HFS2_PMEVENT_PSEUDO_ME_RESET

#define ME_HFS2_PMEVENT_PSEUDO_ME_RESET   6

Definition at line 169 of file me.h.

◆ ME_HFS2_PMEVENT_PWR_CYCLE_RESET_M3

#define ME_HFS2_PMEVENT_PWR_CYCLE_RESET_M3   0xa

Definition at line 173 of file me.h.

◆ ME_HFS2_PMEVENT_PWR_CYCLE_RESET_MOFF

#define ME_HFS2_PMEVENT_PWR_CYCLE_RESET_MOFF   0xb

Definition at line 174 of file me.h.

◆ ME_HFS2_PMEVENT_S0MO_SXM3

#define ME_HFS2_PMEVENT_S0MO_SXM3   7

Definition at line 170 of file me.h.

◆ ME_HFS2_PMEVENT_SXM3_S0M0

#define ME_HFS2_PMEVENT_SXM3_S0M0   8

Definition at line 171 of file me.h.

◆ ME_HFS2_PMEVENT_SXMX_SXMOFF

#define ME_HFS2_PMEVENT_SXMX_SXMOFF   0xc

Definition at line 175 of file me.h.

◆ ME_HFS2_STATE_BUP_CHECK_STRAP

#define ME_HFS2_STATE_BUP_CHECK_STRAP   0xa

Definition at line 125 of file me.h.

◆ ME_HFS2_STATE_BUP_CPU_RESET_DID_TIMEOUT_MEM_MISSING

#define ME_HFS2_STATE_BUP_CPU_RESET_DID_TIMEOUT_MEM_MISSING   0x17

Definition at line 132 of file me.h.

◆ ME_HFS2_STATE_BUP_DID_NO_FAIL

#define ME_HFS2_STATE_BUP_DID_NO_FAIL   0x21

Definition at line 137 of file me.h.

◆ ME_HFS2_STATE_BUP_DIS_HOST_WAKE

#define ME_HFS2_STATE_BUP_DIS_HOST_WAKE   1

Definition at line 122 of file me.h.

◆ ME_HFS2_STATE_BUP_ENABLE_UMA

#define ME_HFS2_STATE_BUP_ENABLE_UMA   0x22

Definition at line 138 of file me.h.

◆ ME_HFS2_STATE_BUP_ENABLE_UMA_ERR

#define ME_HFS2_STATE_BUP_ENABLE_UMA_ERR   0x23

Definition at line 139 of file me.h.

◆ ME_HFS2_STATE_BUP_FLOW_DET

#define ME_HFS2_STATE_BUP_FLOW_DET   4

Definition at line 123 of file me.h.

◆ ME_HFS2_STATE_BUP_FLOW_DET_ERR

#define ME_HFS2_STATE_BUP_FLOW_DET_ERR   0x13

Definition at line 130 of file me.h.

◆ ME_HFS2_STATE_BUP_INIT

#define ME_HFS2_STATE_BUP_INIT   0

Definition at line 121 of file me.h.

◆ ME_HFS2_STATE_BUP_M0

#define ME_HFS2_STATE_BUP_M0   0x12

Definition at line 129 of file me.h.

◆ ME_HFS2_STATE_BUP_M0_CLK

#define ME_HFS2_STATE_BUP_M0_CLK   0x26

Definition at line 142 of file me.h.

◆ ME_HFS2_STATE_BUP_M0_CLK_ERR

#define ME_HFS2_STATE_BUP_M0_CLK_ERR   0x27

Definition at line 143 of file me.h.

◆ ME_HFS2_STATE_BUP_M0_KERN_LOAD

#define ME_HFS2_STATE_BUP_M0_KERN_LOAD   0x32

Definition at line 145 of file me.h.

◆ ME_HFS2_STATE_BUP_M3

#define ME_HFS2_STATE_BUP_M3   0x11

Definition at line 128 of file me.h.

◆ ME_HFS2_STATE_BUP_M3_CLK_ERR

#define ME_HFS2_STATE_BUP_M3_CLK_ERR   0x15

Definition at line 131 of file me.h.

◆ ME_HFS2_STATE_BUP_M3_KERN_LOAD

#define ME_HFS2_STATE_BUP_M3_KERN_LOAD   0x18

Definition at line 133 of file me.h.

◆ ME_HFS2_STATE_BUP_MANUF_OVRD_STRAP

#define ME_HFS2_STATE_BUP_MANUF_OVRD_STRAP   0xd

Definition at line 127 of file me.h.

◆ ME_HFS2_STATE_BUP_PWR_OK_TIMEOUT

#define ME_HFS2_STATE_BUP_PWR_OK_TIMEOUT   0xb

Definition at line 126 of file me.h.

◆ ME_HFS2_STATE_BUP_SEND_DID_ACK

#define ME_HFS2_STATE_BUP_SEND_DID_ACK   0x24

Definition at line 140 of file me.h.

◆ ME_HFS2_STATE_BUP_SEND_DID_ACK_ERR

#define ME_HFS2_STATE_BUP_SEND_DID_ACK_ERR   0x25

Definition at line 141 of file me.h.

◆ ME_HFS2_STATE_BUP_T32_MISSING

#define ME_HFS2_STATE_BUP_T32_MISSING   0x1c

Definition at line 134 of file me.h.

◆ ME_HFS2_STATE_BUP_TEMP_DIS

#define ME_HFS2_STATE_BUP_TEMP_DIS   0x28

Definition at line 144 of file me.h.

◆ ME_HFS2_STATE_BUP_VSCC_ERR

#define ME_HFS2_STATE_BUP_VSCC_ERR   8

Definition at line 124 of file me.h.

◆ ME_HFS2_STATE_BUP_WAIT_DID

#define ME_HFS2_STATE_BUP_WAIT_DID   0x1f

Definition at line 135 of file me.h.

◆ ME_HFS2_STATE_BUP_WAIT_DID_FAIL

#define ME_HFS2_STATE_BUP_WAIT_DID_FAIL   0x20

Definition at line 136 of file me.h.

◆ ME_HFS2_STATE_POLICY_DESCRIPTOR_ERR

#define ME_HFS2_STATE_POLICY_DESCRIPTOR_ERR   0xf

Definition at line 160 of file me.h.

◆ ME_HFS2_STATE_POLICY_ENTRY

#define ME_HFS2_STATE_POLICY_ENTRY   0

Definition at line 147 of file me.h.

◆ ME_HFS2_STATE_POLICY_FPB_ERR

#define ME_HFS2_STATE_POLICY_FPB_ERR   0xe

Definition at line 159 of file me.h.

◆ ME_HFS2_STATE_POLICY_RCVD_AC_DC

#define ME_HFS2_STATE_POLICY_RCVD_AC_DC   0xa

Definition at line 155 of file me.h.

◆ ME_HFS2_STATE_POLICY_RCVD_DID

#define ME_HFS2_STATE_POLICY_RCVD_DID   0xb

Definition at line 156 of file me.h.

◆ ME_HFS2_STATE_POLICY_RCVD_HOST_WAKE

#define ME_HFS2_STATE_POLICY_RCVD_HOST_WAKE   9

Definition at line 154 of file me.h.

◆ ME_HFS2_STATE_POLICY_RCVD_NPCR

#define ME_HFS2_STATE_POLICY_RCVD_NPCR   8

Definition at line 153 of file me.h.

◆ ME_HFS2_STATE_POLICY_RCVD_PCR

#define ME_HFS2_STATE_POLICY_RCVD_PCR   7

Definition at line 152 of file me.h.

◆ ME_HFS2_STATE_POLICY_RCVD_S3

#define ME_HFS2_STATE_POLICY_RCVD_S3   3

Definition at line 148 of file me.h.

◆ ME_HFS2_STATE_POLICY_RCVD_S4

#define ME_HFS2_STATE_POLICY_RCVD_S4   4

Definition at line 149 of file me.h.

◆ ME_HFS2_STATE_POLICY_RCVD_S5

#define ME_HFS2_STATE_POLICY_RCVD_S5   5

Definition at line 150 of file me.h.

◆ ME_HFS2_STATE_POLICY_RCVD_UPD

#define ME_HFS2_STATE_POLICY_RCVD_UPD   6

Definition at line 151 of file me.h.

◆ ME_HFS2_STATE_POLICY_VSCC_INVALID

#define ME_HFS2_STATE_POLICY_VSCC_INVALID   0xd

Definition at line 158 of file me.h.

◆ ME_HFS2_STATE_POLICY_VSCC_NO_MATCH

#define ME_HFS2_STATE_POLICY_VSCC_NO_MATCH   0x10

Definition at line 161 of file me.h.

◆ ME_HFS2_STATE_POLICY_VSCC_NOT_FOUND

#define ME_HFS2_STATE_POLICY_VSCC_NOT_FOUND   0xc

Definition at line 157 of file me.h.

◆ ME_HFS2_STATE_ROM_BEGIN

#define ME_HFS2_STATE_ROM_BEGIN   0

Definition at line 118 of file me.h.

◆ ME_HFS2_STATE_ROM_DISABLE

#define ME_HFS2_STATE_ROM_DISABLE   6

Definition at line 119 of file me.h.

◆ ME_HFS_ACK_CONTINUE

#define ME_HFS_ACK_CONTINUE   7

Definition at line 51 of file me.h.

◆ ME_HFS_ACK_GBL_RESET

#define ME_HFS_ACK_GBL_RESET   6

Definition at line 50 of file me.h.

◆ ME_HFS_ACK_NO_DID

#define ME_HFS_ACK_NO_DID   0

Definition at line 44 of file me.h.

◆ ME_HFS_ACK_PWR_CYCLE

#define ME_HFS_ACK_PWR_CYCLE   2

Definition at line 46 of file me.h.

◆ ME_HFS_ACK_RESET

#define ME_HFS_ACK_RESET   1

Definition at line 45 of file me.h.

◆ ME_HFS_ACK_S3

#define ME_HFS_ACK_S3   3

Definition at line 47 of file me.h.

◆ ME_HFS_ACK_S4

#define ME_HFS_ACK_S4   4

Definition at line 48 of file me.h.

◆ ME_HFS_ACK_S5

#define ME_HFS_ACK_S5   5

Definition at line 49 of file me.h.

◆ ME_HFS_BIOS_DRAM_ACK

#define ME_HFS_BIOS_DRAM_ACK   1

Definition at line 43 of file me.h.

◆ ME_HFS_CWS_INIT

#define ME_HFS_CWS_INIT   1

Definition at line 22 of file me.h.

◆ ME_HFS_CWS_INVALID

#define ME_HFS_CWS_INVALID   8

Definition at line 27 of file me.h.

◆ ME_HFS_CWS_NORMAL

#define ME_HFS_CWS_NORMAL   5

Definition at line 24 of file me.h.

◆ ME_HFS_CWS_REC

#define ME_HFS_CWS_REC   2

Definition at line 23 of file me.h.

◆ ME_HFS_CWS_RESET

#define ME_HFS_CWS_RESET   0

Definition at line 21 of file me.h.

◆ ME_HFS_CWS_TRANS

#define ME_HFS_CWS_TRANS   7

Definition at line 26 of file me.h.

◆ ME_HFS_CWS_WAIT

#define ME_HFS_CWS_WAIT   6

Definition at line 25 of file me.h.

◆ ME_HFS_ERROR_DEBUG

#define ME_HFS_ERROR_DEBUG   4

Definition at line 37 of file me.h.

◆ ME_HFS_ERROR_IMAGE

#define ME_HFS_ERROR_IMAGE   3

Definition at line 36 of file me.h.

◆ ME_HFS_ERROR_NONE

#define ME_HFS_ERROR_NONE   0

Definition at line 34 of file me.h.

◆ ME_HFS_ERROR_UNCAT

#define ME_HFS_ERROR_UNCAT   1

Definition at line 35 of file me.h.

◆ ME_HFS_MODE_DEBUG

#define ME_HFS_MODE_DEBUG   2

Definition at line 39 of file me.h.

◆ ME_HFS_MODE_DIS

#define ME_HFS_MODE_DIS   3

Definition at line 40 of file me.h.

◆ ME_HFS_MODE_NORMAL

#define ME_HFS_MODE_NORMAL   0

Definition at line 38 of file me.h.

◆ ME_HFS_MODE_OVER_JMPR

#define ME_HFS_MODE_OVER_JMPR   4

Definition at line 41 of file me.h.

◆ ME_HFS_MODE_OVER_MEI

#define ME_HFS_MODE_OVER_MEI   5

Definition at line 42 of file me.h.

◆ ME_HFS_STATE_BRINGUP

#define ME_HFS_STATE_BRINGUP   6

Definition at line 32 of file me.h.

◆ ME_HFS_STATE_ERROR

#define ME_HFS_STATE_ERROR   7

Definition at line 33 of file me.h.

◆ ME_HFS_STATE_M0

#define ME_HFS_STATE_M0   5

Definition at line 31 of file me.h.

◆ ME_HFS_STATE_M0_UMA

#define ME_HFS_STATE_M0_UMA   1

Definition at line 29 of file me.h.

◆ ME_HFS_STATE_M3

#define ME_HFS_STATE_M3   4

Definition at line 30 of file me.h.

◆ ME_HFS_STATE_PREBOOT

#define ME_HFS_STATE_PREBOOT   0

Definition at line 28 of file me.h.

◆ ME_INIT_DONE

#define ME_INIT_DONE   1

Definition at line 86 of file me.h.

◆ ME_INIT_STATUS_ERROR

#define ME_INIT_STATUS_ERROR   2

Definition at line 89 of file me.h.

◆ ME_INIT_STATUS_NOMEM

#define ME_INIT_STATUS_NOMEM   1

Definition at line 88 of file me.h.

◆ ME_INIT_STATUS_SUCCESS

#define ME_INIT_STATUS_SUCCESS   0

Definition at line 87 of file me.h.

◆ ME_INIT_STATUS_SUCCESS_OTHER

#define ME_INIT_STATUS_SUCCESS_OTHER   3 /* SEE ME9 BWG */

Definition at line 90 of file me.h.

◆ ME_RETRY

#define ME_RETRY   100000 /* 1 second */

Definition at line 9 of file me.h.

◆ MEI_ADDRESS_AMT

#define MEI_ADDRESS_AMT   0x02

Definition at line 240 of file me.h.

◆ MEI_ADDRESS_CORE

#define MEI_ADDRESS_CORE   0x01

Definition at line 239 of file me.h.

◆ MEI_ADDRESS_ICC

#define MEI_ADDRESS_ICC   0x08

Definition at line 244 of file me.h.

◆ MEI_ADDRESS_MKHI

#define MEI_ADDRESS_MKHI   0x07

Definition at line 243 of file me.h.

◆ MEI_ADDRESS_RESERVED

#define MEI_ADDRESS_RESERVED   0x03

Definition at line 241 of file me.h.

◆ MEI_ADDRESS_THERMAL

#define MEI_ADDRESS_THERMAL   0x09

Definition at line 245 of file me.h.

◆ MEI_ADDRESS_WDT

#define MEI_ADDRESS_WDT   0x04

Definition at line 242 of file me.h.

◆ MEI_H_CB_WW

#define MEI_H_CB_WW   0x00

Definition at line 219 of file me.h.

◆ MEI_H_CSR

#define MEI_H_CSR   0x04

Definition at line 220 of file me.h.

◆ MEI_HOST_ADDRESS

#define MEI_HOST_ADDRESS   0

Definition at line 247 of file me.h.

◆ MEI_ME_CB_RW

#define MEI_ME_CB_RW   0x08

Definition at line 221 of file me.h.

◆ MEI_ME_CSR_HA

#define MEI_ME_CSR_HA   0x0c

Definition at line 222 of file me.h.

◆ MKHI_END_OF_POST

#define MKHI_END_OF_POST   0x0c

Definition at line 272 of file me.h.

◆ MKHI_FEATURE_OVERRIDE

#define MKHI_FEATURE_OVERRIDE   0x14

Definition at line 273 of file me.h.

◆ MKHI_FWCAPS_GET_RULE

#define MKHI_FWCAPS_GET_RULE   0x02

Definition at line 267 of file me.h.

◆ MKHI_GET_FW_VERSION

#define MKHI_GET_FW_VERSION   0x02

Definition at line 271 of file me.h.

◆ MKHI_GLOBAL_RESET

#define MKHI_GLOBAL_RESET   0x0b

Definition at line 265 of file me.h.

◆ MKHI_GROUP_ID_CBM

#define MKHI_GROUP_ID_CBM   0x00

Definition at line 260 of file me.h.

◆ MKHI_GROUP_ID_FWCAPS

#define MKHI_GROUP_ID_FWCAPS   0x03

Definition at line 261 of file me.h.

◆ MKHI_GROUP_ID_GEN

#define MKHI_GROUP_ID_GEN   0xff

Definition at line 263 of file me.h.

◆ MKHI_GROUP_ID_MDES

#define MKHI_GROUP_ID_MDES   0x08

Definition at line 262 of file me.h.

◆ MKHI_MDES_ENABLE

#define MKHI_MDES_ENABLE   0x09

Definition at line 269 of file me.h.

◆ PCI_CPU_DEVICE

#define PCI_CPU_DEVICE   PCI_DEV(0,0,0)

Definition at line 16 of file me.h.

◆ PCI_CPU_MEBASE_H

#define PCI_CPU_MEBASE_H   0x74 /* Set by MRC */

Definition at line 18 of file me.h.

◆ PCI_CPU_MEBASE_L

#define PCI_CPU_MEBASE_L   0x70 /* Set by MRC */

Definition at line 17 of file me.h.

◆ PCI_ME_EXT_SHA1

#define PCI_ME_EXT_SHA1   0x00

Definition at line 201 of file me.h.

◆ PCI_ME_EXT_SHA256

#define PCI_ME_EXT_SHA256   0x02

Definition at line 202 of file me.h.

◆ PCI_ME_H_GS

#define PCI_ME_H_GS   0x4c

Definition at line 85 of file me.h.

◆ PCI_ME_H_GS2

#define PCI_ME_H_GS2   0x70

Definition at line 197 of file me.h.

◆ PCI_ME_HER

#define PCI_ME_HER (   x)    (0xc0+(4*(x)))

Definition at line 203 of file me.h.

◆ PCI_ME_HERES

#define PCI_ME_HERES   0xbc

Definition at line 200 of file me.h.

◆ PCI_ME_HFS

#define PCI_ME_HFS   0x40

Definition at line 20 of file me.h.

◆ PCI_ME_HFS2

#define PCI_ME_HFS2   0x48

Definition at line 107 of file me.h.

◆ PCI_ME_MBP_GIVE_UP

#define PCI_ME_MBP_GIVE_UP   0x01

Definition at line 198 of file me.h.

◆ PCI_ME_UMA

#define PCI_ME_UMA   0x44

Definition at line 72 of file me.h.

Enumeration Type Documentation

◆ me_bios_path

Enumerator
ME_NORMAL_BIOS_PATH 
ME_S3WAKE_BIOS_PATH 
ME_ERROR_BIOS_PATH 
ME_RECOVERY_BIOS_PATH 
ME_DISABLE_BIOS_PATH 
ME_FIRMWARE_UPDATE_BIOS_PATH 
ME_NORMAL_BIOS_PATH 
ME_S3WAKE_BIOS_PATH 
ME_ERROR_BIOS_PATH 
ME_RECOVERY_BIOS_PATH 
ME_DISABLE_BIOS_PATH 
ME_FIRMWARE_UPDATE_BIOS_PATH 
ME_NORMAL_BIOS_PATH 
ME_S3WAKE_BIOS_PATH 
ME_ERROR_BIOS_PATH 
ME_RECOVERY_BIOS_PATH 
ME_DISABLE_BIOS_PATH 
ME_FIRMWARE_UPDATE_BIOS_PATH 
ME_NORMAL_BIOS_PATH 
ME_S3WAKE_BIOS_PATH 
ME_ERROR_BIOS_PATH 
ME_RECOVERY_BIOS_PATH 
ME_DISABLE_BIOS_PATH 
ME_FIRMWARE_UPDATE_BIOS_PATH 

Definition at line 327 of file me.h.

Function Documentation

◆ intel_early_me_init()

int intel_early_me_init ( void  )

Definition at line 43 of file early_me.c.

References BIOS_ERR, BIOS_INFO, BIOS_WARNING, count, me_hfs::fpt_bad, ME_DELAY, ME_RETRY, PCH_ME_DEV, PCI_ME_HFS, PCI_ME_UMA, pci_read_config32(), printk, me_hfs::raw, me_uma::raw, udelay(), and me_uma::valid.

Referenced by init_dram_ddr3(), raminit(), and sdram_initialize().

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

◆ intel_early_me_init_done()

◆ intel_early_me_status()

void intel_early_me_status ( void  )

Definition at line 26 of file early_me.c.

References BIOS_DEBUG, intel_me_status(), PCH_ME_DEV, PCI_ME_GMES, PCI_ME_HFS, PCI_ME_HFS2, pci_read_config32(), PCI_VENDOR_ID, printk, me_hfs::raw, me_gmes::raw, and me_hfs2::raw.

Referenced by init_dram_ddr3(), intel_early_me_init_done(), mainboard_romstage_entry(), perform_raminit(), and sdram_initialize().

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

◆ intel_early_me_uma_size()

int intel_early_me_uma_size ( void  )

Definition at line 74 of file early_me.c.

References BIOS_DEBUG, PCH_ME_DEV, PCI_ME_UMA, pci_read_config32(), printk, me_uma::raw, me_uma::size, and me_uma::valid.

Referenced by init_dram_ddr3(), raminit(), and sdram_initialize().

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

◆ intel_me_finalize()

◆ intel_me_status()

Variable Documentation

◆ __packed