US 7,596,685 B2
Apparatus and method for building, storing, uploading, relocating and executing DOS based software module during system startup time
Derick G. Moore, Colorado Springs, Colo. (US); Roy Wade, Colorado Springs, Colo. (US); Samantha L. Ranaweera, Cranberry Township, Pa. (US); and Lawrence J. Rawe, Colorado Springs, Colo. (US)
Assigned to LSI Corporation, Milpitas, Calif. (US)
Filed on Jun. 25, 2007, as Appl. No. 11/821,622.
Application 11/821622 is a division of application No. 11/011383, filed on Dec. 14, 2004, granted, now 7,260,713.
Prior Publication US 2007/0250698 A1, Oct. 25, 2007
Int. Cl. G06F 9/00 (2006.01); G06F 15/177 (2006.01); G06F 1/24 (2006.01); G06F 13/00 (2006.01); G06F 13/14 (2006.01); G06F 9/44 (2006.01); G06F 9/445 (2006.01)
U.S. Cl. 713—1  [713/2; 713/100; 710/104; 710/300; 710/305; 717/124; 717/169; 717/175] 13 Claims
OG exemplary drawing
 
1. A method for loading, reloading and executing a plurality of software modules of an application of a PCI device during system startup time, comprising:
uploading image headers from non-volatile memory of the PCI device;
allocating space for a first software module to be loaded;
uploading the first software module from the non-volatile memory into system memory;
relocating the uploaded first software module,
wherein a relocation table is utilized; and
determining initial values of registers and setting up the registers and the system memory,
wherein the plurality of software modules include the first software module and a second software module, and the first software module and a PCI option ROM BIOS of the PCI are a firmware image of the PCI device; and
wherein the first software module is an application firmware image, and the second software module is a DOS executable image.