So, what problem you are facing which makes you think a separate
Well I have a problem regarding SerialDxe because it breaks a bit QEMUGotcha.
From microvm, you simply removed PciSerial since you know it doesn'tWell, tianocore isn't really designed for this. Typically image builds
have to handle one specific platform only, so that kind of runtime
switches is not needed and support for it is not really present in
Virtualization is kind of special here as we have a single build
supporting multiple platforms (pc & q35 qemu machine types with various
config variants like sev/tdx on/off) to avoid the number of builds for
qemu explode and to make things less confusing for users.
So the ovmf runtime checks are open-coded in many places (all those
switch (mHostBridgeDevId) statements for example). There is
ovmf-specific code for PCI where alot of the code only exists to
allow for runtime-switching between PCI (pc) and PCIe (q35).
So, yes, I guess it makes sense to have a separate target. Avoids the
Serial issue, you can drop drivers, you can probably also simplify PCI
as I suspect you don't need the PCI/PCIe runtime switching, ...