Hello,
I'm trying what in subject as a nested environment.
Physical is oVirt 4.3.9

I configured the VM that has to be the hypervisor with cpu passthrough.
The local VM starts ok with these settings:

usr/libexec/qemu-kvm -name guest=HostedEngineLocal,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-1-HostedEngineLocal/master-key.aes -machine pc-q35-rhel8.1.0,accel=kvm,usb=off,dump-guest-core=off -cpu Cascadelake-Server,ss=on,hypervisor=on,tsc-adjust=on,umip=on,pku=on,md-clear=on,stibp=on,arch-capabilities=on,ibpb=on,rdctl-no=on,ibrs-all=on,skip-l1dfl-vmentry=on,mds-no=on,kvmclock=on

When at final stage of deployment it tries to start the final engine VM it goes down due to this in vdsm.log:

2020-04-19 15:09:48,962+0200 ERROR (vm/22082519) [virt.vm] (vmId='22082519-70bb-476f-a373-45c2d402a870') The vm start process failed (vm:871)
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/vdsm/virt/vm.py", line 801, in _startUnderlyingVm
    self._run()
  File "/usr/lib/python3.6/site-packages/vdsm/virt/vm.py", line 2608, in _run
    dom.createWithFlags(flags)
  File "/usr/lib/python3.6/site-packages/vdsm/common/libvirtconnection.py", line 131, in wrapper
    ret = f(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/vdsm/common/function.py", line 94, in wrapper
    return func(inst, *args, **kwargs)
  File "/usr/lib64/python3.6/site-packages/libvirt.py", line 1166, in createWithFlags
    if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
libvirt.libvirtError: unsupported configuration: unknown CPU feature: tsx-ctrl
2020-04-19 15:09:48,962+0200 INFO  (vm/22082519) [virt.vm] (vmId='22082519-70bb-476f-a373-45c2d402a870') Changed state to Down: unsupported configuration: unknown CPU feature: tsx-ctrl (code=1) (vm:1629)
2020-04-19 15:09:48,965+0200 INFO  (vm/22082519) [virt.vm] (vmId='22082519-70bb-476f-a373-45c2d402a870') Stopping connection (guestagent:441)

The xml it tries to activate is:

    <cpu match="exact">
        <model>Cascadelake-Server</model>
        <feature name="md-clear" policy="require"/>
        <feature name="mds-no" policy="require"/>
        <feature name="hle" policy="disable"/>
        <feature name="rtm" policy="disable"/>
        <feature name="tsx-ctrl" policy="require"/>
        <feature name="arch-capabilities" policy="require"/>
        <topology cores="2" sockets="16" threads="1"/>
        <numa>
            <cell cpus="0-31" id="0" memory="16777216"/>
        </numa>
    </cpu>

    <os>
        <type arch="x86_64" machine="pc-q35-rhel8.1.0">hvm</type>
        <smbios mode="sysinfo"/>
        <bios useserial="yes"/>
    </os>

Similar nested env with 4.3.9 on the same physical hw completed ok and the final engine VM had only:

-machine pc-i440fx-rhel7.6.0,accel=kvm,usb=off,dump-guest-core=off \
-cpu Skylake-Server,spec-ctrl=on,ssbd=on,md-clear=on \

The physical cpu is:
Model name:            Intel(R) Xeon(R) Platinum 8260L CPU @ 2.40GHz

and between its flags I don't find tsx-ctrl:

Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 invpcid_single intel_pt ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req pku ospke avx512_vnni md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities

any help on how to proceed and test?

Thanks,
Gianluca