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

PCI Memory/IO Address Mapping...



hi all PCI experts,

I am a beginner to PCI and was reading Tom Shanley's
PCI s/m architecture when i had the following doubts..
they may be too novice... but could u help me out...

1. what is the 'configuration software' that Shanley
refers to? is it the s/m BIOS or PCI BIOS or the
device driver?

2. if i just want to make a simple PCI interface (for
the sake of connecting my old ISA card to a PCI bus --
for useability of my old card), and i just want to do
simple write/read operations + take care of 1
interrupt from the card to the CPU, do i "have" to use
configuration registers? IS it necessary to use Cfg
registers for bare tasks as these? can i live without
it if i dont want PnP (which i understand is built in
to PCI specs..)

3. where do i specify the configuration registers for
a PCI target? do i have to place a separate memory for
the same or can i live without using any extra
hardware if infact cfg registers are absolutely
necessary? 

3. during a cfg access, how does the host/pci bus know
that when a request for cfg access to a target on bus
0 comes from the CPU, an 'IDSEL' is to be given
specifically to that target on bus 0. is there a
register for this? 

4. i dont understand how the mapping of PCI cfg
register address space and i/o and mem address space
is done? during boot, the i/o and mem address regions
are "assigned" but how does the mapping takes place?
is there something wrong in my understanding of the
whole concept?

5. Pls tell me if there is anything wrong in my
understanding of the follwing: 

a newly installed pci card during boot time, gets it
i/o and mem assigned by the bios if the card has a
valid vendor id, else it doesnt. (in that case, we
have to use a device driver to program the cfg
registers... ) in either case, a 'copy' of the cfg
registers is kept by both the pci card as well as the
OS...

in case a valid vendor id is detected, do we need a
device driver since already Intrpts, etc have been
assigned?  what is it that the device driver should do
other than this? is it absolutely necessary?

Thanks in advance for ur time and patience,

(PS: i need all this for a small project of mine)

regards,
abraham

__________________________________________________
Do you Yahoo!?
HotJobs - Search new jobs daily now
http://hotjobs.yahoo.com/