On Thu, 4 May 2017 13:34:13 +0200 Laszlo Ersek <[email protected]> wrote:
> On 05/04/17 10:23, Igor Mammedov wrote: > > On Thu, 4 May 2017 00:33:27 +0200 > > Laszlo Ersek <[email protected]> wrote: > > > > [...] > >> If we invented a read-only, side-effect-free PCI config space register > >> that gave me this value plain and simple (similarly to how a new fw_cfg > >> file would do), that would be a lot cleaner for me. > > Just a thought, > > have you considered firmware setting size it needs explicitly? > > That way we won't have to bump that value on qemu side when > > qemu dictated size becomes too small and won't need compat cruft > > around it. > > The problem is that I don't know what size to set. The per-VCPU SMRAM > demand varies (mostly, grows) over time as edk2's SMM stack gets new > features and/or is refactored occasionally. The size hint would have to > come from OvmfPkg (platform code) while the overwhelming majority of the > SMM stack lives outside of OvmfPkg. > > Also, it's not just data that is allocated from SMRAM, it's also the SMM > driver binaries themselves. The size of those varies even with the > compiler toolchain that you use to build OVMF -- for example, with > gcc-5, link-time optimization is enabled in edk2, which results in > significantly smaller binaries --, and whether you build OVMF for NOOPT > / DEBUG / RELEASE. This kind of difference is likely not significant per > se, but it could be the difference between working with N*100 VCPUs, or > only with N*100-5 VCPUs. looks complicated, but still it would be the best option. Anyways, I don't insist. > So I continue to think of SMRAM size as another board property, like > plain RAM size. If the guest payload doesn't fit, make QEMU provide more > of it, be it disk space, normal RAM, or SMRAM. In fact I think the SMRAM > size property should not be an X-* property but something that users > could *validly* override on the command line, if they wanted to. Even > exposing it on the libvirt level wouldn't be wrong, I believe; the same > way we already expose whether SMM emulation is enabled at all. Agreed, if it's a public property set by management layers and firmware will crash with clear message it would work as well. There is another thing to consider here, when vm is migrated to newer qemu(with newer firmware version) then it might not boot on the next restart due to hitting old set limit. > Thanks > Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

