Kernel: Allow booting with multiple processors on i686
Also remove unnecessary ds clearing in x86_64.
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user