LLVM 18 otherwise throws errors, as we use '-mgeneral-regs-only' in the kernel. The functions had to be moved into a .S, as there is no '-mno-general-regs-only' and also no nice way to remove '-mgeneral-regs-only' for a single .cpp file.
ConsoleDevice