Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: Move PCI_IOBASE closer to MODULES_VADDR

This is to reuse the same pmd table that is sparsely populated with
the modules space.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

+8 -8
+7 -7
Documentation/arm64/memory.txt
··· 27 27 ----------------------------------------------------------------------- 28 28 0000000000000000 0000007fffffffff 512GB user 29 29 30 - ffffff8000000000 ffffffbbfffcffff ~240GB vmalloc 30 + ffffff8000000000 ffffffbbfffeffff ~240GB vmalloc 31 31 32 - ffffffbbfffd0000 ffffffbcfffdffff 64KB [guard page] 33 - 34 - ffffffbbfffe0000 ffffffbcfffeffff 64KB PCI I/O space 35 - 36 - ffffffbbffff0000 ffffffbcffffffff 64KB [guard page] 32 + ffffffbbffff0000 ffffffbbffffffff 64KB [guard page] 37 33 38 34 ffffffbc00000000 ffffffbdffffffff 8GB vmemmap 39 35 40 - ffffffbe00000000 ffffffbffbffffff ~8GB [guard, future vmmemap] 36 + ffffffbe00000000 ffffffbffbbfffff ~8GB [guard, future vmmemap] 37 + 38 + ffffffbffbe00000 ffffffbffbe0ffff 64KB PCI I/O space 39 + 40 + ffffffbbffff0000 ffffffbcffffffff ~2MB [guard] 41 41 42 42 ffffffbffc000000 ffffffbfffffffff 64MB modules 43 43
+1 -1
arch/arm64/include/asm/io.h
··· 114 114 * I/O port access primitives. 115 115 */ 116 116 #define IO_SPACE_LIMIT 0xffff 117 - #define PCI_IOBASE ((void __iomem *)0xffffffbbfffe0000UL) 117 + #define PCI_IOBASE ((void __iomem *)(MODULES_VADDR - SZ_2M)) 118 118 119 119 static inline u8 inb(unsigned long addr) 120 120 {