Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method for PCI option ROM image linking and relocating

IP.com Disclosure Number: IPCOM000019523D
Publication Date: 2003-Sep-17
Document File: 3 page(s) / 68K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for peripheral component interface (PCI) option read-only memory (ROM) image linking and relocating. Benefits include improved functionality and an improved development environment.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 57% of the total text.

Method for PCI option ROM image linking and relocating

Disclosed is a method for peripheral component interface (PCI) option read-only memory (ROM) image linking and relocating. Benefits include improved functionality and an improved development environment.

Background

         Conventionally, if a 16-bit real-mode code image becomes larger than 64K, it is split into several segments because the instruction pointer register is 16 bits.

         A far call is the use of a function from another segment. The call specifies the segment part (CS) and the offset part (IP) of its address. The address is absolute and is only correct when the code is placed in a fixed address in memory. However, PCI BIOS can map option ROM anywhere between C000:0000 and E000:0000. As a result, a requirement exists for a function call to other segments using any mapped image address.

Description

         The disclosed method simplifies the development of PCI option ROM image linking and relocating.          The method compiles and links ROM images as a regular, large model MS-DOS executable file with a special startup module. This approach enables the real-mode C compiler and object code linker to generate far calls and build the relocation table.

         Relocation code in the ROM image startup function examines the relocation table in the PCI option ROM header and patches locations according to the actual code segment to where the image is mapped (see Figure 1).

         A utility generates the PCI option ROM image, which performs the following steps (see Figure 2):

1.         Strips the .EXE file header

2.         Generates the PCI option ROM image header

3.         Copies the relocation information from the .EXE file header to the PCI option ROM image header

4.         Copies the code/initialized data image from the .EXE file to the PCI option ROM image

         The disclosed method does not limit ROM images to 64K and does not use protected-mode larger images or complex segmented images. The method does not add significant complexity to the code because regular far function calls are used.

Advantages

         The disclosed method provides advantages, including:
•         Improved functionality due to providing...