About not reading any info from the bootloader, since we(now even me) use bender, this is bender that ask info the boot loader, and I will not be surprised if it give it to the nova hypervisor that knows how to read the command line, the list of modules, and the memory map if it is given to it.
But then again, the constructors is called before Hip::build (mbi); in nova init, which reads command line. So novga cannot have effect yet.
That said, if Console_VGA constructor needs to do new, it make sense to me it should have read the memory map before to not allocate reserved memory. Right?
So I am beginning to think that MAYBE we should call the UART constructor before Hip::build, and the VGA_Console after HIB::Build.