I was going to start adding support for configuring the various logging methods and configurations in tboot. Joe, were you planning on keeping the existing command line parsing code as it is in tboot/common/lib.c? If so I will use the framework to add the various logging settings.
Also memory and vga logging are already present but just not really used. One thing I will do is unify the logging/tracing to include these methods.
I’ve been giving some thought to this and I think that it would be valuable to have a command line parameter that allowed specifying how logging is done: VGA, memory, serial (and any combination of them or lack of them). The serial parameter would also need to support specifying the various serial configs .
I’ve been holding off on this because I wanted to limit the amount of command line options since the command line is not currently part of the measurement of tboot, and thus there is a greater potential for malicious manipulation of the code via command line. E.g. if by adding more command line options one of them introduces a buffer overflow then there would be no way to determine if a given invocation of tboot was done with such a malicious command line.
But I think that it is time to bite the bullet and add the command line to the tboot measurement. So with that support, making the command line more complex will be less risky. I’ll take care of the command line measurement changes, but I would welcome patches for the above logging support.
P.S. Back from vacation now so emails should be more timely.