diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2013-03-13 03:34:54 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-03-20 20:10:55 (GMT) |
commit | 7684eb4f4596ca2b83932a7e9b76c5b125d7838e (patch) | |
tree | db7da5b50099ed183f3e3539ea32dde01c61e038 /arch/powerpc/kvm/book3s_64_mmu_host.c | |
parent | ce1cd9571a1cbdd1367128843116589dfa4c8f87 (diff) | |
download | linux-fsl-qoriq-7684eb4f4596ca2b83932a7e9b76c5b125d7838e.tar.xz |
powerpc: Update kernel VSID range
commit c60ac5693c47df32a2b4b18af97fca5635def015 upstream.
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: Paul Mackerras <paulus@samba.org>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Tested-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/powerpc/kvm/book3s_64_mmu_host.c')
0 files changed, 0 insertions, 0 deletions