Add field multiboot2_header_example2.tag_flags

This commit is contained in:
Alex Kotov 2022-01-14 09:27:55 +05:00
parent b7a3949552
commit 0e8609977d
3 changed files with 25 additions and 3 deletions

View File

@ -30,7 +30,10 @@ extern "C" {
#define KERNAUX_MULTIBOOT2_TAG_SIZE_ALIGN(tag_base) \
(((tag_base)->size + 7) & ~7)
#define KERNAUX_MULTIBOOT2_HTAG_FLAG_OPTIONAL 1
#define KERNAUX_MULTIBOOT2_HTAG_BASE_FLAG_OPTIONAL 1
#define KERNAUX_MULTIBOOT2_HTAG_FLAGS_REQUIRE_CONSOLE (1 << 0)
#define KERNAUX_MULTIBOOT2_HTAG_FLAGS_EGA_SUPPORT (1 << 1)
/****************
* Common types *

View File

@ -12,6 +12,10 @@ static const struct {
uint8_t _align1[4];
struct KernAux_Multiboot2_HTag_Flags tag_flags;
uint8_t _align2[4];
struct KernAux_Multiboot2_HTag_None tag_none;
} multiboot2_header_example2 = {
.multiboot2_header = {
@ -75,6 +79,17 @@ static const struct {
},
.entry_addr = 0,
},
.tag_flags = {
.base = {
.type = KERNAUX_MULTIBOOT2_HTAG_FLAGS,
.flags = 0,
.size = sizeof(multiboot2_header_example2.tag_flags),
},
.console_flags = (
KERNAUX_MULTIBOOT2_HTAG_FLAGS_REQUIRE_CONSOLE |
KERNAUX_MULTIBOOT2_HTAG_FLAGS_EGA_SUPPORT
),
},
.tag_none = {
.base = {
.type = KERNAUX_MULTIBOOT2_HTAG_NONE,

View File

@ -14,8 +14,8 @@ static const char output2[] =
"Multiboot 2 header\n"
" magic: 920085129\n"
" arch: 1\n"
" size: 160\n"
" checksum: 3374882006\n"
" size: 176\n"
" checksum: 3374881990\n"
"Multiboot 2 header tag\n"
" type: 1 (information request)\n"
" flags: 0\n"
@ -29,6 +29,10 @@ static const char output2[] =
" flags: 0\n"
" size: 12\n"
"Multiboot 2 header tag\n"
" type: 4 (flags)\n"
" flags: 0\n"
" size: 12\n"
"Multiboot 2 header tag\n"
" type: 0 (none)\n"
" flags: 0\n"
" size: 8\n";