On Wed, 24 Feb 2010 17:41:00 +0100 Ralf Baechle <ralf@xxxxxxxxxxxxxx> wrote: > On Wed, Feb 24, 2010 at 09:03:33AM +0900, Yoichi Yuasa wrote: > > > > approach Ben suggested long ago: > > > http://marc.info/?l=linux-kernel&m=119733290624544&w=2 > > > > It works fine with 2.6.34 queue tree. > > pci.c change is already committed by Ralf. > > Which I just dropped from queue. To keep the tree bisectable removal of > the old hack and adding the fixup should be done in the same patch so I'd > go for Bjorn's patch. > > There is another somewhat theoretical correctness issue. Because the > VIA SuperIO chip only decodes 24 bits of address space but port address > space currently being configured as 32MB there is the theoretical > possibility of I/O port addresses that alias with legacy addresses getting > allocated. > > The complicated solution is to reserve all address range that potencially > could cause such aliases. But with the PCI spec limiting port allocations > for devices to a maximum of 256 bytes 16MB of port address space already is > way more than one would ever expect to be used so I suggest to just limit > the port address space to 16MB. > > Could you test the patch below? It has no problem. $ cat /proc/ioports 00000000-0000001f : reserved 00000020-00000021 : pic1 00000060-0000006f : reserved 00000070-00000077 : rtc_cmos 00000070-00000077 : rtc0 00000080-0000008f : reserved 000000a0-000000a1 : pic2 000000c0-000000df : reserved 00000170-00000177 : pata_via 000001f0-000001f7 : pata_via 00000376-00000376 : pata_via 000003f6-000003f6 : pata_via 00001000-00ffffff : PCI I/O 00001000-0000107f : 0000:00:07.0 00001000-0000107f : tulip 00001080-000010ff : 0000:00:0c.0 00001080-000010ff : tulip 00001400-0000141f : 0000:00:09.2 00001420-0000142f : 0000:00:09.1 00001420-0000142f : pata_via Yoichi