I have a device that requires 3 memory resources, two that are 16MB in
size, and a third that is 4KB in size (as well as a 256 byte range of
I/O space, and an IRQ, but those aren’t the issue).
This device sits on the CPCI bus behind a PCI-to-PCI bridge between
the host CPU’s local PCI bus and the CPCI bus. This PCI-to-PCI bridge
can be either enabled or disabled at boot up.
If it’s enabled at boot, the BIOS will assign resources to the device
mentioned above, and program a sufficiently large memory window into
the PCI-to-PCI bridge to provide for the needs of the device behind
the bridge. In this case, when Win2K boots up, it either just uses
the resources programmed by the BIOS, or at least continues to provide
a sufficiently large memory window in the bridge to allow for whatever
resources it chooses to assign to the device behind the bridge. Thus,
the PNP Manager is able to allocate adequate resources for the device,
and it’s driver is able to load.
However, if the bridge is NOT enabled at boot, but is enabled after
Win2K is booted, and then Win2K is told to scan for new hardware, it
finds the bridge, and the device behind the bridge, but DOES NOT
provide a sufficiently large memory window to allow for the resource
needs of the device, and thus the PNP manager is unable to allocate
sufficient resources for the device in order to load the driver.
For devices with lessor resource requirements, this hasn’t been an
issue, as it seems that Win2K will allocate at least a 1MB memory
window for each PCI bus found (in other words, if I have another
bridge behind that bridge, the first bridge will allocate 2MB, and
the 2nd will allocate half of the range allocated by the first). But
for devices behind those bridges with more significant resource
requirements, this seems to be a problem.
Is this a known issue? Is there a registry parameter that can be
tweaked that adjusts the default size of the allocated memory window?
There certainly isn’t a shortage of available PCI address space, so
it should certainly be possible for Win2K to allocate a sufficiently
large memory window.
We may have product configurations with up to 6 of such devices out
on the CPCI bus, so if this is a problem with one device, it’s only
going to be far worse with six devices. And we need to have the
ability to bring the whole CPCI bus with these devices installed
online AFTER Win2K boots up.
Any ideas?
Thanks,
- Jay
–
Jay Talbott
Staff Software Engineer
Motorola Computer Group
2900 S. Diablo Way
DW220
Tempe, AZ 85282
(602) 438-3481
xxxxx@mcg.mot.com
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com