X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/64e5fa9a495e388c922157b9a616204c299f5e05..bffa3430fbbaaad29bec0b5bee9c1f0bfc7fd068:/lunaix-os/includes/lunaix/boot_generic.h diff --git a/lunaix-os/includes/lunaix/boot_generic.h b/lunaix-os/includes/lunaix/boot_generic.h index a229c45..9ffb7e2 100644 --- a/lunaix-os/includes/lunaix/boot_generic.h +++ b/lunaix-os/includes/lunaix/boot_generic.h @@ -38,11 +38,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 +69,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 */