popa
ret
+ .pushsection .init.rodata, "a", @progbits
+
.Lvga_text_modes: /* rows, mode_number */
.word 25,VIDEO_80x25
.word 50,VIDEO_80x50
.asciz "no"
.Ledd_opt:
.asciz "edd"
+
+ .popsection
/* Checksum: must be the negated sum of the first two fields. */
.long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
- .section .init.text, "ax"
+ .section .init.rodata, "a", @progbits
+ .align 4
+
+ .word 0
+gdt_boot_descr:
+ .word 6*8-1
+ .long sym_phys(trampoline_gdt)
.Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
.Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
+ .section .init.text, "ax", @progbits
+
bad_cpu:
mov $(sym_phys(.Lbad_cpu_msg)),%esi # Error message
jmp print_err
stosb # Write an attribute to the VGA framebuffer
jmp 1b
-gdt_boot_descr:
- .word 6*8-1
- .long sym_phys(trampoline_gdt)
-
__start:
cld
cli