Paul, I've tracked down a bug I've been having to the fact that pte_update assumes a pte is a unsigned long. I need to look into what the exact implications this has. I was wondering what the thoughts were with respect to how this is suppose to work properly on 440 with its 64-bit pte? I'm looking at a 64-bit pte for some Freescale book-e parts as we move to 36-bit physical address support.
The problem I found was ptep_get_and_clear() would return back only a 32-bit value and thus we loose any information in the upper 32-bits. I found the call in sys_mprotect ... -> change_pte_range -> ptep_get_and_clear() Will provide some update on this tomorrow. - kumar