On Tue, Nov 10, 2020 at 11:41:46AM +0100, Paolo Bonzini wrote: > On 10/11/20 11:04, Daniel P. Berrangé wrote: > > > > ie, we should have one class hierarchy for CPU model definitions, and > > one class hierarchy for accelerator CPU implementations. > > > > So at runtime we then get two object instances - a CPU implementation > > and a CPU definition. The CPU implementation object should have a > > property which is a link to the desired CPU definition. > > It doesn't even have to be two object instances. The implementation can be > nothing more than a set of function pointers.
A set of function pointers is exactly what a QOM interface is. Could the methods be provided by a TYPE_X86_ACCEL interface type, implemented by the accel object? -- Eduardo