← Back to Patent Explorer
US5913058A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for using a real mode bios interface to read physical disk sectors after the operating system has loaded and before the operating system device drivers have loaded

Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1997-09-30
•
Granted: 1999-06-15
•
Expires: 2017-09-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for using real mode BIOS calls to load an executable program for execution on a dedicated I/O processor before device drivers which communicate with the I/O processor have been loaded by an operating system. In the preferred embodiment, the system comprises a plurality of x86 processors coupled to a system memory. One of the x86 processors is designated as a dedicated I/O processor. A storage device stores an operating system for execution on the remaining processors, an executable program for executing on the dedicated I/O processor, such as a real-time kernel, and a device driver which is operable to execute on the remaining processors and to communicate with the real-time kernel executing on the I/O processor to perform I/o operations on an I/O device. The storage device also stores a loader program which is loaded by the operating system executing on a first of the remaining processors early in the process of booting the operating system. The loader program executing on the first processor creates a real mode interface in order to switch the first processor to real mode so that a real mode code portion of the loader can execute BIOS INT13 disk requests to read the real-time kernel from the storage device. Creating the real mode interface comprises saving the protected mode state of the first processor and of the system's interrupt control logic. After saving the states of the first processor and interrupt control logic, the loader program programs the interrupt control logic to simulate a real mode environment. The loader program also provides a "tiled mapping" of memory addresses such that the transition may be made from real mode to protected mode and vice versa to facilitate the x86 processor real mode and protected mode physical address computation differences.

