Why it’s Time to move beyond BIOS
• Understand shortcoming of legacy BIOS
• What can EFI as replacement for BIOS Solve?
What is Legacy BIOS?
•Basic Input - Output System for original IBM PC/XT and PC/AT
•Originated in 1980s
•Based on 8086 architecture
•A group of clearly defined OS-independent interface for hardware
- – Int10 for Video service
- – Int13 disk service
- – Int16 keyboard service
- – Int18 BIOS ROM loader
- – Int19 bootstrap loader
•Availability of MS-DOS outside of IBM allowed applications to run equally well across different brands of box "PC clones".
Problem of Legacy BIOS
•It is not platform independent, it highly depends on Intel 8086 Software Interrupt model
- – Real mode
- – 16-bits register access
- – No memory address beyond 1MB
- – Option ROM space limited to below 1MB, limitation on OPROM size
• Modern Intel CPU architecture has come to 32bit, 64bits protection mode, with HT and Multi-core, but for compatibility, it should still boot up in 16 bit real mode
• It is inaccessible to boot 64 system which still call into 16 bit legacy firmware when Itanium processor family come into life.
• More and more new technology come out, like VT, LT et al. it is very hard to enable those technology in the whole eco-system quickly in legacy BIOS
• Architecture independent is the key for the next generation BIOS, that is where the EFI come from, single driver can work in x86, Itanium and XScale et al.
Key Platform Elements Compared
The changing role of BIOS
•Historically the only role of BIOS has been to configure the system to boot an OS
- -Setup the hardware, configure memory
- -Build some data structures
- -Bang Int13 and were done!
•Those days are gone, today need to worry about much more
- -Scalable systems
- -Systems Management
- -Power management
- -Remote services
PC Firmware Lags Competition
- – RISC systems can revert to a monitor if the OS dies.
- – PC servers take minutes to boot.
•No headroom for innovation and improvements.
- – Partitioning support
- – Security
- – High performance clusters
- – Testing !
• Booting over complex topologies.
• Changing OS boot loaders for each new boot device type.
What can EFI as replacement for BIOS Solve?
EFI Solves Option ROM Problems
•Option ROM is 1970’s technology
- – PC 4.77 MHz Intel 8088 with 256 KB RAM and 160KB floppy
•Option ROMs are more about ISA than PCI
- – 16-bit Real Mode Code
- – Limited Option ROM space (128K – 196K)
•Creative Solutions Cause New Problems
- – Single ROM controls multiple devices
- – Hot Keys: No configuration in ISA
Who’s ROM is it Anyway
•Single ROM tries to control Multiple Devices
•If you have multiple devices:
- – Which ROM do you shadow?
- – May require user configuration to enable/disable Option ROM scan
• If the ROM recognizes the PCI device how does it make sure it’s the right ROM
- – Common problem is onboard device and plug in device from same vendor
• Option ROM magic causes platform BIOS writer issues
- – Different ROMs do different magic things
• BIOS has work around for Option ROMs
• Option ROMs have work around for different BIOS versions
EFI Solves ROM Issues
•EFI Option ROMs can be any where in system memory
- – No need to restrict the number of Option ROMs shadowed
- – Default is to let the ROM on the card manage the device
•EFI allows platform to control policy
- – EFI_PLATFORM_DRIVER_OVERRIDE API lets platform control what Option ROM controls what device
•Why don’t PC’s boot from Wi-Fi?
How to Configure Option ROMs
• Option ROM configuration requires magic hot key
- – Boot process must be interrupted in the magic 2 second window to enter configuration menus
• EFI requires Option ROMs to register a configuration interface
- – Option ROM config is an extension of setup
EFI Solves Booting Problems
•BBS is confusing with multiple layers of menus
- – Menu for device type and sub menu for which hard drive
• Booting is limited by 512 byte boot sector
- – Not enough headroom for security information
- – 1st stage PXE boot 32K image
• PC Disk partitioning with Master Boot Record (MBR)
- – Limited to 4 partitions
- – Only one active partition at a time
- – Lots of cheating with the first cluster
EFI Advances Booting Technology
•EFI boots from a file on the media
•File can be any size
- – Not limited to 512 bytes
- – Lots of headroom for adding security in the future
•A disk can support a large number of boot options
- – No more C: requirement
•EFI boot media is backwards compatible with PC boot media
- – Media can boot legacy and EFI at the same time
EFI Solves Console Problems
•BIOS console requires VGA hardware and Video BIOS
•Even if you don’t have a monitor VGA adapter and video BIOS is required
- – Serial, Telnet, still require VGA
•KVM usage based on need for VGA
•EFI defines three Unicode based consoles
- – Output (VGA, serial, telnet, ...
- – Input (keyboard, serial, telnet, or …)
- – Error (debug information)
•Consoles are software based, no specific hardware required
- – Includes VT-UTF8 – Unicode serial terminal
- – Includes VT-UTF8 – Unicode telnet
EFI Can Replace DOS
• Execute preboot programs, such as setup, operating system install, test, mta, config, diagnostic, system flash and management update
• Move files around between the hard disk, floppy disk, CD-ROM, USB flash devices, and so on
• Load a preboot EFI driver in the system that is LAN stack tcpip drivers, update old drivers in flash, new drivers for plugin cards
• Has scripting .nsh files analogous to .bat files in DOS
• Text Edit and hexedit are just some of the tools that are built into the Shell
EFI Enables Hardware Legacy Reduction
•PC still has 1970’s H/W Technology
- – 16-bit real mode code
- – ISA devices
- – VGA is really an ISA device acting like VGA
•Removing legacy H/W allows innovation
- – Xscale has Reset vector at zero
- – Super Computers frequently don’t have memory at zero
- – PC has interrupt vectors at zero
Supercomputer to Cell Phone
SGI® Altix® 3700 Bx2
Intel Personal Communicator - CTG