- 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.
The LLVM assembler apparently causes the .equ directive to create symbols
instead of just a local and temporary variable.
Work around this by using const operands with global_asm!.