IP Library Granted Patent US 8,499,142
Granted Patent B1
US 8,499,142 · App. 12/871,238 · Granted Jul 30, 2013

UEFI boot loader for loading non-UEFI compliant operating systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,499,142
App. No.
12/871,238
Granted
Jul 30, 2013
Kind
B1
Abstract

A UEFI compliant firmware is disclosed that includes a UEFI legacy boot loader. The UEFI legacy boot loader provides functionality for loading operating systems that are non-UEFI compliant in a performant manner. In particular, the UEFI legacy boot loader provided in one embodiment disclosed herein is configured to utilize UEFI disk services to load an O/S kernel and other O/S components. Once the UEFI legacy boot loader has completed loading the O/S components, the UEFI legacy boot loader enables interrupt handling by the O/S, relocates O/S real mode kernel setup code to a low memory region (below 1 MB), and switches a processor to a real mode of operation. The UEFI legacy boot loader then causes the real mode kernel setup code to be executed on the processor, to thereby complete the loading of the operating system.

Claims (33)

1. A computer-implemented method for loading a non-Unified Extensible Firmware Interface (“UEFI”) compliant operating system, the method comprising performing computer-implemented operations for:

loading an operating system kernel into a high memory region utilizing direct memory access;

enabling interrupt handling for the non-UEFI compliant operating system once the operating system kernel has been loaded;

relocating a real mode kernel setup code from the high memory region to a low memory region;

switching a central processing unit to a real mode of operation; and

causing the real mode kernel setup code to be executed on the central processing unit from the low memory region.

2. The computer-implemented method of claim 1 , wherein the operating system kernel is non-UEFI compliant.

3. The computer-implemented method of claim 2 , wherein the loading, enabling, relocating, switching, and causing operations are performed by a UEFI legacy boot loader.

4. The computer-implemented method of claim 3 , wherein the UEFI legacy boot loader is executed in a 32/64 bit protected mode of operation.

5. The computer-implemented method of claim 2 , wherein the operating system kernel is loaded into the high memory region utilizing one or more UEFI disk services.

6. The computer-implemented method of claim 5 , wherein the UEFI disk services are executed in a 64-bit mode of operation.

7. The computer-implemented method of claim 6 , wherein the low memory region comprises a memory region below 1 MB and the high memory region comprises a memory region above 1 MB.

8. The computer-implemented method of claim 7 , wherein the real mode kernel setup code completes loading and initialization of the non-UEFI compliant operating system.

9. A computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:

load an operating system kernel into a high memory region utilizing direct memory access;

enable interrupt handling for the operating system kernel once the operating system kernel has been loaded;

relocate a real mode kernel setup code from the high memory region to a low memory region;

switch a central processing unit to a real mode of operation; and to

cause the real mode kernel setup code to be executed on the central processing unit.

10. The computer-readable storage medium of claim 9 , wherein the operating system kernel is non-Unified Extensible Firmware Interface (“UEFI”) compliant.

11. The computer-readable storage medium of claim 10 , wherein a UEFI legacy boot loader is executed in a 32/64 bit protected mode of operation.

12. The computer-readable storage medium of claim 11 , wherein the operating system kernel is loaded into the high memory region utilizing one or more UEFI disk services.

13. The computer-readable storage medium of claim 12 , wherein the UEFI disk services are executed in a 64-bit mode of operation.

14. The computer-readable storage medium of claim 13 , wherein the low memory region comprises a memory region below 1 MB and the high memory region comprises a memory region above 1 MB.

15. The computer-readable storage medium of claim 14 , wherein the real mode kernel setup code is configured to complete the loading and initialization of a non-UEFI compliant operating system.

16. An apparatus comprising:

a central processing unit (CPU);

a random access memory (RAM); and

a non-volatile memory storing a UEFI-compliant firmware which, when executed by the CPU, will cause the CPU to load an operating system kernel into a high memory region of the RAM utilizing direct memory access, to enable interrupt handling for the operating system kernel once the operating system kernel has been loaded, to relocate a real mode kernel setup code from the high memory region of the RAM to a low memory region of the RAM, to switch the CPU to a real mode of operation, and to cause the real mode kernel setup code to be executed on the CPU in the low memory region of the RAM.

17. The apparatus of claim 16 , wherein the operating system kernel is non-Unified Extensible Firmware Interface (“UEFI”) compliant.

18. The apparatus of claim 17 , wherein the operating system kernel is loaded into the high memory region utilizing one or more UEFI disk services.

19. The apparatus of claim 18 , wherein the UEFI disk services are executed in a 64-bit mode of operation.

20. The apparatus of claim 19 , wherein the real mode kernel setup code is configured to complete the loading and initialization of a non-UEFI compliant operating system.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC,
To: AMZETTA TECHNOLOGIES, LLC,
Reel/Frame 053007/0151 →
CHANGE OF NAME Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 053007/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2010
From: RAMAMURTHY, VENKATESH; SUNDARAMOORTHY, VINOTHKUMAR
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 024911/0157 →