Fix bug where identifier is not set for SMP tag
diff --git a/limine.bin b/limine.bin
index 8ae96e1c..bbd0e83a 100644
Binary files a/limine.bin and b/limine.bin differ
diff --git a/stage2/protos/stivale2.c b/stage2/protos/stivale2.c
index 329dd8b7..791dacb7 100644
--- a/stage2/protos/stivale2.c
+++ b/stage2/protos/stivale2.c
@@ -326,6 +326,7 @@ void stivale2_load(char *cmdline, int boot_drive) {
struct stivale2_header_tag_smp *smp_hdr_tag = get_tag(&stivale2_hdr, STIVALE2_HEADER_TAG_SMP_ID);
if (smp_hdr_tag != NULL) {
struct stivale2_struct_tag_smp *tag = balloc(sizeof(struct stivale2_struct_tag_smp));
+ tag->tag.identifier = STIVALE2_STRUCT_TAG_SMP_ID;
init_smp((size_t*)&tag->cpu_count, bits == 64, level5pg && level5pg_requested,
pagemap, smp_hdr_tag->flags & 1);
@@ -334,6 +335,16 @@ void stivale2_load(char *cmdline, int boot_drive) {
}
}
+ print("Generated tags:\n");
+ struct stivale2_tag *taglist = (void*)(size_t)stivale2_struct.tags;
+ for (size_t i = 0; ; i++) {
+ print("Tag #%u ID: %X\n", i, taglist->identifier);
+ if (taglist->next)
+ taglist = (void*)(size_t)taglist->next;
+ else
+ break;
+ }
+
stivale_spinup(bits, level5pg && level5pg_requested, pagemap,
entry_point, &stivale2_struct, stivale2_hdr.stack);
}
