Subject: Re: NetBSD & PCMCIA on DEC HiNote VP700 series?
To: Chris G. Demetriou <cgd@netbsd.org>
From: Ken Hornstein <kenh@cmf.nrl.navy.mil>
List: port-i386
Date: 10/20/1998 00:33:44
>The issue on Ted's machine was that the BIOS wasn't fully configuring
>PCI devices, in particular, it wasn't mapping the PCI BAR of his
>cardbus controller's register space, and that effectively left the
>chip disabled.

This brings up something I've been wondering about.

I know people have said that the PCI specification says that the PCI BIOS
is supposed to take care of device initialization, but the only reference
I found for this in the PCI specification (revision 2.1) is this (page 211):

6.6. System Reset

After system reset, the processor(s) must be able to access boot
code and any devices necessary to boot the machine. Depending on
the system architecture, bridges may need to come up enabled to
pass these accesses through to the remote bus.  Similarly, devices
on PCI may need to come up enabled to recognize fixed addresses to
support the boot sequence in a system architecture. Such devices
are required to support the Command register disabling function
described in Section 6.2.2.. They should also provide a mechanism
(invoked through the Configuration Space) to re-enable the recognition
of fixed addresses.

I'm wondering if the requirements for device initialization have
changed in later revisions of the PCI spec?  However, I'll fully admit
that I haven't read all of the damn thing yet ... so if someone can point
me to the right part of the specification, I'll gladly read it :-)

If the device requirements _have_ changed, then what's the right thing
to do?  Call the PCI BIOS?  How do other OSs deal with it?

--Ken