rust-osdev / multiboot2

Rusty wrappers for Multiboot2.
Apache License 2.0
113 stars 56 forks source link

init multiboot2-common and use same safe memory abstractions also in multiboot2-header crate #227

Closed phip1611 closed 3 months ago

phip1611 commented 3 months ago

This inits a new multiboot2-common crate and workspace member. The ideas of the improvements in #226 have been generalized and can now also improve the situation in the multiboot2-header crate.

Now, (for real!) all unit tests pass Miri. I misleadingly made this claim already in #226 but I forgot a few #[cfg_attr(miri, ignore)] statements - sorry.

Further, lots of UB and memory issues have been resolved in the framebuffer tag and the elf section tag. This is a significant refactoring of the internals, and it guarantees memory safety now. Big success :)

A lot of UB resulted in old code from the early days.

This closes #160 and closes #145.