Changeset b6dfc32 in mainline
- Timestamp:
- 2009-03-13T14:44:40Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d9167a1c
- Parents:
- 421c833
- Location:
- kernel/arch/ia32/src/boot
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/boot/vesa_prot.inc
r421c833 rb6dfc32 1 1 #ifdef CONFIG_FB 2 3 #define MULTIBOOT_LOADER_MAGIC 0x2BADB002 4 #define MBINFO_BIT_CMDLINE 2 5 #define MBINFO_OFFSET_CMDLINE 16 6 7 # copy real mode VESA initialization code 8 2 9 mov $vesa_init, %esi 3 10 mov $VESA_INIT_SEGMENT << 4, %edi … … 5 12 rep movsb 6 13 14 # check for GRUB command line 15 16 mov grub_eax, %eax 17 cmp $MULTIBOOT_LOADER_MAGIC, %eax 18 jne no_cmdline 19 20 mov grub_ebx, %ebx 21 mov (%ebx), %eax 22 bt $MBINFO_BIT_CMDLINE, %eax 23 jnc no_cmdline 24 25 # skip the kernel path in command line 26 27 mov MBINFO_OFFSET_CMDLINE(%ebx), %esi 28 29 skip_loop: 30 lodsb 31 32 cmp $0, %al 33 je no_cmdline 34 35 cmp $' ', %al 36 je skip_loop_done 37 38 jmp skip_loop 39 skip_loop_done: 40 41 mov (%esi), %al 42 cmp $0, %al 43 je no_cmdline 44 45 # copy at most 23 characters from command line 46 47 mov $VESA_INIT_SEGMENT << 4, %edi 48 add $default_mode - vesa_init, %edi 49 mov $23, %ecx 50 51 cmd_loop: 52 lodsb 53 stosb 54 55 cmp $0, %al 56 je cmd_loop_done 57 58 loop cmd_loop 59 cmd_loop_done: 60 61 # zero termination 62 63 xor %eax, %eax 64 stosb 65 66 no_cmdline: 67 68 # jump to the real mode 69 7 70 mov $VESA_INIT_SEGMENT << 4, %edi 8 71 jmpl *%edi 9 72 10 73 vesa_meeting_point: 74 # returned back to protected mode 75 11 76 mov %esi, KA2PA(vesa_ph_addr) 12 77 mov %di, KA2PA(vesa_height) -
kernel/arch/ia32/src/boot/vesa_real.inc
r421c833 rb6dfc32 327 327 .ascii "-" 328 328 .asciz STRING(CONFIG_VESA_BPP) 329 .fill 24 329 330 330 331 #include "vesa_ret.inc"
Note:
See TracChangeset
for help on using the changeset viewer.