mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Matthew Wilcox <willy@debian.org>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Jon Smirl <jonsmirl@gmail.com>,
	Jesse Barnes <jbarnes@engr.sgi.com>,
	"David S. Miller" <davem@davemloft.net>,
	willy@debian.org,
	Linux Kernel Development <linux-kernel@vger.kernel.org>
Subject: Re: multi-domain PCI and sysfs
Date: Wed, 8 Sep 2004 12:38:16 +0100	[thread overview]
Message-ID: <20040908113816.GL642@parcelfarce.linux.theplanet.co.uk> (raw)
In-Reply-To: <Pine.GSO.4.58.0409081302040.20726@waterleaf.sonytel.be>

On Wed, Sep 08, 2004 at 01:11:36PM +0200, Geert Uytterhoeven wrote:
> On ia32, you access PCI I/O space (`I/O ports') using IN/OUT instructions.
> On non-ia32, you access PCI I/O space by accessing a special region of the CPU
> address space.

That's one way of doing it, sure ... ;-)

With HP's Dino PCI controller, you generate I/O cycles on the PCI bus by
writing the address to the DINO_PCI_ADDR register, then reading or writing
the DINO_IO_DATA register.

> You access PCI memory space by accessing a special region of the CPU
> address space on all platforms I'm aware of.

The PPC64 iSeries port seems to do a hypervisor call for readb() et al.
Nasty stuff.

> On ia32, it starts at CPU address
> zero, and there's no offset between CPU physical addresses and PCI bus
> addresses. On other platforms, there may be offsets.

It can even depend on machine model ... only some ia64 platforms have
different bus view and physical view (see Documentation/IO-mapping.txt)

> For access to PCI config space, there are even more possibilities. On ia32
> it's usually done using indirect access to PCI I/O space 0xcf8 etc. On other
> platforms it's usually done by accessing a special region of the CPU address
> space. Or in a different way ;-)

We have four options on i386 -- direct1, direct2, bios and mmconfig.
Other platforms ... well, get even weirder.  Magic registers, firmware
calls, memory mapped.  It's all been done.

-- 
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain

  reply	other threads:[~2004-09-08 11:38 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-04 20:00 Jon Smirl
2004-09-04 21:57 ` Jesse Barnes
2004-09-04 22:12   ` Jon Smirl
2004-09-04 22:27     ` Jesse Barnes
2004-09-04 22:45       ` Jon Smirl
2004-09-04 23:03         ` Jesse Barnes
2004-09-05 23:04           ` Matthew Wilcox
2004-09-05 23:50             ` Jon Smirl
2004-09-05 23:00               ` Alan Cox
2004-09-06  1:40               ` Matthew Wilcox
2004-09-07 22:58                 ` Jon Smirl
2004-09-07 23:11                   ` David S. Miller
2004-09-08  3:39                     ` Jon Smirl
2004-09-08  4:12                       ` David S. Miller
2004-09-08  4:16                       ` Jesse Barnes
2004-09-08  4:15                     ` Jesse Barnes
2004-09-08  4:16                       ` David S. Miller
2004-09-08  4:25                         ` Jesse Barnes
2004-09-08  6:01                           ` Jon Smirl
2004-09-08 13:02                             ` Alan Cox
2004-09-08 16:02                             ` Jesse Barnes
2004-09-08 18:20                               ` David S. Miller
2004-09-08 18:32                                 ` Jesse Barnes
2004-09-08 18:54                                   ` David S. Miller
2004-09-08  6:55                           ` Jon Smirl
2004-09-08 11:11                             ` Geert Uytterhoeven
2004-09-08 11:38                               ` Matthew Wilcox [this message]
2004-09-08 18:21                             ` David S. Miller
2004-09-08 22:41                               ` Alan Cox
2004-09-09  0:31                                 ` Jon Smirl
2004-09-09 13:06                                   ` Alan Cox
2004-09-08 15:03                   ` Matthew Wilcox
2004-09-06  0:06             ` Jesse Barnes
2004-09-06  0:31               ` Jon Smirl
2004-09-06  1:38               ` Jon Smirl

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=20040908113816.GL642@parcelfarce.linux.theplanet.co.uk \
    --to=willy@debian.org \
    --cc=davem@davemloft.net \
    --cc=geert@linux-m68k.org \
    --cc=jbarnes@engr.sgi.com \
    --cc=jonsmirl@gmail.com \
    --cc=linux-kernel@vger.kernel.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

Powered by JetHome