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

Controlling Multiple Peripheral Component Interconnect Adapters from a Single Scanned ROM Code Image

IP.com Disclosure Number: IPCOM000115263D
Original Publication Date: 1995-Apr-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 48K

Publishing Venue

IBM

Related People

Fore, RC: AUTHOR

Abstract

An algorithm is disclosed that eliminates redundant Read-Only Memory (ROM) executable code images from system memory. This algorithm reduces the amount of system memory required to control multiple installed instances of identical adapters connected via the Peripheral Component Interconnect (PCI) bus.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 60% of the total text.

Controlling Multiple Peripheral Component Interconnect Adapters from
a Single Scanned ROM Code Image

      An algorithm is disclosed that eliminates redundant Read-Only
Memory (ROM) executable code images from system memory.  This
algorithm reduces the amount of system memory required to control
multiple installed instances of identical adapters connected via the
Peripheral Component Interconnect (PCI) bus.

      It is desirable that a PCI adapter's ROM initialization routine
determine which installed adapters are already being controlled by a
previously-found image of that same code.  By assuming that each
installed adapter will have a corresponding ROM image, the disclosed
algorithm uses the count of adapters (which can be obtained via PCI
system software services) to determine the number of ROM images the
system will initialize.  This total count of adapter ROM code images
is used in conjunction with a multiple-bit register inside each PCI
adapter to count the number of ROM code images that have been
initialized by system software at any given moment during the overall
system initialization process.

The following pseudo-code defines the disclosed algorithm:
  /* Scan the PCI bus to find the number of installed adapters    */
  total_adapter_count = count_installed_adapters();
  for (each related adapter installed in the system)
    {
  /* Increment the scan count register for this adapter         */
  scan_count = read_PCI_config(pci_bus,pc...