coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
me_8.x.c File Reference
#include <acpi/acpi.h>
#include <cf9_reset.h>
#include <device/mmio.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ops.h>
#include <console/console.h>
#include <device/pci_ids.h>
#include <device/pci_def.h>
#include <string.h>
#include <elog.h>
#include <halt.h>
#include <option.h>
#include <southbridge/intel/common/me.h>
#include "me.h"
#include "pch.h"
Include dependency graph for me_8.x.c:

Go to the source code of this file.

Macros

#define SET_UP_COPY(field)
 

Functions

static void print_cap (const char *name, int state)
 
static void me_print_fw_version (mbp_fw_version_name *vers_name)
 
static me_bios_path intel_me_path (struct device *dev)
 
static int intel_me_read_mbp (me_bios_payload *mbp_data)
 
static int mkhi_get_fwcaps (mefwcaps_sku *cap)
 
static void me_print_fwcaps (mbp_fw_caps *caps_section)
 
static void intel_me_init (struct device *dev)
 
static u32 me_to_host_words_pending (void)
 

Variables

static struct device_operations device_ops
 
static const struct pci_driver intel_me __pci_driver
 

Macro Definition Documentation

◆ SET_UP_COPY

#define SET_UP_COPY (   field)
Value:
{ copy_addr = (u32 *)&mbp_data->field; \
buffer_room = sizeof(mbp_data->field) / sizeof(u32); \
break; \
}
uint32_t u32
Definition: stdint.h:51

Function Documentation

◆ intel_me_init()

static void intel_me_init ( struct device dev)
static

Definition at line 174 of file me_8.x.c.

◆ intel_me_path()

◆ intel_me_read_mbp()

◆ me_print_fw_version()

◆ me_print_fwcaps()

static void me_print_fwcaps ( mbp_fw_caps caps_section)
static

Definition at line 146 of file me_8.x.c.

References mbp_fw_caps::available, BIOS_ERR, mbp_fw_caps::fw_capabilities, mkhi_get_fwcaps(), print_cap(), and printk.

Here is the call graph for this function:

◆ me_to_host_words_pending()

static u32 me_to_host_words_pending ( void  )
static

Definition at line 294 of file me_8.x.c.

References mei_csr::buffer_depth, mei_csr::buffer_read_ptr, mei_csr::buffer_write_ptr, read_me_csr(), and mei_csr::ready.

Referenced by intel_me_read_mbp().

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

◆ mkhi_get_fwcaps()

static int mkhi_get_fwcaps ( mefwcaps_sku *  cap)
static

Definition at line 121 of file me_8.x.c.

References BIOS_ERR, me_fwcaps::caps_sku, mkhi_header::group_id, mei_header::is_complete, MEI_ADDRESS_MKHI, MEI_HOST_ADDRESS, mei_sendrecv(), MKHI_FWCAPS_GET_RULE, MKHI_GROUP_ID_FWCAPS, and printk.

Referenced by me_print_fwcaps().

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

◆ print_cap()

static void print_cap ( const char *  name,
int  state 
)
inlinestatic

Definition at line 29 of file me_8.x.c.

References BIOS_DEBUG, name, and printk.

Referenced by me_print_fwcaps().

Here is the caller graph for this function:

Variable Documentation

◆ __pci_driver

const struct pci_driver intel_me __pci_driver
static
Initial value:
= {
.ops = &device_ops,
.vendor = PCI_VID_INTEL,
.device = 0x1e3a,
}
static struct device_operations device_ops
Definition: me_8.x.c:278
#define PCI_VID_INTEL
Definition: pci_ids.h:2157

Definition at line 174 of file me_8.x.c.

◆ device_ops

struct device_operations device_ops
static
Initial value:
= {
.read_resources = pci_dev_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = intel_me_init,
.ops_pci = &pci_dev_ops_pci,
}
static void intel_me_init(struct device *dev)
Definition: me_8.x.c:174
void pci_dev_enable_resources(struct device *dev)
Definition: pci_device.c:721
void pci_dev_read_resources(struct device *dev)
Definition: pci_device.c:534
struct pci_operations pci_dev_ops_pci
Default device operation for PCI devices.
Definition: pci_device.c:911
void pci_dev_set_resources(struct device *dev)
Definition: pci_device.c:691

Definition at line 174 of file me_8.x.c.