Changeset 5dce48b9 in mainline for arch/ia32/src/boot
- Timestamp:
- 2005-09-01T16:40:30Z (21 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 399ccd9
- Parents:
- 2793442
- File:
-
- 1 edited
-
arch/ia32/src/boot/boot.S (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/src/boot/boot.S
r2793442 r5dce48b9 43 43 kernel_image_start: 44 44 cli 45 xorw %ax, %ax46 movw %ax, %ds47 movw %ax, %ss # initialize stack segment register48 movl $0x7c00, %esp # initialize stack pointer45 xorw %ax, %ax 46 movw %ax, %ds 47 movw %ax, %ss # initialize stack segment register 48 movl $0x7c00, %esp # initialize stack pointer 49 49 50 50 call memmap_arch_init … … 52 52 lgdt gdtr # initialize Global Descriptor Table register 53 53 54 movl %cr0,%eax 55 orl $0x1,%eax 56 movl %eax,%cr0 # switch to protected mode 57 jmpl $8,$meeting_point 58 54 movl %cr0, %eax 55 orl $0x1, %eax 56 movl %eax, %cr0 # switch to protected mode 57 58 jmpl $8, $boot_image_start 59 59 60 .code32 60 61 .align 4 … … 63 64 .long MULTIBOOT_HEADER_FLAGS 64 65 .long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) # checksum 65 .long multiboot_header 66 .long unmapped_ktext_start 66 .long multiboot_header + BOOT_OFFSET 67 .long unmapped_ktext_start + BOOT_OFFSET 67 68 .long 0 68 69 .long 0 69 .long multiboot_image_start 70 .long multiboot_image_start + BOOT_OFFSET 71 72 boot_image_start: 73 movw $16, %ax 74 movw %ax, %es 75 movw %ax, %gs 76 movw %ax, %fs 77 movw %ax, %ds # kernel data + stack 78 movw %ax, %ss 79 80 call map_kernel # map kernel and turn paging on 81 82 movb $0xd1, %al # enable A20 using the keyboard controller 83 outb %al, $0x64 84 movb $0xdf, %al 85 outb %al, $0x60 86 87 movl $0x8000, %esi 88 movl $0x8000 + BOOT_OFFSET, %edi 89 movl $_hardcoded_kernel_size, %ecx 90 cld 91 rep movsb 92 93 jmp protected 70 94 71 95 multiboot_image_start: … … 74 98 lgdt gdtr 75 99 76 meeting_point: 77 movw $16,%ax 78 movw %ax,%es 79 movw %ax,%gs 80 movw %ax,%fs 81 movw %ax,%ds # kernel data + stack 82 movw %ax,%ss 83 100 movw $16, %ax 101 movw %ax, %es 102 movw %ax, %gs 103 movw %ax, %fs 104 movw %ax, %ds # kernel data + stack 105 movw %ax, %ss 106 84 107 call map_kernel # map kernel and turn paging on 85 108 109 protected: 86 110 call main_bsp # never returns 87 111
Note:
See TracChangeset
for help on using the changeset viewer.
