• Aneesh Kumar K.V's avatar
    powerpc: Update kernel VSID range · c60ac569
    Aneesh Kumar K.V authored
    This patch change the kernel VSID range so that we limit VSID_BITS to 37.
    This enables us to support 64TB with 65 bit VA (37+28). Without this patch
    we have boot hangs on platforms that only support 65 bit VA.
    
    With this patch we now have proto vsid generated as below:
    
    We first generate a 37-bit "proto-VSID". Proto-VSIDs are generated
    from mmu context id and effective segment id of the address.
    
    For user processes max context id is limited to ((1ul << 19) - 5)
    for kernel space, we use the top 4 context ids to map address as below
    0x7fffc -  [ 0xc000000000000000 - 0xc0003fffffffffff ]
    0x7fffd -  [ 0xd000000000000000 - 0xd0003fffffffffff ]
    0x7fffe -  [ 0xe000000000000000 - 0xe0003fffffffffff ]
    0x7ffff -  [ 0xf000000000000000 - 0xf0003fffffffffff ]
    Acked-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Tested-by: default avatarGeoff Levand <geoff@infradead.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    CC: <stable@vger.kernel.org> [v3.8]
    c60ac569
mmu_context_hash64.c 2.51 KB