rework parsing of interupt-map in interrupt node.
[lunaix-os.git] / lunaix-os / includes / lunaix / boot_generic.h
index a229c454b8f8668251b140eaeab8d1746a13e504..7830cb2796cede61d2cc33542f6a138c79ee0d95 100644 (file)
@@ -28,7 +28,6 @@ struct boot_modent
 
 struct boot_handoff
 {
-    size_t msize;
     struct
     {
         size_t size;
@@ -38,11 +37,12 @@ struct boot_handoff
 
     struct
     {
-        ptr_t ksections;
-        size_t size;
+        struct {
+            char* cmdline;
+            size_t len;
+        };
 
-        char* cmdline;
-        size_t len;
+        ptr_t dtb_pa;
     } kexec;
 
     struct
@@ -68,7 +68,29 @@ void
 boot_end(struct boot_handoff*);
 
 void
-boot_cleanup();
+boot_begin_arch_reserve(struct boot_handoff*);
+
+void
+boot_clean_arch_reserve(struct boot_handoff*);
+
+static inline bool
+free_memregion(struct boot_mmapent* mmapent)
+{
+    return !mmapent->type;
+}
+
+static inline bool
+reserved_memregion(struct boot_mmapent* mmapent)
+{
+    return !!(mmapent->type & BOOT_MMAP_RSVD);
+}
+
+static inline bool
+reclaimable_memregion(struct boot_mmapent* mmapent)
+{
+    return !!(mmapent->type & BOOT_MMAP_RCLM);
+}
+
 #endif
 
 #endif /* __LUNAIX_BOOT_GENERIC_H */