• Aneesh Kumar K.V's avatar
    powerpc/mm: Use big endian Linux page tables for book3s 64 · 5dc1ef85
    Aneesh Kumar K.V authored
    Traditionally Power server machines have used the Hashed Page Table MMU
    mode. In this mode Linux manages its own tree of nested page tables,
    aka. "the Linux page tables", which are not used by the hardware
    directly, and software loads translations into the hash page table for
    use by the hardware.
    
    Power ISA 3.0 defines a new MMU mode, known as Radix Tree Translation,
    where the hardware can directly operate on the Linux page tables.
    However the hardware requires that the page tables be in big endian
    format.
    
    To accommodate this, switch the pgtable types to __be64 and add
    appropriate endian conversions.
    
    Because we will be supporting a single kernel binary that boots using
    either radix or hash mode, we always store the Linux page tables big
    endian, even in hash mode where they are not actually used by the
    hardware.
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    [mpe: Fix sparse errors, flesh out change log]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    5dc1ef85
hugepage-hash64.c 5.04 KB