[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Subsystem IDs, again




> The latest version (V0.9) of the Microsoft PC97 Design Guide includes in
> the PCI chapter a new statement regarding the Subsystems IDs :
>
> "Support of these registers requires non-zero values to be populated for
> both the Subsystem ID and Subsystem Vendor ID. These values must be
> populated prior to the system BIOS or system software accessing the PCI
> configuration space, as stated in the PCI2.1 specification. The
> recommended method for populating these registers is by using serial
ROMs.
> The exception to this requirement are PCI-PCI bridges and core chip
sets."

Well, that's still a bit vague. I could interpret "core chip sets" to
include any PCI devices built into the motherboard, for example. I could
also read "PCI configuration space" to mean the reserved locations and not
the user portion of the config space.

This would certainly allow me to define a write-only register at 0x40 that
sets the subsystem ID fields; the system BIOS or some other code guaranteed
to be executed upon restoration of power to motherboard PCI devices would
just have to execute a single write to that address before Win95 tries to
read anything in the range 0x00-0x3f, including the subsystem ID fields.

A serial ROM is the only solution for expansion cards, but I don't think it
violates the spirit or the letter of this requirement to use a write to the
user config space to set up the subsystem ID on motherboard devices, and
this would save motherboard designers the need to have one SROM per PCI
device.

..                  png


~