提交 207d0175 创建 作者: Silas Boyd-Wickizer's avatar Silas Boyd-Wickizer

Fix multiboot clobber.

上级 77f1be87
...@@ -86,7 +86,7 @@ start32: ...@@ -86,7 +86,7 @@ start32:
call initpagetables call initpagetables
call init32e call init32e
movl $PADDR(start64), %edi movl $PADDR(start64), %eax
# Enter 64-bit mode. # Enter 64-bit mode.
ljmp $KCSEG, $PADDR(tramp64) // code64 segment selector ljmp $KCSEG, $PADDR(tramp64) // code64 segment selector
...@@ -107,7 +107,7 @@ apstart: ...@@ -107,7 +107,7 @@ apstart:
apstart32: apstart32:
call init32e call init32e
movl $PADDR(apstart64), %edi movl $PADDR(apstart64), %eax
ljmp $KCSEG, $PADDR(tramp64) // code64 segment selector ljmp $KCSEG, $PADDR(tramp64) // code64 segment selector
.code64 .code64
...@@ -124,11 +124,11 @@ apstart64: ...@@ -124,11 +124,11 @@ apstart64:
tramp64: tramp64:
# The linker thinks we are running at tramp64, but we're actually # The linker thinks we are running at tramp64, but we're actually
# running at PADDR(tramp64), so use an explicit calculation to # running at PADDR(tramp64), so use an explicit calculation to
# load and jump to the correct address. %rdi should hold the # load and jump to the correct address. %rax should hold the
# physical address of the jmp target. # physical address of the jmp target.
movq $KBASE, %r11 movq $KBASE, %r11
addq %r11, %rdi addq %r11, %rax
jmp *%rdi jmp *%rax
# Initial stack # Initial stack
.comm stack, STACK .comm stack, STACK
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论