Patent ID: 7526578
Filing Date: 2009-04-28
Classification: G06F

Abstract:
1. A method of option ROM characterization, the method comprising: establishing an isolating execution environment for an expansion adapter of a computer, the adapter having an option ROM containing initialization code for the adapter, wherein establishing the isolating execution environment for the expansion adapter further comprises isolating from initialization all other expansion adapters in the computer except a video adapter, including disabling the other expansion adapters by using a disable signal that has a value specific to a particular expansion adapter bus standard; executing the initialization code for the expansion adapter in the isolating execution environment by enabling the option ROM and mapping the option ROM to an unoccupied area of the virtual memory address space, and shadowing the option ROM into RAM; identifying operating characteristics of the option ROM, including characteristics of the option ROM unavailable prior to execution of the initialization code in the isolating execution environment, wherein identifying operating characteristics of the option ROM, including characteristics of the option ROM unavailable prior to execution of the initialization code in the isolating execution environment, further comprises identifying a runtime size of the option ROM and an availability of support for ROM sharing by the option ROM; storing a system state of the computer prior to establishing the isolating execution environment, wherein storing the system state of the computer further comprises storing contents of an interrupt vector table, a BIOS data area, option ROM memory address space, and expansion adapter registers; restoring the system state after identifying the operating characteristics of the option ROM; allocating virtual address space required by a processor of the computer for input/output functions to the expansion adapter, except for allocation of virtual memory address space to the option ROM of the expansion adapter; and allocating virtual memory address space in a normal execution environment of the computer to the option ROM of the expansion adapter in dependence upon the identified operating characteristics of the option ROM.