This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Option ROM" – news · newspapers · books · scholar · JSTOR(November 2015) (Learn how and when to remove this message)
An Option ROM for the PC platform (i.e. the IBM PC and derived successor computer systems) is a piece of firmware that resides in ROM on an expansion card (or stored along with the main system BIOS), which gets executed to initialize the device and (optionally) add support for the device to the BIOS. In its usual use, it is essentially a driver that interfaces between the BIOS API and hardware. Technically, an option ROM is firmware that is executed by the BIOS after POST (the testing and initialization of basic system hardware) and before the BIOS boot process, gaining complete control of the system and being generally unrestricted in what it can do. The BIOS relies on each option ROM to return control to the BIOS so that it can either call the next option ROM or commence the boot process. For this reason, it is possible (but not usual) for an option ROM to keep control and preempt the BIOS boot process. The BIOS (at least as originally designed by IBM) generally scans for and initializes (by executing) option ROMs in ascending address order at 2 KB address intervals within two different address ranges above address C0000h in the conventional (20-bit) memory address space; later systems may also scan additional address ranges in the 24-bit or 32-bit extended address space.
Option ROMs are necessary to enable non-Plug and Play peripheral devices to boot and to extend the BIOS to provide support for any non-Plug and Play peripheral device in the same way that standard and motherboard-integrated peripherals are supported. Option ROMs are also used to extend the BIOS or to add other firmware services to the BIOS. In principle, an option ROM could provide any sort of firmware extension, such as a library of video graphics subroutines, or a set of PCM audio processing services, and cause it to be installed into the system RAM and optionally the CPU interrupt system before boot time.
A common option ROM is the video BIOS which gets loaded very early on in the boot process and hooks INT 10h so that output from the power-on self-test (POST) can be displayed. The video BIOS is almost always located in the memory segment beginning at C0000h, the start of the memory area reserved for option ROMs; this is because when the motherboard has a built-in VGA controller, the option ROM will reside in the BIOS – the BIOS knows where it is and shadows it into RAM at a fixed time. Other ROMs can be located from segments C8000h all the way up to F4000h in early PCs.[1] The final search address was limited to segment DFFFFh[2] or EFFFFh[3] in modern products. The BIOS Boot Specification requires that option ROMs be aligned to 2 kB boundaries (e.g. segments C8000h, C8800h, C9000h, C9800h, etc.). The first two bytes of the ROM must be 55 AA.[4] The third byte indicates the ROM size in 512-bytes blocks (e.g. 20h for 16kB ROM). And the fourth byte is where the BIOS begins execution of the option ROM to initialize it before the system boots.
Often this initialization is done by a 3 byte jump instruction starting with hexadecimal value E9.
[5]
^IBM PC XT Technical Reference, pg. 2-10
^Personal System/2 and Personal Computer BIOS Interface Technical Reference, pg. 4-12
An OptionROM for the PC platform (i.e. the IBM PC and derived successor computer systems) is a piece of firmware that resides in ROM on an expansion card...
(and if) an optionROM returns, the BIOS continues searching for more optionROMs, calling each as it is found, until the entire optionROM area in the...
ROM to the BIOS to enable TRIM passthrough in RAID mode by using the RST ROM and driver. The newest OptionROM version is a 13 series ROM, this ROM will...
Old World ROM computers are the Macintosh (Mac) models that use a Macintosh Toolbox read-only memory (ROM) chip, usually in a socket (but soldered to...
by installing a network interface controller (NIC) that provided a PXE OptionROM. Today the client PXE code is directly included within the NIC's own firmware...
address space for BIOS ROM (or CSM of some UEFI firmware), Video BIOS, OptionROMs, video RAM, memory-mapped I/O, and obsoleted ROM BASIC. However, even...
how it appears to the operating system. An iSCSI HBA can include PCI optionROM to allow booting from an iSCSI SAN. An iSCSI offload engine, or iSOE card...
With a computer running UEFI, the UEFI firmware (except CSM and legacy OptionROM), any UEFI boot loader, and the operating system kernel all run in Long...
controller. Hardware RAID controllers can be configured through card BIOS or OptionROM before an operating system is booted, and after the operating system is...
OROM or Orom may refer to: OptionROM, in PCs Optical read only memory, a type of computer memory Orom (Kanjiža), a village in Serbia Horom, Armenia, also...
framebuffer at once, thus improving performance. A PCI device may also have an optionROM. When performing a Configuration Space access, a PCI device does not decode...
SlimRoms (also Slim7, Slim6, SlimLP, SlimKat or SlimBean) is an Android custom ROM.[clarification needed] Its main feature is the many setting options of...
machines that physically stamp data onto the DVD. Such discs are a form of DVD-ROM because data can only be read and not written or erased. Blank recordable...
the adapter sets the SCSI ID; for example, the adapter often contains a OptionROM (SCSI BIOS) program that runs when the computer boots up and that program...
the Orioles selected Rom's contract and added him to the 40-man roster to protect him from the Rule 5 draft. Rom was optioned to Triple-A Norfolk to...
implemented both in its device driver and in the Z68 motherboard's firmware (optionROM). It is available only when the (integrated) disk controller is configured...
The Option key, ⌥, is a modifier key present on Apple keyboards. It is located between the Control key and the Command key on a typical Mac keyboard. There...
initialized, UEFI drivers or OptionROMs of PCI devices are executed according to system configuration, and boot options are processed. This is the stage...
Nero Burning ROM, commonly called Nero, is an optical disc authoring program from Nero AG. The software is part of the Nero Multimedia Suite but is also...
With a computer running UEFI, the UEFI firmware (except CSM and legacy OptionROM), the UEFI boot loader and the UEFI operating system kernel all run in...
or by holding down ⌘ Command-⌥ Option-O-F at boot). One major difference between Old World ROM Macs and New World ROM Macs, at least in Classic Mac OS...
BOOTBOOT Yes No x86-64 (PC, UEFI, El Torito CDROM, BSS Expansion ROM, UEFI OptionROM), ARM AArch64 (Raspberry Pi 3 and up) ELF64 / PE32+ serial gzip comes...