bond/arch/mb_hdr.asm

45 lines
1.1 KiB
NASM
Raw Normal View History

2018-10-02 06:43:30 +00:00
#define ASM_FILE
#include "multiboot2.h"
2019-06-26 05:47:18 +00:00
#include <arch/mlayout.h>
2018-10-02 06:43:30 +00:00
ASM_MULTIBOOT_CHECK_SUM equ (0xFFFFFFFF - (MULTIBOOT2_HEADER_MAGIC + ASM_MULTIBOOT_HEADER_SIZE + MULTIBOOT_ARCHITECTURE_I386) + 1)
2018-10-02 06:43:30 +00:00
section .multiboot_header
bits 32
2019-12-07 08:54:18 +00:00
align 0x1000
2018-10-02 06:43:30 +00:00
;====================
align MULTIBOOT_HEADER_ALIGN
start_hdr:
2018-10-02 06:43:30 +00:00
dd MULTIBOOT2_HEADER_MAGIC
dd MULTIBOOT_ARCHITECTURE_I386
dd ASM_MULTIBOOT_HEADER_SIZE
dd ASM_MULTIBOOT_CHECK_SUM
;====================
align MULTIBOOT_INFO_ALIGN
dw MULTIBOOT_HEADER_TAG_INFORMATION_REQUEST
dw 0 ; flag
dd (8+4*3) ; size
dd MULTIBOOT_TAG_TYPE_BOOT_LOADER_NAME
dd MULTIBOOT_TAG_TYPE_MMAP
dd MULTIBOOT_TAG_TYPE_ACPI_NEW
2018-10-02 06:43:30 +00:00
;====================
align MULTIBOOT_INFO_ALIGN
dw MULTIBOOT_HEADER_TAG_FRAMEBUFFER; type=5
dw 0 ; flag
dw 20 ; size
dd 0 ; width
dd 0 ; depth
dd 0 ; height
2018-10-02 06:43:30 +00:00
;====================
align MULTIBOOT_INFO_ALIGN
dw MULTIBOOT_HEADER_TAG_MODULE_ALIGN; type=6
dw 0 ; flag
dd 8 ; size
2018-10-02 06:43:30 +00:00
;====================
align MULTIBOOT_INFO_ALIGN
dw MULTIBOOT_HEADER_TAG_END
dw 0 ; flag
dd 8 ; size
2018-10-02 06:43:30 +00:00
;====================
ASM_MULTIBOOT_HEADER_SIZE equ ($ - start_hdr)