Currently, debugging MigTD is quite hard. We had to put a debug TDVMCALL in order to see why MigTD is behaving in a certain way. This issue is making a suggestion to instead use VGA screen and/or serial console to print log messages including warn/error/fatal ones.
The debug messages can be part of the cfg and warn/error/fatals ones can always go to the VGA screen and/or serial port.
MigTD can also use a shared buffer and then VMM can implement a TDVMCALL to get the PA of the string + length but this option requires changes in the VMM so instead a serial port maybe a better option. VGA screen buffer is small so maybe serial port is the best option if it feasible to implement in MigTD. The shared buffer is common whether we log it to serialport or VGA screen or over the TDVMCALL.