On 3/4/21 2:56 PM, Paolo Bonzini wrote: > On 03/03/21 19:22, Philippe Mathieu-Daudé wrote: >> Series is organized as: >> - preliminary trivial cleanups >> - introduce AccelvCPUState >> - move WHPX fields (build-tested) >> - move HAX fields (not tested) >> - move KVM fields (build-tested) >> - move HVF fields (not tested) > > This approach prevents adding a TCG state. Have you thought of using a > union instead, or even a void pointer? Why does it prevent it? We can only have one accelerator per vCPU. TCG state has to be declared as another AccelvCPUState implementation. Am I missing something? Preventing building different accelerator-specific code in the same unit file is on purpose. Regards, Phil.