{"id":1573,"date":"2015-03-01T00:00:00","date_gmt":"2015-03-01T00:00:00","guid":{"rendered":"https:\/\/ami2025dev.wpenginepowered.com\/the-migration-from-legacy-bios-to-uefi-firmware\/"},"modified":"2015-03-01T00:00:00","modified_gmt":"2015-03-01T00:00:00","slug":"the-migration-from-legacy-bios-to-uefi-firmware","status":"publish","type":"project","link":"https:\/\/www.ami.com\/resource\/the-migration-from-legacy-bios-to-uefi-firmware\/","title":{"rendered":"The Migration from Legacy BIOS to UEFI Firmware"},"content":{"rendered":"<h2>Source: <a href=\"http:\/\/electronicdesign.com\/dev-tools\/migration-legacy-bios-uefi-firmware\" rel=\"noopener noreferrer\" target=\"_blank\">Electronic Design<\/a><\/h2>\n<p>The transition from legacy BIOS to UEFI firmware is something many embedded developers now need to deal with as new hardware supports UEFI.<br \/>\nTo understand the transition from legacy BIOS to UEFI firmware, it\u2019s best to begin with a review of a decades-old system\u2014the 1983 IBM-compatible PC\u2014and continue with a study of its successor technologies. These include USB, hard disks greater than 100 MB, RAM sizes greater than 640k, high-speed Ethernet networking, CD-ROMs, and other unforeseen technologies.<br \/>\nThe transition to UEFI firmware from legacy BIOS came at a time when it was long overdue. As the rest of the technological world was developing projects like OpenFirmware, the x86 world still used a technology rooted in the original IBM-compatible PC. Support for new technologies was crammed into an already-crowded memory space. Legacy BIOS executed a majority of its code in real mode. In this execution model, the total amount of memory that could be referenced and used was limited to 1 MB. Any plug-in cards designed as bootable, network, or RAID cards were required to fit into an outdated memory model. The 1-MB limitation resulted in a mere handful of supported external boot media.<br \/>\nIn contrast to projects like OpenFirmware, legacy BIOS has no governing body. The original IBM PC BIOS interfaces relied on a set of interrupt routines to complete basic tasks. Interrupts ranged from 0x10 to 0x1F, and were originally planned to handle one device each. Examples include Interrupt 0x10 for video, 0x13 for fixed-disk access, 0x16 for keyboard input, and 0x14 serial -port accesses. As the PC evolved to incorporate new technologies, these interrupts were expanded to provide services for the new hardware. Sometimes these changes fit in cleanly, but often they were clunky additions to the original codebase.<br \/>\nAn obvious example of an over-expanded interrupt is interrupt 0x15, which ultimately became a dumping ground of manufacturer-specific features. Having non-standard interrupts led to fragmentation and difficulty for vendors attempting to create operating systems (OSs) for universal booting.<br \/>\nLegacy BIOS: Limitations, Less-Supportive Modern Coding Languages<br \/>\nOne significant challenge with legacy BIOS is that it was originally defined by implementation, as opposed to a specification within a modular code base. Legacy BIOS implementations were created with the assumption that the platform hardware would remain constant; however, the introduction of more powerful processor technology required handwritten workarounds to its assembly code.<br \/>\nRelated<br \/>\nBye Bye BIOS. Hello UEFI<br \/>\nWindows 8 Goes Far Beyond The Typical Operating-System Update<br \/>\nThree Pivotal Features Differentiate Bootloading Options<br \/>\nUEFI specifications were developed to standardize the code base and take modularity into account. Using API abstraction layers and C code, UEFI can be fully optimized and maintain compatibility across frameworks.<br \/>\nThe Inception of UEFI Technology<br \/>\nWhen Intel developed a new instruction set for what would eventually become its Itanium product line, a decision was made to develop a new initialization and boot infrastructure. This included a modernized programming language that would allow a compiler to properly optimize the code for a specific processor or architecture. The new framework was dubbed the \u201cExtensible Firmware Interface,\u201d and thus EFI was born.<br \/>\nEven though Itanium never reached the adoption level of x86-based architectures, EFI was seen as a substantial improvement over legacy BIOS and a great way to bring x86 firmware into the modern era.  As Intel continued development of EFI, it expanded access of the specification. The Unified Extensible Firmware Interface (UEFI) Forum was created so that hardware vendors, silicon vendors, independent BIOS vendors, and OS vendors could collaborate in the development of the first UEFI specifications.<br \/>\nFrom the beginning, UEFI was developed with modular architecture in mind. The building blocks were developed with the idea that they would interact with, and build upon, each other\u2019s functionality. The key to creating such an architecture is to look for commonality between very different pieces of hardware.<br \/>\nFor example, there are various ways to retrieve data from a Serial ATA (SATA) interface or a Universal Serial Bus (USB) interface. However, a commonality exists in media-device access methods, as both rely on simple block access. These basic abstraction interfaces enable other software to use them as a basic service. It doesn\u2019t matter where the original data resides. Using these common interfaces allows an OS to reside and boot from any type of media and greatly simplifies their standard boot-loader code.<br \/>\nUEFI-Standardized Features Simplify Manufacturing, Software Writing<br \/>\nWith the standardization of UEFI, OEMs can create notably useful production-line tools. For example, in the pre-UEFI era, OEMs had to write specialized software to configure each platform they produced before it could be sold. Using UEFI architecture, OEMs are able to write a general piece of software that can be used to initialize a wide range of systems in the factory. It\u2019s also possible to write a general set of diagnostic tools for use in the factory, which allows on-site testing of all hardware and software delivered with a platform. The standardization of interfaces enables the creation of platform-agnostic software.<br \/>\nUEFI architecture is designed to facilitate code reuse, providing an extensible solution that\u2019s portable to multiple architectures. The UEFI specifications have been used in various ARM architectures, allowing OS vendors to make a common boot loader for both x86 and ARM systems. Given that UEFI code is commonly written in C coding language, if the OS vendor properly wrote its boot loader, the only change necessary is to use a different compiler for the target processor architecture.<br \/>\nExpanding UEFI\u2019s Role in Next-Gen Devices<br \/>\nThe latest technologies and devices are more easily supported within the UEFI framework than within the legacy BIOS methodology. In the UEFI driver model, there are device drivers and bus drivers. Device drivers use their parent bus driver to be able to interact with the device. This allows a device driver to work on any bus for which a bus driver has been developed. Incorporating the same support in legacy BIOS would require adding bus initialization code and duplicating the device driver code for each new bus. By reducing the complexity in the bus drivers and the core services, many different lightweight drivers can be created in a system with little overhead. The minor overhead allows for expansion of UEFI firmware to support devices like fingerprint readers, USB cameras, touchscreens, and Wi-Fi with limited effort.<br \/>\nDownload this article in .PDF format<br \/>\nThis file type includes high resolution graphics and schematics when applicable.<br \/>\nSample implementations of UEFI are available at www.tianocore.org.  The UEFI and subsequent specifications are hosted at www.uefi.org. As new technologies emerge, the UEFI Forum\u2019s workgroup members will continue to design for forward compatibility new interfaces. To join the Forum and contribute to future iterations of the UEFI specification, visit UEFI.org\/join.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Source: Electronic Design The transition from legacy BIOS to UEFI firmware is something many embedded developers now need to deal with as new hardware supports UEFI. To understand the transition from legacy BIOS to UEFI firmware, it\u2019s best to begin with a review of a decades-old system\u2014the 1983 IBM-compatible PC\u2014and continue with a study of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"project_category":[1499],"project_tag":[1571,1757],"class_list":["post-1573","project","type-project","status-publish","hentry","project_category-blog","project_tag-ami","project_tag-usa","topics-aptio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>The Migration from Legacy BIOS to UEFI Firmware - AMI<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Migration from Legacy BIOS to UEFI Firmware\" \/>\n<meta property=\"og:description\" content=\"Source: Electronic Design The transition from legacy BIOS to UEFI firmware is something many embedded developers now need to deal with as new hardware supports UEFI. To understand the transition from legacy BIOS to UEFI firmware, it\u2019s best to begin with a review of a decades-old system\u2014the 1983 IBM-compatible PC\u2014and continue with a study of [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/\" \/>\n<meta property=\"og:site_name\" content=\"AMI\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TheWorldRunsonAMI#\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-01T00:00:00+00:00\" \/>\n<meta name=\"author\" content=\"AMI Marketing\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AMI_PR\" \/>\n<meta name=\"twitter:site\" content=\"@AMI_PR\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"AMI Marketing\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/\"},\"author\":{\"name\":\"AMI Marketing\",\"@id\":\"https:\/\/www.ami.com\/#\/schema\/person\/17975d735dab403c4f1a9f0faab5a375\"},\"headline\":\"The Migration from Legacy BIOS to UEFI Firmware\",\"datePublished\":\"2015-03-01T00:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/\"},\"wordCount\":1133,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.ami.com\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/\",\"url\":\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/\",\"name\":\"The Migration from Legacy BIOS to UEFI Firmware - AMI\",\"isPartOf\":{\"@id\":\"https:\/\/www.ami.com\/#website\"},\"datePublished\":\"2015-03-01T00:00:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.ami.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Migration from Legacy BIOS to UEFI Firmware\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ami.com\/#website\",\"url\":\"https:\/\/www.ami.com\/\",\"name\":\"AMI\",\"description\":\"Trusted Leader in UEFI, BMC &amp; Open-Source Firmware\",\"publisher\":{\"@id\":\"https:\/\/www.ami.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ami.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.ami.com\/#organization\",\"name\":\"AMI\",\"url\":\"https:\/\/www.ami.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.ami.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.ami.com\/wp-content\/uploads\/2025\/09\/cropped-AMI-Favicon.png\",\"contentUrl\":\"https:\/\/www.ami.com\/wp-content\/uploads\/2025\/09\/cropped-AMI-Favicon.png\",\"width\":512,\"height\":512,\"caption\":\"AMI\"},\"image\":{\"@id\":\"https:\/\/www.ami.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/TheWorldRunsonAMI#\",\"https:\/\/x.com\/AMI_PR\",\"https:\/\/www.linkedin.com\/company\/ami\",\"https:\/\/www.youtube.com\/c\/AMI_PR\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.ami.com\/#\/schema\/person\/17975d735dab403c4f1a9f0faab5a375\",\"name\":\"AMI Marketing\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.ami.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ee7265114f85a860055f4c06c8e9f0f5845b909bc47bf7a933d6af23298a78d3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ee7265114f85a860055f4c06c8e9f0f5845b909bc47bf7a933d6af23298a78d3?s=96&d=mm&r=g\",\"caption\":\"AMI Marketing\"},\"sameAs\":[\"https:\/\/www.ami.com\"],\"url\":\"https:\/\/www.ami.com\/author\/ami2025dev\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The Migration from Legacy BIOS to UEFI Firmware - AMI","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/","og_locale":"en_US","og_type":"article","og_title":"The Migration from Legacy BIOS to UEFI Firmware","og_description":"Source: Electronic Design The transition from legacy BIOS to UEFI firmware is something many embedded developers now need to deal with as new hardware supports UEFI. To understand the transition from legacy BIOS to UEFI firmware, it\u2019s best to begin with a review of a decades-old system\u2014the 1983 IBM-compatible PC\u2014and continue with a study of [&hellip;]","og_url":"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/","og_site_name":"AMI","article_publisher":"https:\/\/www.facebook.com\/TheWorldRunsonAMI#","article_published_time":"2015-03-01T00:00:00+00:00","author":"AMI Marketing","twitter_card":"summary_large_image","twitter_creator":"@AMI_PR","twitter_site":"@AMI_PR","twitter_misc":{"Written by":"AMI Marketing","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/#article","isPartOf":{"@id":"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/"},"author":{"name":"AMI Marketing","@id":"https:\/\/www.ami.com\/#\/schema\/person\/17975d735dab403c4f1a9f0faab5a375"},"headline":"The Migration from Legacy BIOS to UEFI Firmware","datePublished":"2015-03-01T00:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/"},"wordCount":1133,"commentCount":0,"publisher":{"@id":"https:\/\/www.ami.com\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/","url":"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/","name":"The Migration from Legacy BIOS to UEFI Firmware - AMI","isPartOf":{"@id":"https:\/\/www.ami.com\/#website"},"datePublished":"2015-03-01T00:00:00+00:00","breadcrumb":{"@id":"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.ami.com\/the-migration-from-legacy-bios-to-uefi-firmware\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.ami.com\/"},{"@type":"ListItem","position":2,"name":"The Migration from Legacy BIOS to UEFI Firmware"}]},{"@type":"WebSite","@id":"https:\/\/www.ami.com\/#website","url":"https:\/\/www.ami.com\/","name":"AMI","description":"Trusted Leader in UEFI, BMC &amp; Open-Source Firmware","publisher":{"@id":"https:\/\/www.ami.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ami.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.ami.com\/#organization","name":"AMI","url":"https:\/\/www.ami.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ami.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.ami.com\/wp-content\/uploads\/2025\/09\/cropped-AMI-Favicon.png","contentUrl":"https:\/\/www.ami.com\/wp-content\/uploads\/2025\/09\/cropped-AMI-Favicon.png","width":512,"height":512,"caption":"AMI"},"image":{"@id":"https:\/\/www.ami.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TheWorldRunsonAMI#","https:\/\/x.com\/AMI_PR","https:\/\/www.linkedin.com\/company\/ami","https:\/\/www.youtube.com\/c\/AMI_PR"]},{"@type":"Person","@id":"https:\/\/www.ami.com\/#\/schema\/person\/17975d735dab403c4f1a9f0faab5a375","name":"AMI Marketing","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ami.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ee7265114f85a860055f4c06c8e9f0f5845b909bc47bf7a933d6af23298a78d3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ee7265114f85a860055f4c06c8e9f0f5845b909bc47bf7a933d6af23298a78d3?s=96&d=mm&r=g","caption":"AMI Marketing"},"sameAs":["https:\/\/www.ami.com"],"url":"https:\/\/www.ami.com\/author\/ami2025dev\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ami.com\/wp-json\/wp\/v2\/project\/1573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ami.com\/wp-json\/wp\/v2\/project"}],"about":[{"href":"https:\/\/www.ami.com\/wp-json\/wp\/v2\/types\/project"}],"author":[{"embeddable":true,"href":"https:\/\/www.ami.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ami.com\/wp-json\/wp\/v2\/comments?post=1573"}],"version-history":[{"count":0,"href":"https:\/\/www.ami.com\/wp-json\/wp\/v2\/project\/1573\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ami.com\/wp-json\/wp\/v2\/media?parent=1573"}],"wp:term":[{"taxonomy":"project_category","embeddable":true,"href":"https:\/\/www.ami.com\/wp-json\/wp\/v2\/project_category?post=1573"},{"taxonomy":"project_tag","embeddable":true,"href":"https:\/\/www.ami.com\/wp-json\/wp\/v2\/project_tag?post=1573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}