From: Jonathan Lundell <jlundell@pobox.com>
To: "David S. Miller" <davem@redhat.com>,
Jeff Garzik <jgarzik@mandrakesoft.com>
Cc: Tom Gall <tom_gall@vnet.ibm.com>, linux-kernel@vger.kernel.org
Subject: Re: Going beyond 256 PCI buses
Date: Thu, 14 Jun 2001 10:59:06 -0700 [thread overview]
Message-ID: <p0510030eb74ea25caa73@[207.213.214.37]> (raw)
In-Reply-To: <15144.51504.8399.395200@pizda.ninka.net>
In-Reply-To: <3B273A20.8EE88F8F@vnet.ibm.com> <3B28C6C1.3477493F@mandrakesoft.com> <15144.51504.8399.395200@pizda.ninka.net>
At 7:24 AM -0700 2001-06-14, David S. Miller wrote:
>2) Figure out what to do wrt. sys_pciconfig_{read,write}()
>
> They ought to really be deprecated and the /proc/bus/pci
> way is the expected way to go about doing these things.
> The procfs interface is more intelligent, less clumsy, and
> even allows you to mmap() PCI cards portably (instead of
> doing crap like mmap()s on /dev/mem, yuck).
>
> Actually, there only real issue here is what happens when
> userspace does PCI config space reads to things which talk
> about "bus numbers" since those will be 8-bit as this is a
> hardware imposed type. These syscalls take long args already
> so they could use >256 bus numbers just fine.
>
>Basically, this 256 bus limit in Linux is a complete fallacy.
There's also the question of pci_ops() (PCI config space access
routines). Alpha (titan in this example) uses:
struct pci_controler *hose = dev->sysdata;
but the general idea is that you need the hose info to do
config-space access on PCI.
The 256-bus fallacy is caused in part by an ambiguity in what we mean
by "bus". In PCI spec talk, a bus is a very specify thing with an
8-bit bus number, and this is reflected in various registers and
address formats. On the other hand we have the general concept of
buses, which includes the possibility of multiple PCI controllers,
and thus multiple domains of 256 buses each.
As I recall, even a midline chipset such as the ServerWorks LE
supports the use of two north bridges, which implies two PCI bus
domains.
I'd favor adopting something like the Alpha approach, but with a
dedicated struct pci_device item (and with "controller" spelled
correctly). And I suppose "domain" sounds a little more sober than
"hose". But since the domain information is necessary to access
configuration registers, it really needs to be included in struct
pci_device.
--
/Jonathan Lundell.
next prev parent reply other threads:[~2001-06-14 18:00 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-13 10:02 Going beyond 256 PCI buses Tom Gall
2001-06-13 17:17 ` Albert D. Cahalan
2001-06-13 18:29 ` Tom Gall
2001-06-14 14:14 ` Jeff Garzik
2001-06-14 15:15 ` David S. Miller
2001-06-14 17:59 ` Jonathan Lundell [this message]
2001-06-14 20:50 ` Jonathan Lundell
2001-06-14 14:24 ` David S. Miller
2001-06-14 14:32 ` Jeff Garzik
2001-06-14 14:42 ` David S. Miller
2001-06-14 15:29 ` Jeff Garzik
2001-06-14 15:33 ` Jeff Garzik
2001-06-14 18:01 ` Albert D. Cahalan
2001-06-14 18:47 ` David S. Miller
2001-06-14 19:04 ` Albert D. Cahalan
2001-06-14 19:12 ` David S. Miller
2001-06-14 19:41 ` Jeff Garzik
2001-06-14 19:57 ` David S. Miller
2001-06-14 20:08 ` Jeff Garzik
2001-06-14 20:14 ` David S. Miller
2001-06-14 21:30 ` Benjamin Herrenschmidt
2001-06-14 21:46 ` Jeff Garzik
2001-06-14 21:48 ` David S. Miller
2001-06-14 21:57 ` Benjamin Herrenschmidt
2001-06-14 22:12 ` David S. Miller
2001-06-14 22:29 ` Benjamin Herrenschmidt
2001-06-14 22:49 ` David S. Miller
2001-06-14 23:35 ` Benjamin Herrenschmidt
2001-06-14 23:35 ` VGA handling was [Re: Going beyond 256 PCI buses] James Simmons
2001-06-14 23:42 ` David S. Miller
2001-06-14 23:55 ` James Simmons
2001-06-15 15:14 ` Pavel Machek
2001-06-15 2:06 ` Albert D. Cahalan
2001-06-15 8:52 ` Matan Ziv-Av
2001-06-14 21:35 ` Going beyond 256 PCI buses David S. Miller
2001-06-14 21:46 ` Benjamin Herrenschmidt
2001-06-16 21:32 ` Jeff Garzik
2001-06-16 23:29 ` Benjamin Herrenschmidt
2001-06-15 8:42 ` Geert Uytterhoeven
2001-06-15 15:38 ` David S. Miller
2001-06-14 19:03 ` David S. Miller
2001-06-14 20:56 ` David S. Miller
2001-06-14 15:13 ` Jonathan Lundell
2001-06-14 15:17 ` Jeff Garzik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='p0510030eb74ea25caa73@[207.213.214.37]' \
--to=jlundell@pobox.com \
--cc=davem@redhat.com \
--cc=jgarzik@mandrakesoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tom_gall@vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).