+
    hQ  c                   s,    ^RI HtHt  ! R R]4      tR# )i   )
XMLBuilderXMLPropertyc                   s<  a  ] tR t^
t o RtRt. R2Ot]! RRR7      t]! RRR7      t	]! RRR7      t
]! R4      t]! R	RR7      t]! R
RR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t]! RRR7      t ]! R RR7      t!]! R!RR7      t"]! R"RR7      t#]! R#RR7      t$]! R$RR7      t%]! R%RR7      t&]! R&RR7      t']! R'RR7      t(]! R(RR7      t)]! R)RR7      t*]! R*RR7      t+]! R+RR7      t,]! R,4      t-]! R-4      t.R. t/R/ t0R0t1V t2R1# )3DomainFeaturesz%
Class for generating <features> XML
featuresz./acpiT)Zis_boolz./apicz./paez./gic/@versionz./hapz
./viridianz	./privnetz./pmu/@state)Zis_onoffz./apic/@eoiz./hyperv/relaxed/@statez./hyperv/vapic/@statez./hyperv/spinlocks/@statez./hyperv/spinlocks/@retries)Zis_intz./hyperv/vpindex/@statez./hyperv/runtime/@statez./hyperv/synic/@statez./hyperv/stimer/@statez./hyperv/stimer/direct/@statez./hyperv/reset/@statez./hyperv/frequencies/@statez./hyperv/reenlightenment/@statez./hyperv/tlbflush/@statez./hyperv/tlbflush/direct/@statez!./hyperv/tlbflush/extended/@statez./hyperv/ipi/@statez./hyperv/evmcs/@statez./hyperv/avic/@statez./hyperv/xmm_input/@statez./hyperv/emsr_bitmap/@statez./vmport/@statez./kvm/hidden/@statez./kvm/hint-dedicated/@statez./kvm/poll-control/@statez./kvm/pv-ipi/@statez./pvspinlock/@statez./smm/@statez./vmcoreinfo/@statez./ioapic/@driverz./msrs/@unknownc                sl  a a VP                  4       '       g   R # VP                  4       P                  4       oRVV 3R llpV! R4       V! R4       V! R4       V! RRRR7       V! R	4       V! R
4       V! RR	.R7       VP                  P	                  4       '       d   V! RR	R.R7       V! R. ROR7       V! R4       V! RR	.R7       V! RR	.R7       VP
                  P                  P                  P                  P                  R8X  d   V! RR.R7       S P                  RJ d   V! R4       R # R # )NTc                 s   < T;'       g    T pVS9  d   R # \        SRV  24      e   R # V'       d    V F  p\        SRV 24      RJg   K   R # 	  \        SRV  2V4       R # )NZhyperv_T)ZgetattrZsetattr)ZnamerequiresfeaturevalueZvalr   selfs   &&&& 3/usr/share/virt-manager/virtinst/domain/features.py_enableZ4DomainFeatures._set_hyperv_defaults.<locals>._enableI   sj    ooGh&twtf-.:#Ctwse_5TA $ DGD6*E2    ZrelaxedZvapicZ	spinlocksZspinlocks_retriesi  )r   r   vpindexZruntimesynic)r   stimerZstimer_directZfrequenciesZtlbflushZipiZIntelZevmcsZavic)NNT)r   r   r   )Zhyperv_supportedZlookup_domcapsZsupported_hyperv_featuresZclockZhas_hyperv_timerZconnZcapsZhostZcpuZvendorapic)r   guestr	   r   s   f& @r   _set_hyperv_defaultsZ#DomainFeatures._set_hyperv_defaultsC   s   %%'''')CCE
	3 
	3 		#[E		9+. ;;''))H	7';<O.LM
i[1,::??##**g5Gwi099FO r
   c                sB   VP                   P                  4       '       dF   R V n        R V n        R V n        VP                  4       '       d   VP                  R8w  d   RV n        R # VP                   P                  4       '       g   R # VP                  4       pV P                  R4      '       d    VP                  P                  4       V n        V P                  R4      '       d    VP                  P                  4       V n        V P                  R4      '       dt   VP                   P                  4       '       d5   VP                  R8X  d$   VP                   P                  R8X  d	   RV n        MVP                  P                  4       V n        V P!                  V4       R # )NZvzTacpir   paeZxenZx86_64)ZosZis_containerr   r   r   Zis_full_os_containerZtypeprivnetZis_hvmZlookup_capsinfoZ_prop_is_unsetr   Zsupports_acpiZsupports_apicZarchZsupports_paer   )r   r   Zcapsinfos   && r   set_defaultsZDomainFeatures.set_defaultsn   s   88  ""DIDIDH))++

d0B#xx  ((*v&& 446DIv&& 446DIu%%xx  UZZ5%8UXX]]h=V#>>668!!%(r
   )r   r   r   r   N)r   r   r   gic_version)3Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__ZXML_NAMEZ_XML_PROP_ORDERr   r   r   r   r   ZhapZviridianr   ZpmuZeoiZhyperv_relaxedZhyperv_vapicZhyperv_spinlocksZhyperv_spinlocks_retriesZhyperv_vpindexZhyperv_runtimeZhyperv_synicZhyperv_stimerZhyperv_stimer_directZhyperv_resetZhyperv_frequenciesZhyperv_reenlightenmentZhyperv_tlbflushZhyperv_tlbflush_directZhyperv_tlbflush_extendedZ
hyperv_ipiZhyperv_evmcsZhyperv_avicZhyperv_xmm_inputZhyperv_emsr_bitmapZvmportZ
kvm_hiddenZkvm_hint_dedicatedZkvm_poll_controlZ
kvm_pv_ipiZ
pvspinlockZsmmZ
vmcoreinfoZioapic_driverZmsrs_unknownr   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r   
   s"     H<Ox.Dx.D
gt
,C./K
gt
,C<6H+t4G
nt
4C
md
3C !:TJN6FL"#>N*+HQUV !:TJN !:TJN6FL 84HM&'FQUV6FL$%BTR()JUYZ!"<tLO()JUYZ*+NY]^2TBJ6FL4tDK"#>N$%BTR*T:F2TBJ$%BTR"#>N2TBJ2TBJ
nt
4C2TBJ 23M01L)V) )r
   r   N)Z
xmlbuilderr    r   r   ) r
   r   <module>r      s    1{)Z {)r
   