:: commit 0bc87d660ce0043696cf654d1573723274265711

mintsuki <mintsuki@protonmail.com> — 2021-01-15 04:14

parents: 3184e0a026

misc: Make build system download stivale headers from stivale repository and delete local copies

diff --git a/.gitignore b/.gitignore
index cdad5b15..67b4bf89 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@
 !/limine.bin
 !/limine-pxe.bin
 !/stage2.map
+/stivale
diff --git a/Makefile b/Makefile
index 81c2ca43..263915b8 100644
--- a/Makefile
+++ b/Makefile
@@ -33,8 +33,13 @@ bootloader-clean: stage2-clean decompressor-clean test-clean
 	rm -f stage2/stage2.bin.gz test/stage2.map test.hdd
 
 distclean: clean bootloader-clean
+	rm -rf stivale
 
-stage2:
+stivale:
+	git clone https://github.com/stivale/stivale.git
+	cd stivale && git checkout b962c172cbf1cf51098758b9a62ec80c50fb6432
+
+stage2: stivale
 	$(MAKE) -C stage2 all
 
 stage2-clean:
diff --git a/stivale/stivale.h b/stivale/stivale.h
deleted file mode 100644
index 4fc5dbe2..00000000
--- a/stivale/stivale.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef __STIVALE__STIVALE_H__
-#define __STIVALE__STIVALE_H__
-
-#include <stdint.h>
-
-/* --- Header --------------------------------------------------------------- */
-/*  Information passed from the kernel to the bootloader                      */
-
-struct stivale_header {
-    uint64_t stack;
-    uint16_t flags;
-    uint16_t framebuffer_width;
-    uint16_t framebuffer_height;
-    uint16_t framebuffer_bpp;
-    uint64_t entry_point;
-} __attribute__((packed));
-
-/* --- Struct --------------------------------------------------------------- */
-/*  Information passed from the bootloader to the kernel                      */
-
-struct stivale_module {
-    uint64_t begin;
-    uint64_t end;
-    char string[128];
-    uint64_t next;
-} __attribute__((packed));
-
-enum {
-    STIVALE_MMAP_USABLE = 1,
-    STIVALE_MMAP_RESERVED = 2,
-    STIVALE_MMAP_ACPI_RECLAIMABLE = 3,
-    STIVALE_MMAP_ACPI_NVS = 4,
-    STIVALE_MMAP_BAD_MEMORY = 5,
-    STIVALE_MMAP_KERNEL_AND_MODULES = 10,
-    STIVALE_MMAP_BOOTLOADER_RECLAIMABLE = 0x1000
-};
-
-struct stivale_mmap_entry {
-    uint64_t base;
-    uint64_t length;
-    uint32_t type;
-    uint32_t unused;
-} __attribute__((packed));
-
-enum {
-    STIVALE_FBUF_MMODEL_RGB = 1
-};
-
-struct stivale_struct {
-    uint64_t cmdline;
-    uint64_t memory_map_addr;
-    uint64_t memory_map_entries;
-    uint64_t framebuffer_addr;
-    uint16_t framebuffer_pitch;
-    uint16_t framebuffer_width;
-    uint16_t framebuffer_height;
-    uint16_t framebuffer_bpp;
-    uint64_t rsdp;
-    uint64_t module_count;
-    uint64_t modules;
-    uint64_t epoch;
-    uint64_t flags; // bit 0: 1 if booted with BIOS, 0 if booted with UEFI
-                    // bit 1: 1 if extended colour information passed, 0 if not
-    uint8_t  fb_memory_model;
-    uint8_t  fb_red_mask_size;
-    uint8_t  fb_red_mask_shift;
-    uint8_t  fb_green_mask_size;
-    uint8_t  fb_green_mask_shift;
-    uint8_t  fb_blue_mask_size;
-    uint8_t  fb_blue_mask_shift;
-} __attribute__((packed));
-
-#endif
diff --git a/stivale/stivale2.h b/stivale/stivale2.h
deleted file mode 100644
index df1e6ba5..00000000
--- a/stivale/stivale2.h
+++ /dev/null
@@ -1,173 +0,0 @@
-#ifndef __STIVALE__STIVALE2_H__
-#define __STIVALE__STIVALE2_H__
-
-#include <stdint.h>
-
-struct stivale2_tag {
-    uint64_t identifier;
-    uint64_t next;
-} __attribute__((packed));
-
-/* --- Header --------------------------------------------------------------- */
-/*  Information passed from the kernel to the bootloader                      */
-
-struct stivale2_header {
-    uint64_t entry_point;
-    uint64_t stack;
-    uint64_t flags;
-    uint64_t tags;
-} __attribute__((packed));
-
-#define STIVALE2_HEADER_TAG_FRAMEBUFFER_ID 0x3ecc1bc43d0f7971
-
-#define STIVALE2_HEADER_TAG_FB_MTRR_ID 0x4c7bb07731282e00
-
-struct stivale2_header_tag_framebuffer {
-    struct stivale2_tag tag;
-    uint16_t framebuffer_width;
-    uint16_t framebuffer_height;
-    uint16_t framebuffer_bpp;
-} __attribute__((packed));
-
-#define STIVALE2_HEADER_TAG_SMP_ID 0x1ab015085f3273df
-
-struct stivale2_header_tag_smp {
-    struct stivale2_tag tag;
-    uint64_t flags;
-} __attribute__((packed));
-
-#define STIVALE2_HEADER_TAG_5LV_PAGING_ID 0x932f477032007e8f
-
-/* --- Struct --------------------------------------------------------------- */
-/*  Information passed from the bootloader to the kernel                      */
-
-struct stivale2_struct {
-#define STIVALE2_BOOTLOADER_BRAND_SIZE 64
-    char bootloader_brand[STIVALE2_BOOTLOADER_BRAND_SIZE];
-
-#define STIVALE2_BOOTLOADER_VERSION_SIZE 64
-    char bootloader_version[STIVALE2_BOOTLOADER_VERSION_SIZE];
-
-    uint64_t tags;
-} __attribute__((packed));
-
-#define STIVALE2_STRUCT_TAG_CMDLINE_ID 0xe5e76a1b4597a781
-
-struct stivale2_struct_tag_cmdline {
-    struct stivale2_tag tag;
-    uint64_t cmdline;
-} __attribute__((packed));
-
-#define STIVALE2_STRUCT_TAG_MEMMAP_ID 0x2187f79e8612de07
-
-enum {
-    STIVALE2_MMAP_USABLE = 1,
-    STIVALE2_MMAP_RESERVED = 2,
-    STIVALE2_MMAP_ACPI_RECLAIMABLE = 3,
-    STIVALE2_MMAP_ACPI_NVS = 4,
-    STIVALE2_MMAP_BAD_MEMORY = 5,
-    STIVALE2_MMAP_BOOTLOADER_RECLAIMABLE = 0x1000,
-    STIVALE2_MMAP_KERNEL_AND_MODULES = 0x1001
-};
-
-struct stivale2_mmap_entry {
-    uint64_t base;
-    uint64_t length;
-    uint32_t type;
-    uint32_t unused;
-} __attribute__((packed));
-
-struct stivale2_struct_tag_memmap {
-    struct stivale2_tag tag;
-    uint64_t entries;
-    struct stivale2_mmap_entry memmap[];
-} __attribute__((packed));
-
-#define STIVALE2_STRUCT_TAG_FRAMEBUFFER_ID 0x506461d2950408fa
-
-enum {
-    STIVALE2_FBUF_MMODEL_RGB  = 1
-};
-
-struct stivale2_struct_tag_framebuffer {
-    struct stivale2_tag tag;
-    uint64_t framebuffer_addr;
-    uint16_t framebuffer_width;
-    uint16_t framebuffer_height;
-    uint16_t framebuffer_pitch;
-    uint16_t framebuffer_bpp;
-    uint8_t  memory_model;
-    uint8_t  red_mask_size;
-    uint8_t  red_mask_shift;
-    uint8_t  green_mask_size;
-    uint8_t  green_mask_shift;
-    uint8_t  blue_mask_size;
-    uint8_t  blue_mask_shift;
-} __attribute__((packed));
-
-#define STIVALE2_STRUCT_TAG_FB_MTRR_ID 0x6bc1a78ebe871172
-
-#define STIVALE2_STRUCT_TAG_MODULES_ID 0x4b6fe466aade04ce
-
-struct stivale2_module {
-    uint64_t begin;
-    uint64_t end;
-
-#define STIVALE2_MODULE_STRING_SIZE 128
-    char string[STIVALE2_MODULE_STRING_SIZE];
-} __attribute__((packed));
-
-struct stivale2_struct_tag_modules {
-    struct stivale2_tag tag;
-    uint64_t module_count;
-    struct stivale2_module modules[];
-} __attribute__((packed));
-
-#define STIVALE2_STRUCT_TAG_RSDP_ID 0x9e1786930a375e78
-
-struct stivale2_struct_tag_rsdp {
-    struct stivale2_tag tag;
-    uint64_t rsdp;
-} __attribute__((packed));
-
-#define STIVALE2_STRUCT_TAG_EPOCH_ID 0x566a7bed888e1407
-
-struct stivale2_struct_tag_epoch {
-    struct stivale2_tag tag;
-    uint64_t epoch;
-} __attribute__((packed));
-
-#define STIVALE2_STRUCT_TAG_FIRMWARE_ID 0x359d837855e3858c
-
-struct stivale2_struct_tag_firmware {
-    struct stivale2_tag tag;
-    uint64_t flags;
-} __attribute__((packed));
-
-#define STIVALE2_STRUCT_TAG_SMP_ID 0x34d1d96339647025
-
-struct stivale2_smp_info {
-    uint32_t processor_id;
-    uint32_t lapic_id;
-    uint64_t target_stack;
-    uint64_t goto_address;
-    uint64_t extra_argument;
-} __attribute__((packed));
-
-struct stivale2_struct_tag_smp {
-    struct stivale2_tag tag;
-    uint64_t flags;
-    uint32_t bsp_lapic_id;
-    uint32_t unused;
-    uint64_t cpu_count;
-    struct stivale2_smp_info smp_info[];
-} __attribute__((packed));
-
-#define STIVALE2_STRUCT_TAG_PXE_SERVER_INFO 0x29d1e96239247032
-
-struct stivale2_struct_tag_pxe_server_info {
-    struct stivale2_tag tag;
-    uint32_t server_ip;
-} __attribute__((packed));
-
-#endif
tab: 248 wrap: offon