From coreboot
Jump to navigation Jump to search

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to Contributions welcome!


This page is a work in progress

MMIO (Memory-mapped I/O) and port I/O (also called port-mapped I/O or PMIO) are two complementary methods of performing input/output between the CPU and I/O devices in a computer.

PIO (Programmed Input/Output) interface is the original method used to transfer data between the CPU (through the IDE controller) and an IDE/ATA device.

The Framebuffer is a part of RAM in a computer allocated to hold the graphics information for one frame or picture. This information typically consists of color values for every pixel on the screen. A framebuffer is either:

  • Off-screen, meaning that writes to the framebuffer don't appear on the visible screen
  • On-screen, meaning that the framebuffer is directly coupled to the visible display

POST (Power On Self Test) is a test to check that devices the computer will rely on are functioning, and initializes devices.

I2C - Inter-Integrated-Circuit, a bidirectional 2-wire bus for efficient inter-IC control. See '' for more info.

Code examples(?): ...

VID - Vendor ID, a way of identifying the hardware manufacturer. See '' and '' for more info.

A way of obtaining info for your hardware is through the 'lspci' command. Simply type 'lspci -n' in the console (or an xterm) or 'lspci -vn' for more verbose output.

DID - Device ID, a way of identifying the hardware in question. See VID (above) for more info.

DMA (Direct Memory Access) allows certain hardware subsystems within a computer to access system memory for reading and/or writing independently of the main CPU. Examples of systems that use DMA: Hard Disk Controller, Disk Drive Controller, Graphics Card, Sound Card. DMA is an essential feature of all modern computers, as it allows devices of different speeds to communicate without subjecting the CPU to a massive interrupt load.

RDMA (Remote Direct Memory Access) is a concept whereby two or more computers communicate via DMA directly from main memory of one system to the main memory of another.

The purpose of the VGAcon (VGA controller) is to isolate the details of VGA signal generation from all the other modules in a (hardware) design. It allows the pixel information to be written into its video memory using a very simple interface, while it is alone responsible for generating the required signals for displaying the pixel information on a VGA monitor. (Note: This is mostly relevant to a hardware design - the text is copied from a students fpga project)

AHCI (Advanced Host Controller Interface). Describes the register-level interface for a SATA host controller.

OHCI (Open Host Controller Interface). IEEE1394 (Firewire) and USB standard (mostly used by other companies than Intel)

UHCI (Universal Host Controller Interface). USB standard.

SPI (Serial Peripheral Interface Bus) is a very loose standard for controlling almost any digital electronics that accepts a clocked serial stream of bits.

SIO (Serial Input/Output)

PIC (Programmable Interrupt Controller) is a device to control peripheral devices, offloading the main CPU.

PLL (Phase Locked Loop) is a device to keep (electrical) signals synchronised throughout the system.

SuperIO is the chip that provides floppy, serial and parallel functionality/ports.

SPD (Serial Presence Detect). On every (?) memory module there's an eprom that provides BIOS with information on how to properly configure the memory module.

SMBus (System Management Bus) is a simple two-wire bus used for communication with low-bandwidth devices on a motherboard. It is based on (actually a subset of) I2C. See I2C for more info.

ACPI (Advanced Configuration & Power Interface) is an industry standard for letting the OS control power management.

APIC (Advanced Programmable Interrupt Controller). An advanced version of a PIC that can handle interrupts from and for multiple CPUs.

VMEBus (VERSAmodule Eurocard Bus OR Versa Module Europa Bus). A computer bus originally developed for the Motorola 68000.

PCI (Peripheral Component Interconnect).

PCI Configuration Space.

PIRQ (Pci IRQ routing table). Interesting tool?:

PAM (Programmable Attribute Map).


SMRAM (System Management Random Access Memory).

MPTable (Multi Processor Table). Intel MP specification is a hardware compatibility guide for machine hardware designers and OS software writers to produce SMP-capable machines and OSes in a vendor-independent manner. v1.1 and v1.4 versions exist.


DCR (Decode Control Register)