Philip Blundell writes:
> >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.
> 
> Now, at the time this sparked the effort that led to separating the Linux 
> pagetables from those actually used by the hardware.

No, wrong reason.  The page tables were separated for the SA-1100 guys, since
the cacheable and bufferable bits have other meanings, and we ran out of bits
in the pte's to represent everything that Linux needed.  Therefore, we ended up
with "Linux" ptes and "hardware" ptes.

This fix in no way affects the above.

btw, all /dev/mem mmaps() are handled by mmap_mem, which itself disables caching.

> I haven't done a great deal more investigation than that, yet.  Does anybody 
> else have any thoughts?  (What started me looking is that isapnp has stopped 
> working again on my machine.)

Are you using the kernel isapnp, or the user tool?
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [EMAIL PROTECTED]      --- ---
  | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |

unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]
++        Please use [EMAIL PROTECTED] for           ++
++                        kernel-related discussions.                      ++

Reply via email to