• R
    powerpc: Enable pkey subsystem · cf43d3b2
    Ram Pai 提交于
    PAPR defines 'ibm,processor-storage-keys' property. It exports two
    values. The first value holds the number of data-access keys and the
    second holds the number of instruction-access keys. Due to a bug in
    the firmware, instruction-access keys is always reported as zero.
    However any key can be configured to disable data-access and/or
    disable execution-access. The inavailablity of the second value is not
    a big handicap, though it could have been used to determine if the
    platform supported disable-execution-access.
    
    Non-PAPR platforms do not define this property in the device tree yet.
    Fortunately power8 is the only released Non-PAPR platform that is
    supported. Here, we hardcode the number of supported pkey to 32, by
    consulting the PowerISA3.0
    
    This patch calculates the number of keys supported by the platform.
    Also it determines the platform support for read/write/execution
    access support for pkeys.
    Signed-off-by: NRam Pai <linuxram@us.ibm.com>
    [mpe: Use a PVR check instead of CPU_FTR for execute. Restrict to
     Power7/8/9 for now until older CPUs are tested.]
    Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
    cf43d3b2
pkeys.c 11.4 KB