From: Benjamin Herrenschmidt <bh40@calva.net>
To: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>,
Linux/PPC Development <linuxppc-dev@lists.linuxppc.org>,
Linux/MIPS Development <linux@cthulhu.engr.sgi.com>
Subject: Re: Proposal: non-PC ISA bus support
Date: Tue, 20 Jun 2000 14:23:29 +0200 [thread overview]
Message-ID: <20000620122329.13473@mailhost.mipsys.com> (raw)
In-Reply-To: <Pine.GSO.4.10.10006201254290.8592-100000@dandelion.sonytel.be>
On Tue, Jun 20, 2000, Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
wrote:
> 1. Provide /proc/bus/isa/map, which contains the ISA I/O and memory space
> mappings on machines where these are memory mapped.
>
> Example (on PPC CHRP LongTrail):
>
> callisto$ cat /proc/bus/isa/map
> f8000000 01000000 IO
> f7000000 01000000 MEM
> callisto$
Looks fine except for one thing: How can we handle weird HW (like Apple
Uni-N bridge) that has actually 3 different IO spaces at different
locations (all of them beeing childs of the same PCI bus).
This is more or less related since the ISA iospace can be considered as a
subset of the PCI IO space. The problem is generic (it happens with both
"pure" PCI drivers doing IOs and ISA drivers doing IOs). The problem
exist for both the kernel and userland apps like XFree wanting to do PCI
or ISA IOs. The kernel has a built-in IO-base, your patch would expose it
to userland fixing part of the problem for XFree (so userland don't have
to probe for zillion different bridges) but wouldn't solve the problem of
multiple busses.
Paul suggested mapping them one after each other in a single contiguous
region (with the appropriate fixup in the kernel PCI io resources) but
this can work only for PCI IOs (drivers using the io resource base).
Drivers hard-coding legacy IO addresses will still not work (except if
they are on the first bus).
We still can decide (and that's what I currently do in the kernel) that
IO space is only supported on one of those 3 busses (the one on which the
external PCI is). This prevents however use of IOs on the AGP slot, which
is a problem for things like XFree who may try to use VGA addresses on
the card.
I still don't have a clue about a good solution to this issue. Apple
solves it in their kernel by having an object oriented bus structure,
each device asking for mappings to their parent bridge, based on the
device tree and independently of PCI bus numbers.
Ben.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
next parent reply other threads:[~2000-06-20 12:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.GSO.4.10.10006201254290.8592-100000@dandelion.sonytel.be>
2000-06-20 12:23 ` Benjamin Herrenschmidt [this message]
2000-06-20 13:25 ` Proposal: non-PC ISA bus support De Schrijver Peter
2000-06-20 13:30 ` Benjamin Herrenschmidt
2000-06-21 21:47 ` Michel Lanners
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=20000620122329.13473@mailhost.mipsys.com \
--to=bh40@calva.net \
--cc=Geert.Uytterhoeven@sonycom.com \
--cc=linux@cthulhu.engr.sgi.com \
--cc=linuxppc-dev@lists.linuxppc.org \
/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).