Updates in July 2019
This post gives an overview of the recent updates to the Writing an OS in Rust blog and the used libraries and tools.
Since I’m still very busy with my master thesis, I haven’t had the time to work on a new post. But there were quite a few maintenance updates this month and also a few new features such as the new OffsetPageTable type in the x86_64 crate.
We also had some great contributions this month. Thanks to the efforts of @64, we were able to considerably lower the compile times of the x86_64 and bootloader crates. Thanks to @Aehmlo, the cargo-xbuild crate now has a cargo xdoc subcommands and support for the cargo {c, b, t, r} aliases.
The following list gives a short overview of notable changes to the different projects.
blog_os
- Fix a lot of dead links in both the second and first edition
- Update paging introduction post to use page fault error code
x86_64
- Reexport MappedPageTable on non-x86_64 platforms too
- Update GDT docs, add user_data_segment function and WRITABLE flag by @64 (published as version 0.7.2)
- Add a new
OffsetPageTablemapper type (published as version 0.7.3) - Update integration tests to use new testing framework
- Remove raw-cpuid dependency and use rdrand intrinsics by @64 (published as version 0.7.4)
bootloader
- Remove stabilized publish-lockfile feature (published as version 0.6.2)
- Update CI badge, use latest version of x86_64 crate and rustfmt by @64 (published as version 0.6.3)
- Use volatile accesses in VGA code and make font dependency optional by @64
- Making the dependency optional should improve compile times when the VGA text mode is used
- Published as version 0.6.4
- Breaking: Only include dependencies when
binaryfeature is enabled (published as version 0.7.0)
bootimage
- If the bootloader has a feature named
binary, enable it (published as version 0.7.6)- This is required for building
bootloader 0.7.0or later
- This is required for building
cargo-xbuild
- Add
cargo xdoccommand for invokingcargo docby @Aehmlo (published as version 0.5.13) - Don’t append a
--sysrootargument toRUSTFLAGSif it already contains one (published as version 0.5.14) - Add xb, xt, xc, and xr subcommands by @Aehmlo (published as version 0.5.15)