Hi, > > The third one is messy. It relies on SMI_EN, which is an ioport at > > PMBA+0x30. It requires a configured PMBA.
Isn't that initialized early anyway, because the pm timer lives there? It's not a regular pci bar exactly to allow early init, so the full pci bus scan + bar allocation done later will not mess up things. [ just a question, could very well be that even when initialized early it isn't early enough because you need to know the memory layout before uncompressing the firmware modules ] > There's another problem with basing this decision in OVMF on > SMI_EN.APMC_EN: it is not an idempotent check. At some point the > firmware itself has to set SMI_EN.APMC_EN. Yep, you'll need some variable saying whenever smm is there or not and check that. Because of this. Or (in case we are going for the fw_cfg file) because you don't want dig into fw_cfg each time you need to know this. cheers, Gerd