UEFI与固件程序设计 Tel:69589584 Email:wang.box@163.com 同济大学软件学院 What’s the UEFI? UEFI (Unified Extensible Firmware Interface)是由英特尔公 司联合业界共同提出的一种欲在未来电脑系统中替代传统 BIOS (Legacy BIOS)的升级解决方案。 Another question, What’s the BIOS? 继续 返回 What’s the BIOS? BIOS (Basic Input and Output System)基本输入输出系统,它是 一组固化到计算机内主板上一个ROM芯片上的程序,它保存 着计算机最重要的开机上电自检、硬件初始化程序和系统底 层的服务程序等。 Push Power Button 硬件逻辑 CPU Reset Found MBR BIOS OS RTC 继续 返回 Agenda – BIOS background History Functions Legacy BIOS’s Flaws Change 继续 返回 BIOS background -- History Before firmware— Switchs on a piece of plywood BIOS--for EFI-- original IBM PC/XT and PC/AT in 1980s Spring 2000 IDF (Intel Developer’s Forum) -- EFI 1.10 specification UEFI– Originated from the EFI 1.10 specification --Updated and managed by the Unified EFI Forum 继续 返回 BIOS background -- Functions Based on 8086 architecture POST—Power On Self Test 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". 继续 返回 BIOS background -- Legacy BIOS’s Flaws 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 Modern Intel CPU architecture has come to 32bits, 64bits protection mode, with HT and Multi-core, but for compatibility, it should still boot up in 16 bit real mode 继续 返回 BIOS background – Flaws (cont.) It is inaccessible to boot 64bits 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 etc. 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 etc. 继续 返回 BIOS background – Flaws (cont.) Code Real Mode Issue Scalability Assembler Complexity Spaghetti Maintenance Spec None! OS Loader Tied to HW and BIOS 继续 Compatibility Slows innovation Carries legacy 返回 BIOS background – Change Extensible Firmware Interface UEFI is an interface specification --download from www.uefi.org Abstracts the platform from OS Includes a modular driver model and CPU-independent option ROMs Compatible by design Modular and extensible Complements existing interfaces OS Loader UEFI Firmware Hardware Flexible to meet existing and future needs 继续 返回 Compatibility Unified BIOS background – Change Code Real Mode Issue Scaleability Assembler Complexity Spaghetti Maintenance Spec None! OS Loader Tied to HW and BIOS 继续 Compatibility Slows innovation Carries legacy 返回