On 04/06/2015 09:19, Peter Crosthwaite wrote: > > Remove cpu_smm_register and cpu_smm_update. Instead, each CPU > > address space gets an extra region which is an alias of > > /machine/smram. This extra region is enabled or disabled > > as the CPU enters/exits SMM. > > Why is the connectivity from machine->CPU made via a predetermined > canon path? This has come up for me a few times out-of-tree and I have > managed it via links. Can the machine create the smram bus as a > MemoryRegion and in a loop pass it to each CPU via a MemoryRegion * > link?
I did it this way because there's only one SMRAM---it's basically a part of address_space_memory that's usually hidden, and there's only one address_space_memory. Also, KVM would not support separate per-CPU SMRAMs, even if they existed on real hardware, so a single per-machine object made more sense to me. Paolo