oxidecomputer / phbl

Pico Host Boot Loader
Mozilla Public License 2.0
98 stars 7 forks source link

Update Rust, deps, fixes, add kernel flags arg #43

Closed dancrossnyc closed 6 months ago

dancrossnyc commented 6 months ago

This is probably the most significant phbl update in some time, and sadly, it does a few things.

First, it adds a flags argument (currently hardcoded to 0) to the kernel's entry point. We can use this to pass flags kernel flag bits (stop in the debugger, for example) as well as a board type in the high byte, for when we want to boot on development machines (e.g., Ethanol-X or Ruby).

This also updates dependencies, though the only relevant deps were for xtask, and thus only affect the build process.

Finally, we update the version of Rust we're using. This causes a few cascading changes:

* core::ptr::invalid renamed core::ptr::without_provenance
  (and similarly for the `_mut` method)
* There is now a `clippy` cfg token analogous to `test` etc.
  Huzzah!
* We use #[cfg] directives around things we import from
  `alloc` to avoid random warnings from tests and clippy.

Tested on sn14.