pSeries_request_regions()

Anton Blanchard anton at samba.org
Tue Feb 22 17:14:38 EST 2005


Hi John,

> During init, pSeries_request_regions() blindly requests ioports:
> 00000000-0000001f : dma1
> 00000020-0000003f : pic1
> 00000040-0000005f : timer
> 00000060-0000006f : reserved (no i8042)
> 00000080-0000008f : dma page reg
> 000000a0-000000bf : pic2
> 000000c0-000000df : dma2
> 
> If I understand correctly, this is necessary for legacy ISA support.  A
> system with purely virtual I/O would not need these reservations.  If I
> should skip their reservation conditionally, should I check for the
> mere existence of physical I/O?  Or for the existence of an ISA node?
> Thoughts?

Yeah requesting those regions all the time is bogus. We can skip it if
we dont have ISA, perhaps something like this:

 static void __init pSeries_request_regions(void)
 {
+       if (!isa_io_base)
+               return;
+
        request_region(0x20,0x20,"pic1");
        request_region(0xa0,0x20,"pic2");
        request_region(0x00,0x20,"dma1");

Anton



More information about the Linuxppc64-dev mailing list