_IO_IS_ISA question

Jake Moilanen moilanen at austin.ibm.com
Thu Mar 18 01:57:18 EST 2004


> Yes. The "ISA" IO space is just a a subset of the PCI space. If this is
> not the case, then the code is bogus.

After further investigation, I realize why this was done.  What will
happen is that a ISA device like the 8250 serial will try doing
inb/outb's to the ISA space to detect the device.  This will cause a
page fault and the kernel will attempt to create a PTE for this page.
On a hypervisor system, if the ISA device is not assigned to that
partition, the address will cause the H_ENTER to fail with a H_PARM.
This will cause the kernel to panic.  So this code was blocking ISA IO
range accesses when there wasn't a ISA bus.

I wrote a patch to create a valid mask of pages that a PCI device can
access inside the ISA IO range.  It will punch holes into this mask
while probing the PCI devices.  FW must either give us full access to a
page, or not.  So we do not have to worry about a valid PCI device IO
range and a invalid ISA device IO range overlapping within the same
page.

Thanks,
Jake


-------------- next part --------------
A non-text attachment was scrubbed...
Name: linux-2.6-io-page-mask-1.patch
Type: text/x-patch
Size: 6344 bytes
Desc: not available
Url : http://ozlabs.org/pipermail/linuxppc64-dev/attachments/20040317/2e340882/attachment.bin 


More information about the Linuxppc64-dev mailing list