x86: Rename VPD (XCC)
[akaros.git] / kern / include / multiboot.h
index dcd2bbe..60ea82c 100644 (file)
@@ -1,5 +1,4 @@
-#ifndef ROS_INC_MULTIBOOT_H
-#define ROS_INC_MULTIBOOT_H
+#pragma once
 
 #include <ros/common.h>
 
@@ -103,20 +102,20 @@ struct multiboot_header
 {
        /* Must be MULTIBOOT_MAGIC - see above. */
        multiboot_uint32_t magic;
-       
+
        /* Feature flags. */
        multiboot_uint32_t flags;
-       
+
        /* The above fields plus this one must equal 0 mod 2^32. */
        multiboot_uint32_t checksum;
-       
+
        /* These are only valid if MULTIBOOT_AOUT_KLUDGE is set. */
        multiboot_uint32_t header_addr;
        multiboot_uint32_t load_addr;
        multiboot_uint32_t load_end_addr;
        multiboot_uint32_t bss_end_addr;
        multiboot_uint32_t entry_addr;
-       
+
        /* These are only valid if MULTIBOOT_VIDEO_MODE is set. */
        multiboot_uint32_t mode_type;
        multiboot_uint32_t width;
@@ -149,43 +148,43 @@ struct multiboot_info
 {
        /* Multiboot info version number */
        multiboot_uint32_t flags;
-       
+
        /* Available memory from BIOS */
        multiboot_uint32_t mem_lower;
        multiboot_uint32_t mem_upper;
-       
+
        /* "root" partition */
        multiboot_uint32_t boot_device;
-       
+
        /* Kernel command line */
        multiboot_uint32_t cmdline;
-       
+
        /* Boot-Module list */
        multiboot_uint32_t mods_count;
        multiboot_uint32_t mods_addr;
-       
+
        union {
                multiboot_aout_symbol_table_t aout_sym;
                multiboot_elf_section_header_table_t elf_sec;
        } u;
-       
+
        /* Memory Mapping buffer */
        multiboot_uint32_t mmap_length;
        multiboot_uint32_t mmap_addr;
-       
+
        /* Drive Info buffer */
        multiboot_uint32_t drives_length;
        multiboot_uint32_t drives_addr;
-       
+
        /* ROM configuration table */
        multiboot_uint32_t config_table;
-       
+
        /* Boot Loader Name */
        multiboot_uint32_t boot_loader_name;
-       
+
        /* APM table */
        multiboot_uint32_t apm_table;
-       
+
        /* Video */
        multiboot_uint32_t vbe_control_info;
        multiboot_uint32_t vbe_mode_info;
@@ -213,10 +212,10 @@ struct multiboot_mod_list
        /* the memory used goes from bytes 'mod_start' to 'mod_end-1' inclusive */
        multiboot_uint32_t mod_start;
        multiboot_uint32_t mod_end;
-       
+
        /* Module command line */
        multiboot_uint32_t cmdline;
-       
+
        /* padding to take it to 16 bytes (must be zero) */
        multiboot_uint32_t pad;
 };
@@ -226,11 +225,10 @@ typedef struct multiboot_mod_list multiboot_module_t;
 
 typedef void (*mboot_foreach_t)(struct multiboot_mmap_entry*, void*);
 
+bool mboot_has_mmaps(struct multiboot_info *mbi);
 void mboot_detect_memory(struct multiboot_info *mbi);
 void mboot_print_mmap(struct multiboot_info *mbi);
 void mboot_foreach_mmap(struct multiboot_info *mbi, mboot_foreach_t func,
                         void *data);
 bool mboot_region_collides(struct multiboot_info *mbi, uintptr_t base,
                            uintptr_t end);
-
-#endif /* !ROS_INC_MULTIBOOT_H */