coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
northbridge.c File Reference
#include <console/console.h>
#include <cpu/cpu.h>
#include <cpu/x86/lapic_def.h>
#include <cpu/x86/mp.h>
#include <arch/io.h>
#include <device/pci_def.h>
#include <device/pci_ops.h>
#include <arch/ioapic.h>
#include <device/device.h>
#include <stdlib.h>
#include <smbios.h>
#include <types.h>
#include "memory.h"
#include "fw_cfg.h"
#include "fw_cfg_if.h"
#include "acpi.h"
Include dependency graph for northbridge.c:

Go to the source code of this file.

Functions

static void qemu_reserve_ports (struct device *dev, unsigned int idx, unsigned int base, unsigned int size, const char *name)
 
static void cpu_pci_domain_set_resources (struct device *dev)
 
static void cpu_pci_domain_read_resources (struct device *dev)
 
void mp_init_cpus (struct bus *cpu_bus)
 
static void cpu_bus_init (struct device *dev)
 
static void cpu_bus_scan (struct device *bus)
 
static void northbridge_enable (struct device *dev)
 

Variables

static struct device_operations pci_domain_ops
 
static const struct mp_ops mp_ops_no_smm
 
const struct mp_ops mp_ops_with_smm
 
static struct device_operations cpu_bus_ops
 
struct chip_operations mainboard_emulation_qemu_i440fx_ops
 
struct chip_operations mainboard_emulation_qemu_q35_ops
 

Function Documentation

◆ cpu_bus_init()

static void cpu_bus_init ( struct device dev)
static

Definition at line 256 of file northbridge.c.

References CONFIG, initialize_cpus(), device::link_list, and mp_cpu_bus_init().

Here is the call graph for this function:

◆ cpu_bus_scan()

static void cpu_bus_scan ( struct device bus)
static

Definition at line 264 of file northbridge.c.

◆ cpu_pci_domain_read_resources()

◆ cpu_pci_domain_set_resources()

static void cpu_pci_domain_set_resources ( struct device dev)
static

Definition at line 39 of file northbridge.c.

References assign_resources(), and device::link_list.

Here is the call graph for this function:

◆ mp_init_cpus()

void mp_init_cpus ( struct bus cpu_bus)

Definition at line 248 of file northbridge.c.

References CONFIG, mp_init_with_smm(), mp_ops_no_smm, mp_ops_with_smm, and ops.

Here is the call graph for this function:

◆ northbridge_enable()

static void northbridge_enable ( struct device dev)
static

Definition at line 299 of file northbridge.c.

◆ qemu_reserve_ports()

static void qemu_reserve_ports ( struct device dev,
unsigned int  idx,
unsigned int  base,
unsigned int  size,
const char *  name 
)
static

Definition at line 22 of file northbridge.c.

References resource::base, base, BIOS_DEBUG, resource::flags, IORESOURCE_ASSIGNED, IORESOURCE_FIXED, IORESOURCE_IO, IORESOURCE_STORED, resource::limit, name, new_resource(), printk, and resource::size.

Referenced by cpu_pci_domain_read_resources().

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

Variable Documentation

◆ cpu_bus_ops

struct device_operations cpu_bus_ops
static
Initial value:
= {
.read_resources = noop_read_resources,
.set_resources = noop_set_resources,
.init = cpu_bus_init,
.scan_bus = cpu_bus_scan,
}
static void noop_read_resources(struct device *dev)
Standard device operations function pointers shims.
Definition: device.h:73
static void noop_set_resources(struct device *dev)
Definition: device.h:74
static void cpu_bus_init(struct device *dev)
Definition: northbridge.c:256
static void cpu_bus_scan(struct device *bus)
Definition: northbridge.c:264

Definition at line 264 of file northbridge.c.

◆ mainboard_emulation_qemu_i440fx_ops

struct chip_operations mainboard_emulation_qemu_i440fx_ops
Initial value:
= {
.enable_dev = northbridge_enable,
}
static void northbridge_enable(struct device *dev)
Definition: northbridge.c:299

Definition at line 299 of file northbridge.c.

◆ mainboard_emulation_qemu_q35_ops

struct chip_operations mainboard_emulation_qemu_q35_ops
Initial value:
= {
.enable_dev = northbridge_enable,
}

Definition at line 299 of file northbridge.c.

◆ mp_ops_no_smm

const struct mp_ops mp_ops_no_smm
static
Initial value:
= {
.get_cpu_count = fw_cfg_max_cpus,
}
int fw_cfg_max_cpus(void)
Definition: fw_cfg.c:131

Definition at line 44 of file northbridge.c.

Referenced by mp_init_cpus().

◆ mp_ops_with_smm

const struct mp_ops mp_ops_with_smm
extern

Definition at line 43 of file cpu.c.

Referenced by mp_init_cpus().

◆ pci_domain_ops

struct device_operations pci_domain_ops
static
Initial value:
= {
.read_resources = cpu_pci_domain_read_resources,
.set_resources = cpu_pci_domain_set_resources,
.scan_bus = pci_domain_scan_bus,
}
static void cpu_pci_domain_set_resources(struct device *dev)
Definition: northbridge.c:39
static void cpu_pci_domain_read_resources(struct device *dev)
Definition: northbridge.c:44
void pci_domain_scan_bus(struct device *dev)
Scan a PCI domain.
Definition: pci_device.c:1610

Definition at line 44 of file northbridge.c.