coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ioapic.c File Reference
#include <arch/ioapic.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include <assert.h>
#include "82870.h"
Include dependency graph for ioapic.c:

Go to the source code of this file.

Functions

static void p64h2_ioapic_enable (struct device *dev)
 
static void p64h2_ioapic_init (struct device *dev)
 Configure one of the IOAPICs in a P64H2. More...
 

Variables

static int num_p64h2_ioapics = 0
 
static struct device_operations ioapic_ops
 
static const struct pci_driver ioapic_driver __pci_driver
 

Function Documentation

◆ p64h2_ioapic_enable()

static void p64h2_ioapic_enable ( struct device dev)
static

Definition at line 13 of file ioapic.c.

References PCI_COMMAND, PCI_COMMAND_MASTER, PCI_COMMAND_MEMORY, PCI_COMMAND_PARITY, PCI_COMMAND_SERR, and pci_write_config16().

Here is the call graph for this function:

◆ p64h2_ioapic_init()

static void p64h2_ioapic_init ( struct device dev)
static

Configure one of the IOAPICs in a P64H2.

Note that a PCI bus scan will detect both IOAPICs, so this function will be called twice for each P64H2 in the system.

Parameters
devPCI bus/device/function of P64H2 IOAPIC. NOTE: There are two IOAPICs per P64H2, at D28:F0 and D30:F0.

Definition at line 30 of file ioapic.c.

Variable Documentation

◆ __pci_driver

const struct pci_driver ioapic_driver __pci_driver
static
Initial value:
= {
.ops = &ioapic_ops,
.vendor = PCI_VID_INTEL,
}
#define PCI_DID_INTEL_82870_1E0
Definition: pci_ids.h:2679
#define PCI_VID_INTEL
Definition: pci_ids.h:2157
static struct device_operations ioapic_ops
Definition: ioapic.c:66

Definition at line 30 of file ioapic.c.

◆ ioapic_ops

struct device_operations ioapic_ops
static
Initial value:
= {
.read_resources = pci_dev_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
}
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
void pci_dev_set_resources(struct device *dev)
Definition: pci_device.c:691
static void p64h2_ioapic_init(struct device *dev)
Configure one of the IOAPICs in a P64H2.
Definition: ioapic.c:30
static void p64h2_ioapic_enable(struct device *dev)
Definition: ioapic.c:13

Definition at line 30 of file ioapic.c.

◆ num_p64h2_ioapics

int num_p64h2_ioapics = 0
static

Definition at line 11 of file ioapic.c.