On Wed, 21 Jun 2000, Richard Henderson wrote:
> On Tue, Jun 20, 2000 at 01:21:10PM +0200, Geert Uytterhoeven wrote:
> >1. ISA I/O space is memory mapped on many platforms (e.g. PPC and MIPS). To
> > access it from user space, you cannot plainly use inb() and friends like
> > on
> > PC, but you have to mmap() the correct region of /dev/mem first. This
> > region depends on the machine type and currently there's no simple way to
> > find out from user space.
> You may wish to examine the pciconfig_iobase syscall used on Alpha.
> It can be used to solve the multiple independant pci bus problem
> as well as the ISA base address problem.
Thanks! I'll take a look at it...
> >2. ISA memory is not located at physical address 0 on many platforms (e.g.
> > and some MIPS boxes). This means you cannot e.g. use
> > request_mem_region(0xa0000, 65536) to request the legacy VGA region.
> This can be fiddled. Basicly, you pretend that 0 is the base address,
> then use ioremap to shift everything up into place. This assumes that
But with ioremap() you cannot specify where it has to be mapped, right? So
you're still stuck with an offset.
Besides, request_mem_region(0xa0000, 65536) will fail on my box anyway because
I already have some memory resources requested at address 0.
> the ISA bus is contained within exactly one PCI hose.
Which is not the case on some boxes :-(
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- email@example.com
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds