
    W'FgB                     *    S SK JrJr   " S S\5      rg)   )
XMLBuilderXMLPropertyc                       \ rS rSrSrSr/ SQr\" SSS9r\" SSS9r	\" S	SS9r
\" S
5      r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" SSS9r\" S SS9r\" S!SS9r \" S"SS9r!\" S#SS9r"\" S$SS9r#\" S%SS9r$\" S&SS9r%\" S'SS9r&\" S(SS9r'\" S)SS9r(\" S*5      r)\" S+5      r*S, r+S- r,S.r-g/)0DomainFeatures
   z%
Class for generating <features> XML
features)acpiapicpaegic_versionz./acpiT)is_boolz./apicz./paez./gic/@versionz./hapz
./viridianz	./privnetz./pmu/@state)is_onoffz./apic/@eoiz./hyperv/relaxed/@statez./hyperv/vapic/@statez./hyperv/spinlocks/@statez./hyperv/spinlocks/@retries)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/ipi/@statez./hyperv/evmcs/@statez./hyperv/avic/@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                 4  ^ ^ UR                  5       (       d  g UR                  5       R                  5       mSUU 4S jjnU" S5        U" S5        U" S5        U" SSSS9  U" S	5        U" S
5        U" SS	/S9  UR                  R	                  5       (       a  U" SS	S/S9  U" S/ SQS9  U" S5        U" SS	/S9  U" SS	/S9  UR
                  R                  R                  R                  R                  S:X  a  U" SS/S9  T R                  SL a	  U" S5        g g )NTc                    > U=(       d    U nUT;  a  g [        TSU  35      b  g U(       a  U H  n[        TSU 35      SLd  M    g    [        TSU  3U5        g )Nhyperv_T)getattrsetattr)namerequiresfeaturevaluevalr   selfs        3/usr/share/virt-manager/virtinst/domain/features.py_enable4DomainFeatures._set_hyperv_defaults.<locals>._enableF   sh    oGh&twtf-.:#Ctwse_5TA $ DGD6*E2    relaxedvapic	spinlocksspinlocks_retriesi  )r   r   vpindexruntimesynic)r   stimerstimer_direct)r#   r%   r&   frequenciestlbflushipiIntelevmcsavic)NNT)hyperv_supportedlookup_domcapssupported_hyperv_featuresclockhas_hyperv_timerconncapshostcpuvendorr
   )r   guestr   r   s   `  @r   _set_hyperv_defaults#DomainFeatures._set_hyperv_defaults@   s   %%'''')CCE
	3 
	3 		#[E		9+. ;;''))H	7';<O.LM
i[1,::??##**g5Gwi099FO r   c                 (   UR                   R                  5       (       aB  S U l        S U l        S U l        UR                  5       (       a  UR                  S:w  a  SU l        g UR                   R                  5       (       d  g UR                  5       nU R                  S5      (       a  UR                  R                  5       U l        U R                  S5      (       a  UR                  R                  5       U l        U R                  S5      (       ap  UR                   R                  5       (       a2  UR                  S:X  a"  UR                   R                  S:X  a  SU l        OUR                  R                  5       U l        U R!                  U5        g )NvzTr	   r
   r   xenx86_64)osis_containerr	   r
   r   is_full_os_containertypeprivnetis_hvmlookup_capsinfo_prop_is_unsetr8   supports_acpisupports_apicarchsupports_paer9   )r   r8   capsinfos      r   set_defaultsDomainFeatures.set_defaultsk   s!   88  ""DIDIDH))++

d0B#xx  ((*v&& 446DIv&& 446DIu%%!!

e#)#>>668!!%(r   )r	   r
   r   rC   N).__name__
__module____qualname____firstlineno____doc__XML_NAME_XML_PROP_ORDERr   r	   r
   r   r   hapviridianrC   pmueoihyperv_relaxedhyperv_vapichyperv_spinlockshyperv_spinlocks_retrieshyperv_vpindexhyperv_runtimehyperv_synichyperv_stimerhyperv_stimer_directhyperv_resethyperv_frequencieshyperv_reenlightenmenthyperv_tlbflush
hyperv_ipihyperv_evmcshyperv_avicvmport
kvm_hiddenkvm_hint_dedicatedkvm_poll_control
kvm_pv_ipi
pvspinlocksmm
vmcoreinfoioapic_drivermsrs_unknownr9   rL   __static_attributes__ r   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*+H26 8 !:TJN !:TJN6FL 84HM&'FQUV6FL$%BTR()JUYZ!"<tLO2TBJ6FL4tDK*T:F2TBJ$%BTR"#>N2TBJ2TBJ
nt
4C2TBJ 23M01L)V)r   r   N)
xmlbuilderr   r   r   rt   r   r   <module>rv      s    1z)Z z)r   