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.
This commit is contained in:
parent
853823f435
commit
fba26da490
|
@ -186,6 +186,9 @@ TEXT mode32bit(SB), $0
|
|||
|
||||
MOVL $PADDR(CPU0PTE), AX /* first page of page table */
|
||||
MOVL $end-KZERO(SB), CX
|
||||
|
||||
ADDL $(16*1024), CX /* qemu puts multiboot data after the kernel */
|
||||
|
||||
ADDL $(BY2XPG-1), CX
|
||||
ANDL $~(BY2XPG-1), CX /* round to 4MB */
|
||||
MOVL CX, MemMin-KZERO(SB) /* see memory.c */
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue