RISC-V: Fix building error when CONFIG_SPARSEMEM_MANUAL=y
Fix a build break by adjusting where VMALLOC_* and FIXADDR_* are
defined. This fixes the definition of the MEMMAP_* macros.
CC init/main.o
In file included from ./include/linux/mm.h:99,
from ./include/linux/ring_buffer.h:5,
from ./include/linux/trace_events.h:6,
from ./include/trace/syscall.h:7,
from ./include/linux/syscalls.h:85,
from init/main.c:21:
./arch/riscv/include/asm/pgtable.h: In function ‘pmd_page’:
./arch/riscv/include/asm/pgtable.h:95:24: error: ‘VMALLOC_START’ undeclared (first use in this function); did you mean ‘VMEMMAP_START’?
#define VMEMMAP_START (VMALLOC_START - VMEMMAP_SIZE)
^~~~~~~~~~~~~
Fixes: d95f1a542c
("RISC-V: Implement sparsemem")
Signed-off-by: Greentime Hu <greentime.hu@sifive.com>
[paul.walmsley@sifive.com: minor patch description fix]
Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
This commit is contained in:
parent
b45e0c30bc
commit
b6f2b2e600
@ -83,6 +83,18 @@ extern pgd_t swapper_pg_dir[];
|
|||||||
#define __S110 PAGE_SHARED_EXEC
|
#define __S110 PAGE_SHARED_EXEC
|
||||||
#define __S111 PAGE_SHARED_EXEC
|
#define __S111 PAGE_SHARED_EXEC
|
||||||
|
|
||||||
|
#define VMALLOC_SIZE (KERN_VIRT_SIZE >> 1)
|
||||||
|
#define VMALLOC_END (PAGE_OFFSET - 1)
|
||||||
|
#define VMALLOC_START (PAGE_OFFSET - VMALLOC_SIZE)
|
||||||
|
|
||||||
|
#define FIXADDR_TOP VMALLOC_START
|
||||||
|
#ifdef CONFIG_64BIT
|
||||||
|
#define FIXADDR_SIZE PMD_SIZE
|
||||||
|
#else
|
||||||
|
#define FIXADDR_SIZE PGDIR_SIZE
|
||||||
|
#endif
|
||||||
|
#define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Roughly size the vmemmap space to be large enough to fit enough
|
* Roughly size the vmemmap space to be large enough to fit enough
|
||||||
* struct pages to map half the virtual address space. Then
|
* struct pages to map half the virtual address space. Then
|
||||||
@ -429,18 +441,6 @@ static inline void pgtable_cache_init(void)
|
|||||||
/* No page table caches to initialize */
|
/* No page table caches to initialize */
|
||||||
}
|
}
|
||||||
|
|
||||||
#define VMALLOC_SIZE (KERN_VIRT_SIZE >> 1)
|
|
||||||
#define VMALLOC_END (PAGE_OFFSET - 1)
|
|
||||||
#define VMALLOC_START (PAGE_OFFSET - VMALLOC_SIZE)
|
|
||||||
|
|
||||||
#define FIXADDR_TOP VMALLOC_START
|
|
||||||
#ifdef CONFIG_64BIT
|
|
||||||
#define FIXADDR_SIZE PMD_SIZE
|
|
||||||
#else
|
|
||||||
#define FIXADDR_SIZE PGDIR_SIZE
|
|
||||||
#endif
|
|
||||||
#define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Task size is 0x4000000000 for RV64 or 0x9fc00000 for RV32.
|
* Task size is 0x4000000000 for RV64 or 0x9fc00000 for RV32.
|
||||||
* Note that PGDIR_SIZE must evenly divide TASK_SIZE.
|
* Note that PGDIR_SIZE must evenly divide TASK_SIZE.
|
||||||
|
Loading…
Reference in New Issue
Block a user