[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
FW: how do we write a single byte in the config. registers?
- To: Mailing List Recipients <pci-sig-request@znyx.com>
- Subject: FW: how do we write a single byte in the config. registers?
- From: "Taylor, Mike" <mike@buntypost.dundee.ncr.com>
- Date: Wed Nov 20 08:26 GMT 1996
- Encoding: 40 TEXT
- Resent-Date: Wed Nov 20 08:26 GMT 1996
- Resent-From: pci-sig-request@znyx.com
- Resent-Message-Id: <"1gsHW2.0.EM6.H3iao"@dart>
- Resent-Sender: pci-sig-request@znyx.com
Beware of config. method #2. If your host chipset does not support method
#2, Triton family for example, then the accesses appear on the ISA bus
and ISA cards can react to the aliases of the config addresses. e.g. C200
can be seen as x200.
Mike.
----------
From: pci-sig-request[SMTP:pci-sig-request@znyx.com]
Sent: 19 November 1996 11:23
To: Mailing List Recipients
Subject: Re: how do we write a single byte in the config. registers?
> >Please lemme know I'd write a single byte in the 32 bit configuration
> >register without using the PCI BIOS, to put it the otherway, how would
> >one write a bios routine that'd write one byte into the configuration
> >register.
>
> This is described in section 3.7.4 in the PCI spec. rev 2.1. Note that
> you have to ask BIOS anyway to get the configuration mechanism (unless
> you're running you SW on selected systems).
Actually, its not that hard to test for config mech 1 and 2... I thought
I had
a code fragment that did this, but I can't seem to locate it... Anyways,
if I
recall correctly, you test for method 2 first, then method 1. Either
method,
to write a single byte, you'd set the index register accordingly, then do
a
byte output to the data port. The more complex task is locating your
device in
configuration space, essentially you need to read the vendor and device
ID at
every possible bus / dev / func location until you locate the vendor and
device
ID you are looking for.
-jrp
) Ô Ã