summaryrefslogtreecommitdiff
path: root/sys/src/9/pc64
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-04-08 02:50:09 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2015-04-08 02:50:09 +0200
commitfba26da490b453f58b727954184650f9767fab94 (patch)
treeda94f7adbd239994f95598378c7d9f4d8189965b /sys/src/9/pc64
parent853823f435cd30ffb52d90cd49b4cfdba42121d4 (diff)
pc, pc64: extend initial memory map for qemu multiboot data
qemu puts multiboot data after the end of the kernel image, so to be able to KADDR() that memory early, we extend the initial identity mapping by 16K. right now we just got lucky with the pc kernel as it rounds the map to 4MB pages.
Diffstat (limited to 'sys/src/9/pc64')
-rw-r--r--sys/src/9/pc64/l.s3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/src/9/pc64/l.s b/sys/src/9/pc64/l.s
index 94356a9fb..6736ec42b 100644
--- a/sys/src/9/pc64/l.s
+++ b/sys/src/9/pc64/l.s
@@ -149,6 +149,9 @@ TEXT _warp64<>(SB), 1, $-4
*/
ADDL $PDO(KZERO), AX
MOVL $end-KZERO(SB), CX
+
+ ADDL $(16*1024), CX /* qemu puts multiboot data after the kernel */
+
ADDL $(PGLSZ(1)-1), CX
ANDL $~(PGLSZ(1)-1), CX
MOVL CX, MemMin-KZERO(SB) /* see memory.c */