- Remove the panic version of the GPIO and UART driver. While they were a neat
idea, it proved tedious to drag them along different tutorials where the
virtual memory situation kept on changing. Actually, not much is lost, since
the benefit was only of theoretical nature until now, since everything is
still single-threaded with NullLocks. It is still possible to re-introduce
them later.
- Refactor driver bringup starting with tutorial 14. Instantiating the drivers
only when we are already capable of using the remapped MMIO address makes the
kernel a lot more robust, and the drivers need not care whether their MMIO
addresses are good to use already or not.
- Use console and irq_manager references from the generic kernel code. This
improves decoupling from the BSP, and is needed as a basis for tutorial 14.
`rustup target add aarch64-unknown-none-softfloat` is now a thing.
It is no longer required to build rust-std on-demand with `xbuild`.
This reduces compile-times significantly.
In rust-lang/rust@679657b863 a breaking
change was introduced that now requires compiler_builtins. Add them,
and use the opportunity to kick out rlibc, since memset() et al. can
be provided by compiler intrinsics.