diff options
| -rw-r--r-- | arch/arm64/include/asm/memory.h | 2 | ||||
| -rw-r--r-- | arch/arm64/include/asm/pgtable.h | 2 | ||||
| -rw-r--r-- | arch/arm64/mm/fixmap.c | 3 | ||||
| -rw-r--r-- | arch/arm64/mm/ptdump.c | 4 | 
4 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h index b04fa8a8a262..f3be3ea74138 100644 --- a/arch/arm64/include/asm/memory.h +++ b/arch/arm64/include/asm/memory.h @@ -51,7 +51,7 @@  #define VMEMMAP_END		(VMEMMAP_START + VMEMMAP_SIZE)  #define PCI_IO_START		(VMEMMAP_END + SZ_8M)  #define PCI_IO_END		(PCI_IO_START + PCI_IO_SIZE) -#define FIXADDR_TOP		(VMEMMAP_START - SZ_32M) +#define FIXADDR_TOP		(-UL(SZ_8M))  #if VA_BITS > 48  #define VA_BITS_MIN		(48) diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index 79ce70fbb751..2aa2e3c961d7 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h @@ -22,7 +22,7 @@   *	and fixed mappings   */  #define VMALLOC_START		(MODULES_END) -#define VMALLOC_END		(VMEMMAP_START - SZ_256M) +#define VMALLOC_END		(VMEMMAP_START - SZ_8M)  #define vmemmap			((struct page *)VMEMMAP_START - (memstart_addr >> PAGE_SHIFT)) diff --git a/arch/arm64/mm/fixmap.c b/arch/arm64/mm/fixmap.c index c0a3301203bd..6fc17b2e1714 100644 --- a/arch/arm64/mm/fixmap.c +++ b/arch/arm64/mm/fixmap.c @@ -16,6 +16,9 @@  #include <asm/pgalloc.h>  #include <asm/tlbflush.h> +/* ensure that the fixmap region does not grow down into the PCI I/O region */ +static_assert(FIXADDR_TOT_START > PCI_IO_END); +  #define NR_BM_PTE_TABLES \  	SPAN_NR_ENTRIES(FIXADDR_TOT_START, FIXADDR_TOP, PMD_SHIFT)  #define NR_BM_PMD_TABLES \ diff --git a/arch/arm64/mm/ptdump.c b/arch/arm64/mm/ptdump.c index 46acb2a24da0..a929b5a321db 100644 --- a/arch/arm64/mm/ptdump.c +++ b/arch/arm64/mm/ptdump.c @@ -45,12 +45,12 @@ static struct addr_marker address_markers[] = {  	{ MODULES_END,			"Modules end" },  	{ VMALLOC_START,		"vmalloc() area" },  	{ VMALLOC_END,			"vmalloc() end" }, -	{ FIXADDR_TOT_START,		"Fixmap start" }, -	{ FIXADDR_TOP,			"Fixmap end" },  	{ VMEMMAP_START,		"vmemmap start" },  	{ VMEMMAP_END,			"vmemmap end" },  	{ PCI_IO_START,			"PCI I/O start" },  	{ PCI_IO_END,			"PCI I/O end" }, +	{ FIXADDR_TOT_START,		"Fixmap start" }, +	{ FIXADDR_TOP,			"Fixmap end" },  	{ -1,				NULL },  };  | 
