* Jeremy Fitzhardinge wrote: > All x86 modes and architectures have very similar pagetable > structures: the page flags, the accessors for testing/setting them, > and the combinations of page flags used for kernel and usermode > mappings are all the same. The main difference is between 32 and > 64-bit pagetable entries, with the latter supporting the NX bit. > > The most significant difference between the modes/architectures is the > number of levels in the pagetable (4 for 64-bit, 3 for 32-bit/PAE, 2 > for non-PAE 32-bit). This accounts for the remaining code in the > various mode-specific headers. > > I've tried to avoid changing formatting as much as possible, so that > the code motion is more obvious. A subsequent patch will clean things > up in place. when applied to x86.git#mm this patch has build problems: include/asm/pgtable.h: In function 'pte_modify': include/asm/pgtable.h:246: error: 'pteval_t' undeclared (first use in this function) include/asm/pgtable.h:246: error: (Each undeclared identifier is reported only once include/asm/pgtable.h:246: error: for each function it appears in.) include/asm/pgtable.h:246: error: expected ';' before 'pte' include/asm/pgtable.h:247: error: 'pte' undeclared (first use in this function) config attached. Ingo