Kernel: Allow booting with multiple processors on i686
Also remove unnecessary ds clearing in x86_64.
This commit is contained in:
parent
0dd74e3c9d
commit
d2df55b1ac
|
@ -231,7 +231,6 @@ system_halt:
|
||||||
.code16
|
.code16
|
||||||
.global ap_trampoline
|
.global ap_trampoline
|
||||||
ap_trampoline:
|
ap_trampoline:
|
||||||
ud2
|
|
||||||
jmp 1f
|
jmp 1f
|
||||||
.align 8
|
.align 8
|
||||||
ap_stack_ptr:
|
ap_stack_ptr:
|
||||||
|
@ -239,10 +238,7 @@ ap_stack_ptr:
|
||||||
1:
|
1:
|
||||||
cli; cld
|
cli; cld
|
||||||
ljmpl $0x00, $ap_cs_clear
|
ljmpl $0x00, $ap_cs_clear
|
||||||
|
|
||||||
ap_cs_clear:
|
ap_cs_clear:
|
||||||
xorw %ax, %ax
|
|
||||||
movw %ax, %ds
|
|
||||||
|
|
||||||
# load ap gdt and enter protected mode
|
# load ap gdt and enter protected mode
|
||||||
lgdt ap_gdtr
|
lgdt ap_gdtr
|
||||||
|
|
|
@ -249,10 +249,7 @@ ap_stack_ptr:
|
||||||
1:
|
1:
|
||||||
cli; cld
|
cli; cld
|
||||||
ljmpl $0x00, $ap_cs_clear
|
ljmpl $0x00, $ap_cs_clear
|
||||||
|
|
||||||
ap_cs_clear:
|
ap_cs_clear:
|
||||||
xorw %ax, %ax
|
|
||||||
movw %ax, %ds
|
|
||||||
|
|
||||||
# load ap gdt and enter protected mode
|
# load ap gdt and enter protected mode
|
||||||
lgdt ap_gdtr
|
lgdt ap_gdtr
|
||||||
|
|
Loading…
Reference in New Issue