Inventors

  • 👤 Thomas J. Bonola

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 22:57
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/4401; G06F9/4411

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 303 words
In a computer system having a plurality of processors connected together by a processor bus, at least one of said processors being capable of executing instructions in a protected mode and a real mode, a system memory that is accessible by at least two of said plurality of processors, a storage device that stores information that is accessible by at least one of said plurality of processors, a method for loading executable instructions into said system memory using a first of said plurality of processors for execution by a second of said plurality of processors, said method comprising: executing instructions with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode; reading at least a portion of said information from said storage device with said first of said plurality of processors after switching into said real mode; loading said at least a portion of said information into said system memory with said first of said plurality of processors after reading said at least a portion of said information from said storage device; executing instructions in said real mode to switch said first of said plurality of processors back into said protected mode after loading said at least a portion of said information into said system memory; accessing said at least a portion of said information in said system memory with a second of said plurality of processors after said at least a portion of said information is loaded into said system memory by said first of said plurality of processors; and executing instructions corresponding to said portion of said information with said second of said plurality of processors after accessing said at least a portion of said information in said system memory with said second of said plurality of processors.
Claim 2
Dependent Claim 303 words
In a computer system having a plurality of processors connected together by a processor bus, at least one of said processors being capable of executing instructions in a protected mode and a real mode, a system memory that is accessible by at least two of said plurality of processors, a storage device that stores information that is accessible by at least one of said plurality of processors, a method for loading executable instructions into said system memory using a first of said plurality of processors for execution by a second of said plurality of processors, said method comprising: executing instructions with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode; reading at least a portion of said information from said storage device with said first of said plurality of processors after switching into said real mode; loading said at least a portion of said information into said system memory with said first of said plurality of processors after reading said at least a portion of said information from said storage device; executing instructions in said real mode to switch said first of said plurality of processors back into said protected mode after loading said at least a portion of said information into said system memory; accessing said at least a portion of said information in said system memory with a second of said plurality of processors after said at least a portion of said information is loaded into said system memory by said first of said plurality of processors; and executing instructions corresponding to said portion of said information with said second of said plurality of processors after accessing said at least a portion of said information in said system memory with said second of said plurality of processors.
Claim 3
Dependent Claim 20 words
The method of claim 1, wherein said reading comprises issuing one or more Basic Input/Output System (BIOS) disk service requests.
Claim 4
Dependent Claim 70 words
The method of claim 1, further comprising: reading a device driver from said storage device into said system memory after executing said instructions corresponding to said portion of said information with said second of said plurality of processors, wherein said device driver is operable to issue a request to said instructions executed with said second of said plurality of processors to control an input/output device comprised in said computer system.
Claim 5
Dependent Claim 60 words
The method of claim 1, further comprising: reserving a portion of said system memory within a range of addresses of said system memory addressable by said first of said plurality of processors and a second of said plurality of processors in said real mode prior to said reading said at least a portion of said information from said storage device.
Claim 6
Dependent Claim 145 words
The method of claim 1, further comprising: reading a second portion of said information from said storage device into said system memory prior to said reading said at least a portion of said information from said storage device; and executing instructions corresponding to said second portion of said information on said first of said plurality of processors after said reading said second portion; wherein said second portion of said information is operable to perform said executing instructions with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode, said loading said at least a portion of said information into said system memory with said first of said plurality of processors, and said executing instructions in said real mode to switch said first of said plurality of processors back into said protected mode.
Claim 7
Dependent Claim 13 words
The method of claim 1, wherein said second portion comprises a device driver.
Claim 8
Dependent Claim 22 words
The method of claim 1, further comprising: programming interrupt control logic comprised in said computer system to a real mode emulation state.
Claim 9
Dependent Claim 27 words
The method of claim 1, further comprising: programming a destination of interrupt control logic comprised in said computer system to said first of said plurality of processors.
Claim 10
Dependent Claim 31 words
The method of claim 1, further comprising: providing a mapping of said system memory for switching said first of said plurality of processors between said protected mode and said real mode.
Claim 11
Dependent Claim 55 words
The method of claim 1, further comprising: disabling a real-time clock interrupt comprised in said computer system to said first of said plurality of processors prior to said executing said instructions with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode.
Claim 12
Dependent Claim 49 words
The method of claim 1, further comprising: saving a state of said computer system while in said protected mode prior to said executing said instructions with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode.
Claim 13
Dependent Claim 22 words
The method of claim 11, wherein said saving said state comprises saving a state of said first of said plurality of processors.
Claim 14
Dependent Claim 23 words
The method of claim 11, wherein said saving said state comprises saving a state of interrupt control logic comprised in said computer system.
Claim 15
Dependent Claim 62 words
The method of claim 11, further comprising: restoring said state of said computer system after said reading said at least a portion of said information from said storage device with said first of said plurality of processors and prior to said executing said instructions in said real mode to switch said first of said plurality of processors back into said protected mode.
Claim 16
Dependent Claim 245 words
A computer system having a plurality of processors connected together by a processor bus, at least one of said processors being capable of executing instructions in a protected mode and a real mode, a system memory that is accessible by at least two of said plurality of processors and a storage device that stores information that is accessible by at least one of said plurality of processors, said computer system comprising: a first of said plurality of processors, said first of said plurality of processors executing instructions in said protected mode switching said first of said plurality of processors into said real mode, then after switching into real mode said first of said plurality of processors reading at least a portion of said information from said storage device and loading said at least a portion of said information into said system memory, then after loading said at least a portion of said information into said system memory said first of said plurality of processors executing instructions in said real mode to switch back into said protected mode; and a second of said plurality of processors, said second of said plurality of processors accessing said at least a portion of said information from said system memory after said at least a portion of said information is loaded into said system memory by said first of said plurality of processors, said second of said plurality of processors then executing instructions corresponding to said portion of said information.
Claim 17
Dependent Claim 245 words
A computer system having a plurality of processors connected together by a processor bus, at least one of said processors being capable of executing instructions in a protected mode and a real mode, a system memory that is accessible by at least two of said plurality of processors and a storage device that stores information that is accessible by at least one of said plurality of processors, said computer system comprising: a first of said plurality of processors, said first of said plurality of processors executing instructions in said protected mode switching said first of said plurality of processors into said real mode, then after switching into real mode said first of said plurality of processors reading at least a portion of said information from said storage device and loading said at least a portion of said information into said system memory, then after loading said at least a portion of said information into said system memory said first of said plurality of processors executing instructions in said real mode to switch back into said protected mode; and a second of said plurality of processors, said second of said plurality of processors accessing said at least a portion of said information from said system memory after said at least a portion of said information is loaded into said system memory by said first of said plurality of processors, said second of said plurality of processors then executing instructions corresponding to said portion of said information.
Claim 18
Dependent Claim 54 words
The system of claim 15, further comprising: a Basic Input/Output System (BIOS), wherein said first of said plurality of processors is operable to execute said BIOS to read said at least a portion of said information from said storage device and load said at least a portion of said information into said system memory.
Claim 19
Dependent Claim 76 words
The system of claim 15, further comprising: an input/output device; wherein said first of said plurality of processors is operable to read a device driver from said storage device, load said device driver into said system memory, and execute said device driver; wherein said device driver is operable to issue a request to said instructions corresponding to said portion of said information executing on said second of said plurality of processors to control said input/output device.
Claim 20
Dependent Claim 112 words
The system of claim 15, wherein said first of said plurality of processors is operable to read a second portion of said information from said storage device, load said second portion of said information into said system memory, and execute instructions corresponding to said second portion of said information; wherein said second portion of said information is operable to switch said first of said plurality of processors into said real mode, read said at least a portion of said information from said storage device and load said at least a portion of said information into said system memory, and switch said first of said plurality of processors back into said protected mode.
Claim 21
Dependent Claim 53 words
The system of claim 15, further comprising: interrupt control logic for receiving a plurality of interrupt requests and controlling forwarding of said plurality of interrupt requests to said plurality of processors, wherein said first of said plurality of processors is operable to program said interrupt control logic to a real mode emulation state.
Claim 22
Dependent Claim 324 words
A computer-readable storage medium comprising program instructions for execution in a computer system comprising a plurality of processors connected together by a processor bus, at least one of said processors being capable of executing instructions in a protected mode and a real mode, a system memory that is accessible by at least two of said plurality of processors, a storage device that stores information that is accessible by at least one of said plurality of processors, wherein said computer system is operable to load executable instructions into said system memory using a first of said plurality of processors for execution by a second of said plurality of processors, wherein said program instructions are operable to implement the steps of: executing instruction with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode; reading at least a portion of said information from said storage device with said first of said plurality of processors after switching into said real mode; loading said at least a portion of said information into said system memory with said first of said plurality of processors after reading said at least a portion of said information from said storage device; executing instructions in said real mode to switch said first of said plurality of processors back into said protected mode after loading said at least a portion of said information into said system memory; accessing said at least a portion of said information in said system memory with a second of said plurality of processors after said at least a portion of said information is loaded into said system memory by said first of said plurality of processors; and executing instructions corresponding to said portion of said information with said second of said plurality of processors after accessing said at least a portion of said information in said system memory with said second of said plurality of processors.
Claim 23
Dependent Claim 324 words
A computer-readable storage medium comprising program instructions for execution in a computer system comprising a plurality of processors connected together by a processor bus, at least one of said processors being capable of executing instructions in a protected mode and a real mode, a system memory that is accessible by at least two of said plurality of processors, a storage device that stores information that is accessible by at least one of said plurality of processors, wherein said computer system is operable to load executable instructions into said system memory using a first of said plurality of processors for execution by a second of said plurality of processors, wherein said program instructions are operable to implement the steps of: executing instruction with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode; reading at least a portion of said information from said storage device with said first of said plurality of processors after switching into said real mode; loading said at least a portion of said information into said system memory with said first of said plurality of processors after reading said at least a portion of said information from said storage device; executing instructions in said real mode to switch said first of said plurality of processors back into said protected mode after loading said at least a portion of said information into said system memory; accessing said at least a portion of said information in said system memory with a second of said plurality of processors after said at least a portion of said information is loaded into said system memory by said first of said plurality of processors; and executing instructions corresponding to said portion of said information with said second of said plurality of processors after accessing said at least a portion of said information in said system memory with said second of said plurality of processors.
Claim 24
Dependent Claim 20 words
The medium of claim 20, wherein said reading comprises issuing one or more Basic Input/Output System (BIOS) disk service requests.
Claim 25
Dependent Claim 80 words
The medium of claim 20, wherein said program instructions are further operable to implement the step of: reading a device driver from said storage device into said system memory after executing said instructions corresponding to said portion of said information with said second of said plurality of processors, wherein said device driver is operable to issue a request to said instructions executed with said second of said plurality of processors to control an input/output device comprised in said computer system.
Claim 26
Dependent Claim 70 words
The medium of claim 20, wherein said program instructions are further operable to implement the step of: reserving a portion of said system memory within a range of addresses of said system memory addressable by said first of said plurality of processors and a second of said plurality of processors in said real mode prior to said reading said at least a portion of said information from said storage device.
Claim 27
Dependent Claim 155 words
The medium of claim 20, wherein said program instructions are further operable to implement the step of: reading a second portion of said information from said storage device into said system memory prior to said reading said at least a portion of said information from said storage device; and executing instructions corresponding to said second portion of said information on said first of said plurality of processors after said reading said second portion; wherein said second portion of said information is operable to perform said executing instructions with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode, said loading said at least a portion of said information into said system memory with said first of said plurality of processors, and said executing instructions in said real mode to switch said first of said plurality of processors back into said protected mode.
Claim 28
Dependent Claim 32 words
The medium of claim 20, wherein said program instructions are further operable to implement the step of: programming interrupt control logic comprised in said computer system to a real mode emulation state.
Claim 29
Dependent Claim 37 words
The medium of claim 20, wherein said program instructions are further operable to implement the step of: programming a destination of interrupt control logic comprised in said computer system to said first of said plurality of processors.
Claim 30
Dependent Claim 41 words
The medium of claim 20, wherein said program instructions are further operable to implement the step of: providing a mapping of said system memory for switching said first of said plurality of processors between said protected mode and said real mode.
Claim 31
Dependent Claim 65 words
The medium of claim 20, wherein said program instructions are further operable to implement the step of: disabling a real-time clock interrupt comprised in said computer system to said first of said plurality of processors prior to said executing said instructions with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode.
Claim 32
Dependent Claim 59 words
The medium of claim 20, wherein said program instructions are further operable to implement the step of: saving a state of said computer system while in said protected mode prior to said executing said instructions with said first of said plurality of processors in said protected mode switching said first of said plurality of processors into said real mode.

References Cited (Backward Citations)

US5388267A Cited
US5291585A Cited
US5748980A Cited
US5694583A Cited
US5706514A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-06-14 2002-12-14 2003-06-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-06-14 2006-12-14 2007-06-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-06-14 2010-12-14 2011-06-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag