]> git.baikalelectronics.ru Git - kernel.git/commit
s390/vmem: fix identity mapping
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 10 May 2016 10:10:22 +0000 (12:10 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 11 May 2016 08:20:30 +0000 (10:20 +0200)
commit3d8170362db573a89ccf2c18e36d4b70fb105360
tree18d24e5fd7a5f8e881467035e3e61368d1834adb
parent9b22e80ee8ddcc723f49e4eb7a1302e0f954d2ee
s390/vmem: fix identity mapping

The identity mapping is suboptimal for the last 2GB frame. The mapping
will be established with a mix of 4KB and 1MB mappings instead of a
single 2GB mapping.

This happens because of a off-by-one bug introduced with
commit 379da7af4512 ("s390/mm: Convert bootmem to memblock").

Currently the identity mapping looks like this:

0x0000000080000000-0x0000000180000000        4G PUD RW
0x0000000180000000-0x00000001fff00000     2047M PMD RW
0x00000001fff00000-0x0000000200000000        1M PTE RW

With the bug fixed it looks like this:

0x0000000080000000-0x0000000200000000        6G PUD RW

Fixes: 379da7af4512 ("s390/mm: Convert bootmem to memblock")
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/mm/vmem.c