[PATCH 0/2] arm64: PCI_IOBASE fixes
mark.rutland at arm.com
Mon Jan 12 11:36:46 PST 2015
Mark Brown reported build failures in the page table dump code, due to
lack of an explicit include for PCI_IOBASE.
While looking into that I spotted that the VA space allocated for PCI
I/O overlaps with the fixmap allocation, and that in a couple of places
we erroneously assume that the I/O space is 16MiB while the allocted VA
space (and associated IO_SPACE_LIMIT) cover 32MiB.
The first patch fixes the VA space allocation, preventing overlap and
removing erroneous assumptions about the I/O space size. I'm still not
that sure of my understanding of the fixmap code and the entries below
__end_of_permanent_fixed_addresses (which aren't accounted for in
mem_init or the page table dump code), but at least they now live at the
very bottom of the kernel mapping and can't potentially overlap with
The second patch adds the missing explicit includes for the remaining
definitions used in the dump code, and has been updated from the
previous posting  to take the effects of patch 1 into account.
I've built and boot tested a v3.19-rc4 defconfig with these patches applied.
Mark Rutland (2):
arm64: Fix overlapping VA allocations
arm64: mm: dump: add missing includes
arch/arm64/include/asm/io.h | 5 +++--
arch/arm64/include/asm/memory.h | 4 +++-
arch/arm64/mm/dump.c | 8 ++++++--
arch/arm64/mm/init.c | 3 ++-
4 files changed, 14 insertions(+), 6 deletions(-)
More information about the linux-arm-kernel