Skip to content
  • Aneesh Kumar K.V's avatar
    powerpc/mm/hash: Use context ids 1-4 for the kernel · 941711a3
    Aneesh Kumar K.V authored
    
    
    Currently we use the top 4 context ids (0x7fffc-0x7ffff) for the kernel.
    Kernel VSIDs are built using these top context values and effective the
    segement ID. In subsequent patches we want to increase the max effective
    address to 512TB. We will achieve that by increasing the effective
    segment IDs there by increasing virtual address range.
    
    We will be switching to a 68bit virtual address in the following patch.
    But platforms like Power4 and Power5 only support a 65 bit virtual
    address. We will handle that by limiting the context bits to 16 instead
    of 19 on those platforms. That means the max context id will have a
    different value on different platforms.
    
    So that we don't have to deal with the kernel context ids changing
    between different platforms, move the kernel context ids down to use
    context ids 1-4.
    
    We can't use segment 0 of context-id 0, because that maps to VSID 0,
    which we want to keep as invalid, so we avoid context-id 0 entirely.
    Similarly we can't use the last segment of the maximum context, so we
    avoid it too.
    
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    [mpe: Switch from 0-3 to 1-4 so VSID=0 remains invalid]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    941711a3