powerpc/mm/book3s64: Make KERN_IO_START a variable
authorMichael Ellerman <mpe@ellerman.id.au>
Tue, 1 Aug 2017 10:29:22 +0000 (20:29 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 8 Aug 2017 09:37:04 +0000 (19:37 +1000)
commit63ee9b2ff9d306efaa61b04b8710fafe339ae441
tree075b7969f16a201b582c458e218b947228de29ef
parente66ca3db5917f4bcad039d3a3df9f1003797c249
powerpc/mm/book3s64: Make KERN_IO_START a variable

Currently KERN_IO_START is defined as:

 #define KERN_IO_START  (KERN_VIRT_START + (KERN_VIRT_SIZE >> 1))

Although it looks like a constant, both the components are actually
variables, to allow us to have a different value between Radix and
Hash with a single kernel.

However that still requires both Radix and Hash to place the kernel IO
region at the same location relative to the start and end of the
kernel virtual region (namely 1/2 way through it), and we'd like to
change that.

So split KERN_IO_START out into its own variable, and initialise it
for Radix and Hash. In the medium term we should be able to
reconsolidate this, by doing a more involved rearrangement of the
location of the regions.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/book3s/64/hash.h
arch/powerpc/include/asm/book3s/64/pgtable.h
arch/powerpc/include/asm/book3s/64/radix.h
arch/powerpc/mm/hash_utils_64.c
arch/powerpc/mm/pgtable-radix.c
arch/powerpc/mm/pgtable_64.c