mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 17:59:32 +00:00
ARM: 9088/1: Split KERNEL_OFFSET from PAGE_OFFSET
We want to be able to compile the kernel into an address different from PAGE_OFFSET (start of lowmem) + TEXT_OFFSET, so start to pry apart the address of where the kernel is located from the address where the lowmem is located by defining and using KERNEL_OFFSET in a few key places. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
8b95a7d90c
commit
b78f63f443
3 changed files with 9 additions and 4 deletions
|
@ -20,8 +20,14 @@
|
|||
#endif
|
||||
#include <asm/kasan_def.h>
|
||||
|
||||
/* PAGE_OFFSET - the virtual address of the start of the kernel image */
|
||||
/*
|
||||
* PAGE_OFFSET: the virtual address of the start of lowmem, memory above
|
||||
* the virtual address range for userspace.
|
||||
* KERNEL_OFFSET: the virtual address of the start of the kernel image.
|
||||
* we may further offset this with TEXT_OFFSET in practice.
|
||||
*/
|
||||
#define PAGE_OFFSET UL(CONFIG_PAGE_OFFSET)
|
||||
#define KERNEL_OFFSET (PAGE_OFFSET)
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING)
|
||||
#include CONFIG_DEBUG_LL_INCLUDE
|
||||
#endif
|
||||
|
||||
/*
|
||||
* swapper_pg_dir is the virtual address of the initial page table.
|
||||
* We place the page tables 16K below KERNEL_RAM_VADDR. Therefore, we must
|
||||
|
@ -31,7 +30,7 @@
|
|||
* the least significant 16 bits to be 0x8000, but we could probably
|
||||
* relax this restriction to KERNEL_RAM_VADDR >= PAGE_OFFSET + 0x4000.
|
||||
*/
|
||||
#define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET)
|
||||
#define KERNEL_RAM_VADDR (KERNEL_OFFSET + TEXT_OFFSET)
|
||||
#if (KERNEL_RAM_VADDR & 0xffff) != 0x8000
|
||||
#error KERNEL_RAM_VADDR must start at 0xXXXX8000
|
||||
#endif
|
||||
|
|
|
@ -47,7 +47,7 @@ SECTIONS
|
|||
#endif
|
||||
}
|
||||
|
||||
. = PAGE_OFFSET + TEXT_OFFSET;
|
||||
. = KERNEL_OFFSET + TEXT_OFFSET;
|
||||
.head.text : {
|
||||
_text = .;
|
||||
HEAD_TEXT
|
||||
|
|
Loading…
Reference in a new issue