[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: base address and limit
- To: Mailing List Recipients <pci-sig-request@znyx.com>
- Subject: Re: base address and limit
- From: "John R Pierce" <pierce@scruznet.com>
- Date: Tue, 6 Aug 1996 00:47:34 -0700
- Resent-Date: Tue, 6 Aug 1996 00:47:34 -0700
- Resent-From: pci-sig-request@znyx.com
- Resent-Message-Id: <"n7jRq1.0.0l4.Wel1o"@dart>
- Resent-Sender: pci-sig-request@znyx.com
> From: Noam Efrati <noam@genie.terra.co.il>
>
> 1) Do'es anyone know how do'es a PCI system configure
> the device's base address? Is it true to assumt that
> the PCI BIOS is taking care of it at initialization
> proccess and a device driver need only to read the
> value in the base address register (address 10h in
> configuration space)?
Yup, the PCI bios power-on-self-test routines take care
of all allocations. Device drivers just read the
config space (or call the operating system configuration
code if any) to get the base address.
> 2) Why isn't there any limit register in the PCI spec?
> How can you tell the amount of memory space required
> for a device ?
The system bios can tell because only the upper bits are
writeable, the lower 'dont care' bits are readonly and always
read back 0. so the BIOS writes all ones to the base register,
reads it back, sees how large a allocation it needs, then
writes the base address back to the register.
your device driver should inherently know what the device
requires.
-jrp
~