I don't know what the way forward is to resolve this issue. While upstream qemu has added some new CPU models, "Skylake-Client-noTSX-IBRS", "Skylake-Server-noTSX-IBRS", etc, libvirt has not. If I do add these to libvirt, we will need to carry them forward as a delta to upstream possibly forever.
Even adding those new CPU models is just a workaround that makes manually changing the CPU model easier to do, but does not present a solution for this issue. There is no automatic way to fix this issue that wouldn't cause migration failures.
I don't know what the way forward is to resolve this issue. While upstream qemu has added some new CPU models, "Skylake- Client- noTSX-IBRS" , "Skylake- Server- noTSX-IBRS" , etc, libvirt has not. If I do add these to libvirt, we will need to carry them forward as a delta to upstream possibly forever.
Even adding those new CPU models is just a workaround that makes manually changing the CPU model easier to do, but does not present a solution for this issue. There is no automatic way to fix this issue that wouldn't cause migration failures.