• Christophe Leroy's avatar
    powerpc/32s: Prepare Kernel Userspace Access Protection · f342adca
    Christophe Leroy authored
    This patch prepares Kernel Userspace Access Protection for
    book3s/32.
    
    Due to limitations of the processor page protection capabilities,
    the protection is only against writing. read protection cannot be
    achieved using page protection.
    
    book3s/32 provides the following values for PP bits:
    
    PP00 provides RW for Key 0 and NA for Key 1
    PP01 provides RW for Key 0 and RO for Key 1
    PP10 provides RW for all
    PP11 provides RO for all
    
    Today PP10 is used for RW pages and PP11 for RO pages, and user
    segment register's Kp and Ks are set to 1. This patch modifies
    page protection to use PP01 for RW pages and sets user segment
    registers to Kp 0 and Ks 0.
    
    This will allow to setup Userspace write access protection by
    settng Ks to 1 in the following patch.
    
    Kernel space segment registers remain unchanged.
    Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    f342adca
head_32.S 35.1 KB