diff options
Diffstat (limited to 'arch/riscv64/conf/kernel-link.S')
| -rw-r--r-- | arch/riscv64/conf/kernel-link.S | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/riscv64/conf/kernel-link.S b/arch/riscv64/conf/kernel-link.S index d93b642..1a0d42f 100644 --- a/arch/riscv64/conf/kernel-link.S +++ b/arch/riscv64/conf/kernel-link.S @@ -5,9 +5,14 @@ OUTPUT_ARCH(riscv) ENTRY(main) SECTIONS { - . = ABSOLUTE(VM_KERN); + /* This is apparently necessary. I *think* it is to tell the linker that + * the kernel should be able to run in the bottom half of the address + * space, but I don't know for sure and this feels like a fairly major + * hack. + * @todo look into this further. + */ + . = ABSOLUTE(VM_DMAP); __kernel_start = .; - .text ALIGN(4K) : AT(0) { *(.kernel.start); *(.text*); |
