Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 278 → Rev 279

/SPARTAN/trunk/arch/ia32/src/boot/boot.S
52,7 → 52,7
call memmap_arch_init
lgdt bsp_bootstrap_gdtr # initialize Global Descriptor Table register
lgdt real_bootstrap_gdtr # initialize Global Descriptor Table register
movl %cr0, %eax
orl $0x1, %eax
93,27 → 93,29
cld
rep movsb
jmp protected
call main_bsp # never returns
 
cli
hlt
multiboot_image_start:
movl BOOTSTRAP_OFFSET - 0x400, %esp # initialize stack pointer
movl $BOOTSTRAP_OFFSET - 0x400, %esp # initialize stack pointer
lgdt gdtr # initialize Global Descriptor Table register
lgdt protected_bootstrap_gdtr - 0x80000000 # initialize Global Descriptor Table register
 
movw $KDATA, %ax
movw %ax, %es
movw %ax, %gs
movw %ax, %fs
movw %ax, %ds # kernel data + stack
movw %ax, %ds # kernel data + stack
movw %ax, %ss
jmpl $KTEXT, $multiboot_meeting_point
jmpl $KTEXT, $multiboot_meeting_point + BOOT_OFFSET
multiboot_meeting_point:
call map_kernel # map kernel and turn paging on
call map_kernel # map kernel and turn paging on
protected:
call main_bsp # never returns
call main_bsp - BOOT_OFFSET # never returns
 
cli
hlt