>You may be seeing PCI write posting. Try reading a harmless port after
>the outb calls
I think I've found the problem. It's another effect of this business of
overloading access information onto the pagetable C and B bits.
The way ioperm works on the ARM is that we open /dev/mem and mmap the
appropriate range to get access to the ISA ports, then use mprotect to turn
individual pages on and off to give at least some semblance of individual
access control. This was actually inherited from the Alpha port.
Now, the problem is that if you call mprotect(PROT_READ) this
ends up being translated to a protection value of PAGE_READONLY (via the
protection_map[] stuff). And, surprise, PAGE_READONLY is actually
PTE_TYPE_SMALL | PTE_YOUNG | PTE_CACHEABLE. Oops.
For the time being I guess it can be made to work by just always enabling
access to all the I/O ports with mmap and never using mprotect. It's a bit
nasty though.
p.
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]