Improve PC386 BSP

Hi here, using this topic to clarify the requirements for https://gitlab.rtems.org/rtems/programs/gsoc/-/issues/8 and my understanding of it

I would firstly like to clarify as for the improvement, would we add support to multiboot2 support as well? With multiboot2 it would be straightforward to determine whether the system was booted via bios or uefi. However for multiboot1 im not entirely sure what the correct or reliable approach would be to detect the boot environment. I would appreciate any guidance on how this is expected to be handled and will work.

I also looked into the initialization path leading till bsp_start() where the hardware setup happens, so it seems this is where the non legacy changes would go into.

But before that in setup code (start.s), I find two calls - _IBMPC_initVideo and vesa_realmode_bootup_init both of which I have looked into are BIOS based and would need to be addressed.

As for _IBMPC_initVideo, which deals with early debugging, should we still continue to have VGA for legacy systems? or have UART here to replace it, how should this be supported

please let me know if I am on the right track for this.