<div dir="ltr"><div><div><div><div><div>After finding out OVMF doesn't do SMM (on the 
EDK2-devel list), I decided to try working on a MinnowboardMax (hello 
minnow list too!)<br><br></div>I can see with the MinnowboardMax serial port debug output that if I write 0x01 to port 0xB2, it prints some things like <br>"PiSmmCommunicationHandler Enter"<br></div>"PiSmmCommunicationHandler CommunicateHeader - 0"<br>etc<br></div>But when I search through the source code such lines don't seem to be present.<br><br>Eventually I found that they exist in a binary-only package, MinMAX076\Vlv2BinaryPkg\IA32DEBUG\IA32\PiSmmCommunicationSmm.efi<br></div>Running
 strings on the binary seems to imply that it was linked against things 
like MdePkg\Library\BaseDebugLibSerialPort\DebugLib.c<br><br>As I did 
with OVMF, I just put a "DebugPrint (0xFFFFFFFF, "Hi from SMM\n"); into 
PiSmmCore.c. I see printout at boot time, but not at runtime upon 
forcing an SMI. I assume this is because it's just using some DXE 
DebugPrint which goes away at runtime? And I assume the reason the 
binary package can continue to DebugPrint into runtime is because it has
 (static?) linked against the DebugLib.c and so it contains all the code
 it needs internally? Or maybe the serial port configuration gets screwed up at runtime? But then I would expect after the first PiSmmCommunicationHandler print for it to be reconfigured properly.<br><br></div>I can see that PiSmmCode.inf says 
MdePkg/MdePkg.dec is under [Packages], and DebugLib is under 
[LibraryClasses], so maybe it's some other reason I can't see my 
DebugPrint in PiSmmCore.c at runtime only?<br><div><br>So any help on how to 
see the print and/or (static?) link against the DebugLib.c that so I can
 keep printing at runtime would be very appreciated.<br><br>Ed<br></div></div>