UART initialisation on seL4 @TX1
Hi sel4 development team, I understand from the seL4 kernel the initial printf message are not routed through sel4 platform uart driver. Because the sel4 UART driver initialisation happened later when seL4 Main kernel initialization is finished. till then sel4 kernel uses u-boot UART driver to route the message. This interpretation is correct as per my understanding. Also mentioned in code as well debug output available via serial interface after kernel init thread started. /* debug output via serial port is only available from here */ printf("Bootstrapping kernel\n"); It means that when sel4 kernel comes up with u-boot uart driver and then later using sel4 uart driver. Please correct me if any thing wrong here and throw some input. Regards, Munees
Hi Munees, Well, seL4 doesn't use U-boot's driver -- rather the ELFloader which loads the kernel has its own UART driver, and it uses that to print until it loads the kernel. From there, the kernel also has its own minimal UART driver, which it uses to print messages (if CONFIG_PRINTING is enabled). Furthermore, after the kernel drops to userspace, userspace will simply avoid calling printf() until it's initialized a UART driver. After userspace has initialized its own UART driver, it will start calling printf(). So there are actually several UART drivers in play. -- Kofi Doku Atuah Kernel engineer DATA61 | CSIRO
Thanks Kofi for clarification.
On 31 Oct 2017 4:28 p.m.,
participants (2)
-
Kofidoku.Atuah@data61.csiro.au
-
Muneeswaran Rajendran