From d08612f7db9ba6e6b4ec93f0f4a1881594445ffc Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sat, 22 Jul 2023 17:56:47 +0100 Subject: [PATCH] tools: amldecode: add test files extracted from Lenovo ThinkStation machine --- tools/amldecode/acpi-dsdt-lenovo.aml | Bin 0 -> 225550 bytes tools/amldecode/acpi-dsdt-lenovo.asl | 58812 ++++++++++++++++++++++++ tools/amldecode/acpi-ssdt1-lenovo.aml | Bin 0 -> 877 bytes tools/amldecode/acpi-ssdt2-lenovo.aml | Bin 0 -> 86527 bytes 4 files changed, 58812 insertions(+) create mode 100644 tools/amldecode/acpi-dsdt-lenovo.aml create mode 100644 tools/amldecode/acpi-dsdt-lenovo.asl create mode 100644 tools/amldecode/acpi-ssdt1-lenovo.aml create mode 100644 tools/amldecode/acpi-ssdt2-lenovo.aml diff --git a/tools/amldecode/acpi-dsdt-lenovo.aml b/tools/amldecode/acpi-dsdt-lenovo.aml new file mode 100644 index 0000000000000000000000000000000000000000..9b237626682aa75a9766c0e7286e4c46e88f6c0f GIT binary patch literal 225550 zcmeFaeUKbSb|;qA-80k3nZfi78UQ~4q6vcE1lS)l_*iqr>8|dXZlZgpwyS}`YA8+* zMN$KDk8EK{tw@MA0Iqhq)Jh^TOU12qcTs~I>O$JHS0~GHj`Q6u*A6=radLPSu@Q1u zKF8i4j@Ym*-&$5!dzQrU?`2k1*H^QX9PVPVDh^SV?`6Ks-+P&r^(yOiW!0>9_Woj$ zC4R42TUtK9+|iGl`Ft*y8)2-m)M@U^?8&8TOP#a)%jwz$oPICeST0n?8K-lTXK*T3 z#xq0~C0VMB=ZGv3X&QxPegag@HJpr=IMv$Xq?d9Nqqi1Nq|;g`$Wu|CN_6TNlvnK- z9YIy8vX0TJOzhx4O6hK@1sLD`AiV&l2OkjmidzvG+fq zR1>KT?AR*hsmP*HF~`{m&bB1TD){xMwJsUm#d)3O~>8*5+|5HlzHmF2; z**xFg$<`lOHW!-An!LU#7~6ETrZ#0Ijs#B%_7ewIXP#VJHXB{*4mwS)Tzv7Fm%i}% zTrr<7upUo|QinoWCn$47WbPN43zwdKwqjPn9TnVtf?GF^pSu9wn5X1&@7Wj6w@h#a zVC$|>*D7= z_w0)=UVP>6Vs)5B6nW!rz~Li9nxJ{qC1HzI<_;UHb9{*ShJ-xrO|6LYxaY_cn;pyNF}q#vR>X>RS7+Z@%#+F}qBh z3thI&ws9G^SB#ldg0ZZQE3Lhf=xw}7JkD6}Rnsi2agB9f?;=@T;|V)iTH{GOIlIPF ztZVJN{3_QjvM%dgl;RrOI{sQ0(5yS&!6mcMK3w}Z4Z}WuY7ZTu~!8|K; z!U_6dW;LOUh7rshQ>b*UZXV z`hvbhQ({e?md(%N&XHY6uT{;~M0%~WR$z3@GpjkexiP(uXTCZ2GtXuIc)R@O|K90+ zbEN(54ShuGef@bxrL5UaI&pU6Vel>zuV5V^9%goH?`Ex~m$|k*o#I+@YfPNkdt1}i zq!iP(o7F~pOM6e|WSfWA8cPjk)ef!B&}`7Pa-m7#M8Up1G3$KRv<6H`n0$~qaL&Ly zgzV6yK(h_Z6;Q^F_nY+==FE$%qOjTH|3Cc>d~a3H}V(idgFpwYjPm_Vq^Jq z{uRpJDx#ban6M6Q%E99is6pTr;%@OCl_EJiyKUs>I_TAOrP9dD5sFm7O%>f#$w{5d zPwdc0u2jwy+*Hv`l|%|xOJz}9MYvirB2BI0f;e5krBv2irp7PPrIZor#!~e{x?1j( zk-2E-9c{dVQMr0`QV>itan>lSab6pLWP}7~1hHu38ycHzm(2$94QR(E*mwSq%Wx4^ zuT~!*hGsO&ogDmuyoN)84n;bY=rF6XWV>eO$#;M&^b#FT(%}>it(9d|K^b(t zX!VtHQ#)(4O|3CE{Jqdq>Cb566umi&x-V{ zNY9D%oJgM(>60RTN~BMTv}t6j^>%fBqTDgt^Aqj5S)QMunG9BL!{94sLr>#iW^kxb zs!E3i96DxtrCuwijfGYjr59Qzl8xnzzEm;O7wWBQ+N_)}(4mNfS)#*ix?DGEX}!5z zP1jdyONp|M5rJ_~7+Gp`+BBX~uQq-(B?m1L7_@nfO)MIPk{Hyryf*$oil2nM&^~$4K6%hS`Ak3_v`-$iPad>SemWoz+9wa%ClA^uKNFA#?UM)X zlLzgS-xrVv?UM)XlLzgS&j#c{`{Y6U@ zXtD!k%h6N^%9f*v4u7^BO>>}ZIhy1^*>W_+fwJXjg2SIJN7EZ9TaG3-P_`URZJ=y9 zn%MAX%h9w3%9f)^4U{cMQyM5+jwUqx*>W_UfwJXjG6QAH(NqS?mZOObf3_S=W1ws~ zn#4faax{g3vgK$3!=Eij(-$aPjwUZqwj51eplmssxbSDo(X<81mZM1vlr2Y77ARYe zCM^8fax`6mvgK&90%gn5R0YbGqlpTCwj51Uplmssq(IqnG(~~hmpyjQ?3CfLvgcl- zC$^2}E)h&Yv-2qQhKf4s7{o>!;|T?bB!wB$&Rm8Dobn| zPsYeBSKC<0S*tx!oqQ5rnVEbtrs}c zt1AVZQ#co`$*(=n6QI(dO4j@tx$?8x`m@qs9XT}rTPrV@-~aTVKG&nNR3RlwRHb$F z9eOsozIj=+gTZ#-vS{iqI<6ia|9(=^hehe>>-4HYa_)3FwYKE!cR9K#Ia7kO^vIRV zXt01~J!X|3ky#ph%3ffovT)`at{e5*^I>iDM;%~pOwO{h-TE%ne|3y!Z+b^Wo^tL&@pU=EG z$r7}5wu3*02lQ82_O>;n-C@>*c-h0SP-_XVkrhEmT!3`7Gy?DEJgpsl87gk ze8oSIi1rR7qP+uwXzxG*?Hfo$2jqPNiSoVjxRB$C#WS(S6U)t?SPH?3=M0@QE+UGzL9gz1qkd*J0$2{V5AVJ4ZPJ^DDvh#-KPqIY)`Gyy{vs6j>C3lHsDW zkws^tiq1tAor@}ZGP3B&sG_GLi=K)qdOEV`X}|eubsbSeUW0-|RyzC+y<)|`l&1?s z+zNWgdH?$F+*hvt_pjSCqqHo?GGF~hnmQ`;<=;)y>e*U0XVA*r;8nTobf?v*Ccd!2 z6WvSQi|gC#>9Wz$r%OD~5~3W|{`fTC!TKZC41ne}iWzyjD+pKwp(8etc+EfriA^M5GZ0AfboX+Xg67hjU3Udj z%RaHEiP)C}EY#4alRW)ZN^sWstWlFmt%;CmnM_dBgiIz;tooKHn_6g=7Xgz*5SB&7 zZSYhE-AsCIT!iU3lSOx^o*v(!{H<({PTgKtGBql)O%<5USSJxmLwO7lxmZ8l$yRZVV>z|wW>8E@k46f*4vHt&t=r$ez9~yz-(07JHL|(R zlUrI(Q0S!lI`ySZ_85dd%qlW@Rq~%ZcWQQX5u-l`MlJ%FV`q#SavX6jZ{R`_nv2Jm6 zmUc$ngt+mP>w%tVEQZXBHAu${>p7TBw zGHkI6$XIu$#q;5iH5+m;p*l@^ahCtr4E696P zA@8vvm-h^ZTpj|M?z12N?#ERja~m>#pEdM`T^Ry-d{>aiRUwbtkoBG6ko6&uCw2vS zLKX6a4Y{fSxjF>$meyDP|hRUz-SAulLEUKj#-YFCh_R3T4E z$c6lH$OWtgeyCfN*%joBD&&j}xu5`fn7=%|E6CHTkf&|PMFq&i{NV{i=}n+mKHxKpy5V zAJ`S-1FDb@*pN>tKpy5VAKVq>gQ}1Z+K^8xKpy5V-?l5rx2ZzD&4zqN0rD_^`Sx8w zzFiga?Kb4H0_0)-@*TT^e1|IJJ8Z}m1<1qv(1%J6P%wN81SCH>gg?yI{S;1c}4D*+d>v=XM1-rwTb|LssyYi^KfoyLScoZdJ&4+mIFf<>D}Z`RJ}7A612X)P}6! zFBgaT%lGUG@;$1M@3A2(_{+s%{_?S1K|ZDm`Irq^!Cx*8^Ox`4736zWA>V65R`8dL z!~Es@b_Mx9Rmk_*kQMyp;xK>t{#`-7UlsEGHe>~Vxj4*UeqdLSA5ew-fDKu}UoH;w zmmk~}i_j>|G5Ofm}C^F8pex%5U zKS&n_Mv7=#!y`qs;gKQ;x==GF3d;V^5Aoy$B)N_4~!I1f~*)RqH#A;L}4sPdh#B~10zM0 zAS*_SXxxnyQGguj$$KCVj1*CVtQaYxaW_�dk}#?}0opQbY-|Vx)-1-AEAy$dR7B z2lBv35hciqks=y*BSjP-M|$!e$O9uqlprfcifH&Cl$fn7=$QQbY-|Vx)-16(dCiUEFj7PbvSOr&#uXz)2y%3!h{sB1(`IBSkc>7%3tk5A&A?Mv5pw zR*V$UxMHM;fIQ4!9vCU21X(dsMB|E)A_DR-e|cb}h!SMQND+-IMv4f?!~Ereks?Zv z6(dD7t{5pIAP@7G2S$o0K~{_u(YRuyh=4rIUmh4Kq6AqnQbgm5ks<=}Fn@Vqq=*t^ z#Yhp2D@KY4$iw{QfsrCgkQF0EG_DvaA|Ma*mj_0QC_z??6w$b1q=b^OpxkiYP%= zj1M2ZN=k)FH<^1w(DCCG}AA_>(<5dk^UllMR#7%8FzSus*1p&BV7AV+%g z9>@bDMU)^bMv5dmE3 zkRv^L59EQ7B1(`IBSjLbks<B)N_4~!I1f~*)Rl2DBl5s)K2c@N}) zks?Zv6(dCws*xfBa-=8kfjlr$LDcMFiww{_?;`5hciqks=AzND%>fn7=$QQbY-|Vx&kyHBv-C9_B9( zj1*CVtQaYhP>mE3kcaup10zM0AS*_SBvd0s1mt1<^1w(DCCG}AA_>(<5dnFazdSHf zLUEFj7PbvSOr2LN!u^AV)`vc>Lvoks?Zv z6(dCws*xfB@-TmSV5Eo=WW`94gleRSfIQ4!9vCU21X(dsB%vB9A|Ma*mj_0QC_z?? z6iKK?iU`QV{N;g>B1(`IBSjLbks<=}Fn@Vqq=*t^#YmBaYNUvOJj`Dn7%8FzSus*1 zp&BV7AP@7G2S$o0K~{_uNvKAO2*|_y<$;kRN{|&JMG~r!A_DR-e|cb}h!SMQNRfnU zq=b^OpxkiYP%=j1)=qBSqxa z-qDdFr9qJ*C5jX&$w-mp$BGoec0G}iB1zRqkB1KS8EmA~4 zj`ZX`kOxMJC_z??6iKQ^iU`P&p1cS0z(^4#$cm97N!3UZ0Xfo>_dp&PDWU{fF;XO{ z8YvGdMFiwXPu>H0V5Eo=WW`94q-vyyfE?+`dms;t6j6e# z7%7rejT8}(BRzQ!B)N_ z4~!I1f~*)Rl2nZp5s)K2c@N})ks?Zv6(dEGs*xfBa-=8kfjlr$LUEFj7PbvSOr2 zQZ-UUKpy5V4~!I1f~*)Rl2nZp5s-)Z%L5}tlprfciX>GdMFiww{_?;`5hciqks?Xe zND%>fn7=$QQbY-|Vx&k?HBv-C9_B9(j1*CVtQaYhRE-o7kcaup10zM0AS*_SBvm6t z1mt1<^1w(DCCG}AB1zRq5dnFazdSHfLubfk#KUmh4Kq6AqnQY5JwDIy>b z^OpxkiYP%=j1)<#Mv4f?!~Ereks?Zv6(dEGs*xfB@-TmSV5Eo=WW`94q-vyyfIQ4! z9vCU21X(dsB&ixHA|Ma*mj_0QC_z??6iKQ^iU`QV{N;g>B1(`IBSn&`ks<=}Fn@Vq zq=*t^#YmB)YNUvOJj`Dn7%8FzSus*1sTwIFAP@7G2S$o0K~{_uNvcMQ2*|_y<$;kR zN{|&JMUtwKA_DR-e|cb}h!SMQNRgy!q=~PjxI$P$_rrBkOz0->#y*?RS9<)#Xb}3(@3xEbxId?Cv3wuCe ztY=(GUU4Fi29vlB1VuwhTp@y@fz+pH7~$`Ltc3;<{_Hww2!WcGc{G6fc{F@{d7e6H z=pb*Ol%s*uFG<4&)Qp?wFDYB-&n&ljW|rGMGmDcZ>Dy&pG*Iw&hf7hbhg^zUJ?v5> zcbBASfZ#9ZQY3fGrAW@UI1LR@_sKjO82Ed@rAY1(mm<02E=6)DBt-)Pe@9%3c80XP)SUq>DSJ3$ z{)W7--8(()-sNf6!9eXErgrCcH-AIk*KW?!?lDih_u6S{_daU(%r4tK<8Su?PrHwJ z+CA=R_XO_kr*Yrdm;F0G|9#B+2Iff^P@m4qYs#J%iY`Uh+pJ5`^)}~H)bl4LWzP$z zU5ex$b19Phv`dlP&q&Ii7v^1x2hR!Ow0aVACVYYFd&Vr{vE3Bv3$d0c_&SlZ^&M>N8%GMMLpbf zDeB>tOOf1?r0kJsxD?5CT#Dq*xfIErmy|scFSr!RJ?T;;_j4{qa!*Oh9*N5?MRF@H zMRNT-l3T&Zs>LH~hYaWS@j*K`M&W~lc5aOh?cN;8fc}xy^^B}_&&YDpWchX3EB45G z+NG$+o^dJav1eV1UBe|C_vI-0SyKu$lb?7cdrj2-NBzfQ6U+Jka^VQ@LdIDd)cJ))^ zhTh1h*XoVxMEN^BonF&rDw$p@SKFLr`BRmpe4cG1Ilfk@EU|5((`)A%z>__&X0$uZ z;zmPnZIchbZQzi7;<2@5Q=dqi=L`eRz20dzIeY5`&h+X^0p}FXMQieF&+`PRG^mnw z@8-tzKA!pAnRkC>$k~l1iPG2`_ zMoV(;bUC%Qn=C%`RtF<-seL(R6`pj9Ik@WI2sJb)wQPl$XuA zAyO45Rdjj9K2LXZt4^xqmMgjCN^ZH5Eceu-N%UmlGi@U;(JsX{yZ)5D!0eK(ZV%v`wv=1-QUOb?Ec!>_?d)uRYFJ90-yhI1&ZOcmhl<$=< znSQ*WeRzrX)(6^$m*`-=7cb=p+VkN>z7H?a0eOkH$F)VntXrAun-{g$#h|3CtY96u zzUf>YlAR%Tj|MaGw_n)WEBSPZ7PepTU&84%<3bC+UAlH(8CSeBZ7@t0dfS|y=6k=i zhvC2XKVU4wUPZZ5qp@t*Q;C=}CTYIG9o1x5BWx_UXLb-gE1$xlkYZ_^im7y~Q)$lJhp<kG(pO1>k5<~X#U3d`WRFx69L`9xN2l@yIza-b?v17Kce{M@ zwJz7zdvCl+LhI~lYy2`8?6s$P>gmf*^W@XkVv6LgPd$CjM+9BXZ6~t zR^7mT4tGI}ixDPAZ$5tV`it7ACrREc0DXukb(uTU;%L?)2>G;@sl1FTQf|#bkmoGkd z@!4l`D4lCRyZ+3pxz6g|oJ(GLxrAxWSQm59;>Fr9c|KGFEo%;FX`b)i6 zFJ1hFjhA!9d|}qD@}*0?moBZpeDS3hbLG!{F4v|KpGV!FfA-QZJ^Re@(wW)9>HMja zr%Q9i2igy^G+NG2FOTrm+|o+|#tYBBn%h|aeD3LIpM5d+xtG?T0lcT5{rUA*KL2d) z<&BHT5ZIo1>DkZcUVQ20+~;5Ep~aU;_Czk%c=6?DKbHeG2Lv^;dTn`RrPZ*vvNx8D zyk2m2vTt2z;p60ME7is6gFO4#lmF)b{m=iwzgqe)zp#1NKYr+u_gfdVME2-Pt92py z*7KY#oLkbZ%qE>C&|Y~PhXOpC)oWk9Uuzn=-QA2GK~I6MI6ZY65lJ?G-(s_du3mnW zWiFVline-fDOGKi-I*`}C^QqE=5vd3GRZ7zSJ_p@l8f4x*_Rp97PYUiuL$}#*>4K^ zefBk;e7yV}+4f<6 z$D)>FIi}sUs9DSs=kKJxlhP6-aqoh0&TU{KC1o;va#8yM`vKFmqbx_oj(1vZx0vR| zG0*1F{-S0ugK%hKotm72YlB-whMn`88slWV_ z5AYkpt63tGIG71Gf>TXnw`H?yW~a=oG|}69YAc2AO2fo?`)&g(f9C_1Vn9Lcg3Hc$ z*+rL~^Ri1WJMXZw^P|**aD+Q+d3K|f(t2MfNQ`J}a+6N@jV~eCdeoscq6=F`96CXC zacjzilyj$on40!7qtv- zs~U#XC3Z=Sg)8ie;D3>Qk!cuWZ?ZQ9{Z;l=LBGx37Ui#uTp7`FsBe^w()mjIN}BqR zp{ulRm#-PQ9&_|tH?y1M(u*Bt(4CqoiE2jQYrRVwoOuVr_z#nG+uN#) z**!h}!vs99?pAr!VdTI_bhqY59L57+B)eOWJM?MLsjfSg#=j4Gr0b5Q@zZExwCj$g z@$Z8k>%O<$&7M8hZa0=EoRNBu7vFJvpaLG*wMW`K-?b*L<3VMo*QI{2_FM#3%H5jJ zS+;;i0_cN~0D8<8K~p%b>jG1^5T8ulV%$$y{*tlMuE1@-R)5oMEX(^cmJgh%Ow7b<)A#bDm|?_!gU+wAY-L6` zT~;&o_PeH0SRVgD@@sVFKln9Fnrl3WDzZr0RUAaQA|#8bqDWPU z1XWR_DvF|tl3m3ei$=+=;t-N{6-Q961c4H&C{Yz6K~9p@W{zPLa{H z?Kj?}&f8$w#jz?JnZ7xDq)GSnS4k0`W~9nGnbu0v3=JoTo|(GV%)1*r^Lk_1?7Z6D zKq<3hjdaNmy5G8kvaG4guX0W1V2y54_(xmZ8d(Q{TC(#aReh%EHv%LcWMc7bZ0?lKz}*Lj-oNhb^Ibn=qc*iptFqT4-P9tFOq z(f&+}F3|#?K%FhgP2f5!$Ru5uMOk1B4{`;nuQ+`tzs;%7IeY6Z@@dptBe5dSqTU)+ zR^+I+DC#Y8)LRtw7CF^hlm$30B)h-_l6HY96ewjYxUSk}-!it=1XU|WoXt|=6pQFrk&QGAES(`zD0*KXa~M^?K=hwjT5 z?qpDDOeCy*WUFg*5Se6H%Ea@QUME~Mt}k+}ckyY9f9+|`UVfTuPiL12XE6apa>#7h z<3%9CVA0DS47#p(D-FCH^fsTA8zz zg~ivA#EqJcTN9L9;eSgI73R< z7%}Rp3VG5=FyJ&;XErx@vbUrgD-;sAdXy(Xv^yTc^yV0*lasvz0P4)zb6FTI?WQt# zxLlezS8ltW$cSdYph(mGg(vLC$nB?|I)OS0G!?_>``4-slQ}#LC#=fRD-B$m%qe2|#T*P^Sh!o!S?KI^Ty%v*C1_j~rzg`5a%Ijsi}(*~8Lboa!q~(p#hCD`5{i z>XC7tF5t$L@v1=sUZ_EdC^hak;W|26Oke@PWAJo#k1(@XE4ts*!v!_jGu&6Ov0QVP zhMXD`vf#M4pnl3M!_5#&h6%Cwv}i2AY%x?DYP=F>P7=uo6X32Ytjzw}Ic zp;|l7aBLea`{-J=W-#m6^>>%e&zj@^cFel{?M}(}Ai7<3Ft|v<)!Y2DOx}jI1qo7Sh(-+i!0YI<9SA zrjl4TmdUokuP}ZkZ8R!{Y0k$o^q%4O|NS=6#4Hk1K5Jn87IgNm3$-Wm^f(Knz;FtIJm^^sKaKR7`HHUfnAwHh;{R zE#&c}bO8oR@R#}LRfiW3&D=8qfg;#v-e77is!m0CGWrZhcUdp0nx zsl0HUD3Lw7hPO5e>rUKf6V?RWHCzR_$(MCegc6uT8%qsl9oQ6jDWBTH#Ud)u_tM*T zth!unET7KP!a2PQ#96$y$63Cxf9P#FFYrCrzee)|pRf+%nIz$P-Pq&TsEVyStlO>w zj`vNZon_szd7<8_aweq`;%y{bvAX~dAn}iNhyp1Rx@kO9{*J; z4)j!$g;)HD13=ydQ6eMchOq+GIhtq`#U>3-PgO+D@5BF#WlQxvongwD6VBIDT0u;J{4%NUk%BF zvSlejN{L1pHJUwk0gEwdT1OH?OWPC!O%s}GU!t)I2L`vQQWf{s1f^z0YW3P1hZ61j zxr!LN^unX@P~FVS;g6f4b9bA{&hJ}0XXxoP4#o^mVMPJ9hxPBW`+CyKZa!%=%N>3v zu)RseIAdGYDGx>XWEp0kF~WA7vi;nBcJ6`5T&JD=k-5{h>`Y|tl%1Q2%pJ3H@iY;E zDrx7Yytxh-ymxd(wn_QyJVIca)pQyMW9ANx-a=ioZ$$Io#_BxM7$7^V`|v&#MPMwB zyQWcIYW{kkGk?BeR;(jov*DFE4Y>!Xd_TW$xafQb?fzbLe&2Y${M()Oxov`RJo5Tm z?i<#Yyv?8AH?5t2%%9&kuCL_-c7r26z}sXn+(I74P?a|~Ii~SK2u^OcF<_|fafa$v zW%?&-RC>(n4x;|m&^K*=i1l;(hK%$1 z&HG~MozNg9b;&!t)`p-eB%t>K8l%CzIEEye^=tnrd#_hn~V9% zosZw!Do=RG{xG_ACS*CgE@VGscD?#z8mT$|9OhhC?(7=KA27SRBQZ2mKbbl9L+8*Y z-R@`Q-9P0SiA{SBjUI`|-GPXgixC5n);OJk_}4Bu zZ*r}Ory4H~Ci_%e=eARGmR3q!|NGNHy(m7MS$8|vUqCPSqLZpDkA7mRxRaEtiZdW* zXcDx+H~PyB@W}3r1b;K3xwqV(JZSD5{1XMOmBs~kQeJSQo(nDjlF7$G*|m+44;giD zB+v}ZeJ?wDdn)eI4o}9PQ_qHDL zl<7NieJ7$n%gKIuBJ*MWlHAo@Dd4Guon;qW({dp7*YNS^$Un>hKRe26?@P-g=7($Er0uq zu6^wWbj*`jw526s-hb6I6}|S$dd1T}x^q>u*b`&6N*P;I!X)0Tv_^?6! z#F#s%mq&*W>L=Wp%Qvb^&J0MCBV7Cb>~*`7Lvy1yXV455^(ZPWR{gMtzF++)7VA$F z{nnzVn*QMPP9sYLA3i;FUPsMzzy z{5S@L?HW&d2E>QWj?KYON#$>U=_B>ZBjKl{+r3Xownjo{FJjwc-unq4E{~0UlyUSi z5HC)eh>4Uph|Gr}77uuGy3_f<8^nAW@fw32Y41ygWu9K_ET8qVR=~oWywH1w@bjwk zkSCt{@rH|Pq7$U;t`LgZv&r-=t5`xRmIx|lUllXAtYS&27)5~idd$9f_T93IrKDmA z{dN_be;n7Cy*iZjC|2^XL)Z_ia7(;PG46{OdF{=Q|Cp~my!@3Og*%m7_j>_)XTctR zl_f4jiU4xD^_E^Z65!oedAHcAmjLfBE!~RX-NmO{4E#a{SG>JEwSSja{1ZR!E54fg zNSFLxdCBjkOP&IDyz651pR3h%>0Kba@9?1TBmDYeRpr$#T1P)%~(07 z^K4EA3*9b)g~mm&kc<@?>xpyrHW_D>-stU+gbXu6B6~>25bYN+M0nuyg%Cx?pfo;% z2$Ut^93cYbtbtF3NM$t719aIFbwYD=IeWiniawyxH$tw`;v)XbAChOsT^zv&Rl+se zaV+AgU(Wi2Yy5Zq8p~9pJ70wyWwj~~`#_2+-C5)lsq%?QpmeY8k6Gni9+abI<$S@c zE}qXWkF8bBmi-$;YiU$|dF3~IfAiieU;dr5|7zl2yuI~*Ui#sU8ZDDOFJDq0lB=i8 z5~FE*I>oiItub+CSoyqNW^2f%7Q}B|=vOP+miu$r#5U!;CxUH-Ztkm~kEh!|3+h(< z3DV77b^nBP`$_6IcM1O!((Nat-^3;Ct}1^5x~*QDuV7}E6AfneJ8rd^y?oL;v+Hv| z`7^tiS3b#^{U>eC{3LHNq}xx@wf9Nh>k$7>H~CNU7GqcWNzUwuPA@lq79WkEV06ar zq;U0mtsjbhz-HJ}h{gn?QLVM5NJ27NwX+?`ND4-465q3O9m+!pRW~l^Ccb*Yzqfkz zaZ0oE)kZbP<{x0Abwfu~`h(>PeIg-YRCReWanjfWEQ8o_B$pp!M~oJ}zL32GKj1K# zwRe-MK=A(#{j8O4^;6kL>nNPI9w3n(|D*1WgI(!BUa-c9_e)*+!Vi;7-Smao@8PMy zXXo(E_HFv``|7pHYW|dramLS2RgPwy2L@aet6 zg0w+Zbh5C);y7#|CxeLuyJc*E&!iA=d8OlHUbhf%aZ$1ho?B=@i7P=~_Y-5c67Z?o`IdbHVr-gjQMe<>*XQ`An!~W~ zKM9v%&)7+qVaj_}N-!G#akWLCETwnwxM8*QPLoZ%sWI`Lp?yT+myq>E`kc=gecvcM zDHbYle<3D*;Aw~jfiyn6r{OnR_$;T+=hLQ9HF0XSoA|kJTGy9bJVQ(!-$Vsd=P6JN zRh~$jxB+qv)bfHTvb@Bn(&c9BEI))3C=I7d6D2_{@Fad2f;?;yLU}2ikViikLEc0f zU&K0(?YOTPMtRox*jRmxDE#otV5ug4p{(H>gPC%tV&Fd8YMX{u?lcT6-{4R;%r*`> zvhX9^rPgG*LLWm~z@cSQs)~cI<4`wnFku{gS;{m!=9qiWHfiAo73|GUp}Y7{(OcX=7cQ!JZcfEa` zP;!Q!`9HJX<9|&*QllTkUs~shb&;iIA1`p_<{_>No=s@R{3O5Qk)WulA3ELe|R-~0+K^Ihi4Ojjm#C$pw$cylI>8oKC@w)sxBiZ9er!9CaM@&l*GKd`&- z8FV&Xb5^cjNss@noy&WMaiI?1cDqZyFy#Km$;mDsr99Dw)w)eKiw|vGr%_0uh#E}? z)F=3%CfO%x&1}*z=8Wbo8Z11qH73qUA6y_JJN9|j{5V-zimVc)P;j?wZ=Bb-`qzIxu}SmN(u}KDUHv5IoN=I{4X`@_Um-j+ej%O2%}sGZ{6!v zK|nyZ&<&qPb4vBGZsS`vJ6kQOm)%?+EJ3`nkO~1V3B0lvX%Po5|05fS-KaF>wyh5! zqPImK*u~Jg^`NZ_X@se_-vd7QsKcs{(i8=?>8M#}?9TJbd`Pd^kVxSpFd5l2ghvcP zvPpKYxpc0T?$OMT;k0_~wtAjE%`NVX_?W4A4qxl0A~HwbXYp&#P>#IeB9uFn%a39m;W^h(kH+4AO3fe`N9{%U-;kMH*QY*u`?_uRVTyM27O z7tTq1xA!w;Y{$SJ|bAM{%d z>~Gm$Pq{mGN@AxZc1mKWBz8(-r-Y(v;~>>wa7w(M@+0}hr0tZ*-v#35bRMUq5IZHY zQxZERu~QN|C9zWyJ0;jaEfj?kJ0(9Nr-UL;N^ayyvcFPtHFip3rzCbtVy7f_N@AxZ zc1mKWmpzBl-$S@k5jT0J0-DG5<4ZaQxZERu~QN|C9zZT<915i$P2m8g&_U$ruxiBa4-q{Y8AnZV&DIw0iA}e}B}_8;C%vV-uC~ckt=>HC?8X&KF#= z{He;)={(!!R}i~Yso<->M5ouz;oI0(0{c3&Pv@~w$mx9ciO2BWZhazco-+*ki#Bia0&8OV`pL z-0WiS_2vUtE~DuJzB|vX<@;qhjX7%2SBL4N?jE}0r;CC7VlZD1l&|{fQb4{GkS_(~ zOH%&CXRs%Vs0k?>Bc-G?QZ_D1^?9-`;<>fh?Sp5xOewdV-J0ywV%urcrG3^xzTLi? z@3Ri_ebyn`s~yo^>wxxIhiI>Lhz`j6@Rm$JUeG?gM0@K4?ZZoSFyGrA<$Ljh_TeQu zAn(IV`9dDw`d&25x|O-Uc~N^^3`e@k3f6(^o6dD1*%@N@Xc!ZJ`-QE&l24atVf%&b zcx7o8mw%OPVqhPdaCgSdp zY}39^iPfv)l*T^9)qEyfEqnKWoS&E1^Y8rQZ~srf{jYz!`Odfg+kbQQZ+`BZHx_@U zzyIT2d;dqV+GZ)Z;9>c z`APoA<&ODNGu*bCW7guBR4=(b-5li`?fQ>Ly)ErMxruA`?lrShX0KtIsB>-o@;VMy zdUKs78@az*+92(`|?4?@bjaH|4>q+oC{^j)R;@J$igmt zLDHfo+`hyAz4b8Kh|CF>W$aao_tx7c+a}Pf*GjFrVLN0R8?h(KeBpRLPtnQ9OYps7 zmZY?1c3QtyjdS-egbuao^Wtdn`}{g+-xVs{biQNNs0Gcik+0$ zNr|15*hz_4Uj?r^zPXjJJo1J*C)Fian*+Q;I#M*i(u< zrJLy~$z7O=Lw8})X&0vV`@1md_AX5C2X|r8X%{9v-i3*Fu({QCVUqhC72Lg;T-vwK z5b}Nd41xCTGeop^pCF>W`wS87-De22Z=WHe1MX1GP~ z!t`TNFM1cIMD#99#gD%WQ;mi|e;20DR^*Uyc47LgF6ke^E=&MDXcwm9;9Zzz2kycI zp+UPa%>{O0DqXI~u0_RLFvV+8@mf^878S2W#cNUVTGUVBS`=>mx6T$! z^b{YlPh`9WQ|zR~PD<>g#7;`=q{L22?4;bx7iKz^QTm}oo_!+YEtp~_C3aF`Cna`L zVkaebQer3NW;-d7`$WcDFvU(v?4-m_O6;V>PD<>g#7@dhcT(IRWqEcth__&hos`%~ ziJg?#Nr|15*hz_g#7;`=q{L22 z?4;auC&i6P@i-~*?nkkc5<4lelM*{Av6B)zDY27sGo2Ld6WRYvioNM$(S7~nFx;gU zhvB+44kNfvWHGo;WHGo;WYM=zq}+w6G;|lH8tuaLz5XstHG3DP?*(^Zs?jb?wRjh% zco!z)DR&pAAJHyMvi_pG7n4i-_C-RzZ(k(PzI~C1_U?;Bw0B=4qP_bff%ff-M07yj zw=WXq+xtDaJ2;(i_imz;lt#+gHOk$oiFo#|QSRO*oBEUVZ$y= zrSL9HN!o>JbkHtLrJJ)0Q%P>65+7p=e6kjZ-i7I>X1GP~!t`TNFM1cIWb`gfrH{W0 zQ-cPCXBQ^1D-&bxE=&t@!2AeyVFKtuyD*go@4|F);4VxM8ng@3slYBwC9w+=-F@O+ zm{uBwRyWKx4!WVSiFi#cUK5Mg#Nsuvcug!`6Zjvvl2L0=CR$nw~*-8rDqptN#z0>T1xo+jJZ*FvZ8^pMA*W1?#C1=++ z`7`T1{@0D=)A`k-JaK8AC)P!lmVLb3(OY&6m%HU=>ulGW5L$s)UXn!Obr6-NB$7ld zFLbHtZuW6w#UpQcaUDH6TTj|#+;S{Qkt}UCL@$_0} zt-$D*XE(|tTJQ1(-(f^rmDDDkdGf|-t@rhd#4K2kT;Kf43{UYZ{3^f3-_VGO=c*lR z-*uqY2|3q#Tq{=^wfEl3E{@io$O8-CAwx-{S_iLhmOG6q*KFh1mJrIzB3`5pr>~&H z@tEv>qgAVG*5S)_qjsLUlUdW{ih+(2M-5%{N85ZSTOC0G6x?&2o)N(5@ek}Sdy4U~>sQj_e{1LRo?%?5bJpGN(y|!j{>I74E+3^l(T3H!O*U&)Q`cz}at32Gs|}O- zgfn5Eq&2fi!qgX3M8;+2$mB_&=-iC0qMm6X^?iJg?2?xeUe zDIO;!-i0Z4Qer11c2Z&|C3aF`Cna`LZn~4=#-wYnNKsnM&IpZ@(*-L&?7EAE9g;|o)h$#q_YbnYeom(R9#AK zw2ftBro;MrI1^hF?Px<%|+GxMU z7fUK=4(f{F#Zn|@$Q;BBnS+=ia}YCR4q}GPLClajh#6rHJ?dg961UEiVRPtWbR<3I zxKElR=`qJh&>TA24w-|PA#)HjWDa76%t6eMIfxlD2QfqDAZCO)s*&a(Zk?yX=BNsD zq&()hUz#K3F~?}o996U(G6yk3<{)Os9K;NngP0+65Hn;BVus8?%&<91k#mRO*7-=t z93?q-jCjoPfHcR5#~fn;b3iI=4#5nXLokEp5X_)C1T$z3!3>&1FoWh0%m{Nt&K)H= zcZ`P3A?J=!k2xNc<{0&uBONpcU8up)Q6gr@9K;NngP0+65Hn;BVus8?%#b;V8DWmd zxuYcKjvF9Ah4H>@kLzu(shRsQHc-^p>pgCyX3YmkL!Ox$q+6^Ofgx#=DNppDJu!BK!(1jW@2QfqDAZExM#0;5(m?3izGh_~8 zhRi|C2y;Zv9no$WnIr6m{YTOqUN`KvpgHJ54Vi=I4Cm2+=0bGcO@|A)m;_|=vvHhEFaWelnm-Fm_gkIGpM^@ z26Y$ApzeYhp?i3eB&e=~71Z5b=W=yF8q}SppOEgv4CzkHknY3`=}yd$?!*k~PRx+* z#Ej5AJR_3st~V9b-Cfjjb-yR5JIysA-H92}otPori5b$Jm?7PX8Pc7YA>D}?p?i4x zBi&usDX6=D}?(w&$g-H92}otPori5b>C!cT(keLpFn zJKPJp-r*;?y5AenU3eft-32qKyI=-&7tEmUf*I6ZFoU`aW>9y*jL<#udha_$LET-a z$kqM6pzd^Wg>)xoNOxj}bSGv=cVdQgCuT@@Vuo}lW`ypM*L&Xs3hM59K(6lh2X&{5 zE2KLyL%I_)q&qP~x)U>`J26AL6EmbcF(Y)3yx#lnPEdE(-Enn)AgDWCTp`_w8Pc7Y zA>D}?(w&$g-H92}otPori5bwnL>teCmY5taZI`&^)m>zW>z#S7_qf3M?wBtIb*G6Xq&qQ#{T^N^k}U+ryu%FX zPIZQKCuT@@Vn*m5p6jTsNZ&?e2;H$#P{0&NOxj}bSGx0--#LOcVdQgCuT@@ zVuo}lW`yqHxsFtf^le0j&>hP{uI{rz-DzS8=}yd$?!*k~PRx+*#0=?9%#iNH4CzkH zuP{C|NOxj}bSGv=cVdQgCuT@@Vuo}lW=MBpM(7@Sy+`{tqD}?(w&$g z-H92}otPori5b$Jm?7PX3Eh`prpPO16*kw!F4lqQD|kBCCtM424Iz;T<rx4 znUF+SbCT$fl6@hGu;wJu@4;+HBCI({^m}lBP$HrSA>rx410jh>Jv=>lFeDMFho=W` z3rR%k;pxGgPXa3s5k2T|We?sRl!)j-TD=irIAZJ~QqwaBP+nMbhb!AaFk?U>tT{>a zdl2z{0g15YB+>6dgv9wJB6<)Ko*qQhSU@6D4^Iywuqq%CsfVWr5qlJnh}6T=gNQir zNZ^(d(Sr_GTDK6Ci0DB`czUoHk_c-~62z5lltL0=%}Ju)g9sJy>mmBeKbMe1zX$O) z-7gW*gOKp_AYM2JBqH_j^dR2J1|%Z&@bn;FTLvV;JxHj89w=+n=vKjCxmtF96Yu>R5aAF#0(ota3cUjbS#R7JC>M{76^AN6^+Ci?pP`si8b7@ zxcNqOtl$RK0yCmx1vjc_SS>0V>H;t$I#zHaYK`bvDjHd9*jQ9F)Um`28%uB_07P^w ziiSIun2{C;cPtf+#2W5cDjJEEI(GHSqERVmIGBq@b7}SJaY3{BQI=sELq_4W##&j2 zn#+SJGv;Qs?3uM@AXR#tm3lh6&sc&jR>SOV;Ha-& z(^D(8cH8~&V@dw_k!2sIUq3SI?(6R^o1ZoLgmv)k%Pvs1xl*r{xwg%xwmHi#99sj< zRPTlETUY|p(GNJMa4uT<*yhIcKAxF)>R12#?azH{@pm4&?|+^8@BXtVt@_AiD!?^n z-4{`_HGPHh3&>{#oByM&`-H&62Rl1EB>B3?&d|{s?-$)^!-o# zhw86)AN#NWn-iDo*8M=*m|VH|;xjLO;q$p-zA(qEeVYBPu z%aY?5MEFM@JM`X~AGKN|@4U0g_dRJe%biVrK%BuCvl&@&woYwwhOTVmCx5a>Q3EAb zk4zGqO*U&w%jcKbWJf=4=JUB6o5UZpmTg;Qm~}kDRy}?vb?{)5{rjONtER2WSim&& z^zkFrYx}7a^mASsI~y0De_{37!i3pwEQ_%?X)GCey)et{@t9s)sV+_*JAVU;owU||_D*=KF9m>qNVTJtgS zBV+olZZ^MGZ&aBz-qBkN+Y=XOHErv#wRf}AsT!PZPn5qiQP`T;o@|*5oqQo*VA(o; zv5T=_J?xa3zMJ3GVFqil94oLBtcY`!Jfl?YKLoY zQ4>7X>MT@bGTlV72Xj=2*Tbbl44Ib!OP9$kxH=WniDwtnx2d+RI=ALFtN7)!tiCF$ zuaR7pQ}wkTX3+0`0Kr;s{EFa^V0EiG0>MtlSdfAZAy_5Bh7hc}f>pF=psFefHn#4u z?v`>)7AAcb2wjU3q70@|(I97pK(NFCKaFm+D)?bF5TVZ1t9KJU&2mlM?Bv+|A-!Gu zOb%%?$8x6Ls^&1Yw<}dfwe$Mw)jI^ma&=72RK8AS>Qp{EC+Fp?Jvyv3WESK+ymi2` z*_xM4Gjw?pW2%GSvUk?#E(e)5Tfh-rv3fNtNS0d=t>r4U#id-j(`ex{3|9L3=GQmy z%l8}2wATCjMMf21_|gf(cRIzj zO$~(ksCC>1Nj5t_GoIku%qR{#M;g(O{n_?RO2d)z-xJ!gOgZmf%rG2oni~G$;S&x5 zQ3?E8%iyQ<9sHEuFd8lVYpz~>P|)qqpugMtQYQ!e%ejSSc`=83ubx{rI!igTZ5p}k z6A!Lc%@#g7&{->BwxbTR&K{DtuiyFq{_UslJo$%9+sA%Alm3SX%o~+Eq2BYd7pB}^ z7~zQ>ZL4;>b;MQ>`T)jxXfjziQDj?VbS|;2%0cUKStQYW-i#;+ORZ4C`k4z|uglM6-rE_as);GG%lUvn2R&_+u zV?Oo9M6H~W)p1`ZsQlp9$pD(*4N>_q>$I#j?W;BIVjXNP?Y*t)m{qo&pg-?)Pwo5T zR~Ftrw0Qnc|KhtpccVVybZ0?cR0a2Y7_%OcwO%u_>KSZ``^BI>7UOm zcYgO55`To*>9Y&C)jIj#_}sT%`1wwD@t^+>Kgd0n-1zP`%@W9$Lq9u8Uz*S|%ac#C zRc+Zk*J7)Qm4({*v{7r7F}tzvrRf6gy>AUV=hpYX1Y_y4F+GjFw={33$^s>6%!t~#{WQE zg_NE)&6bhQ-a%i(@GQCJ+eUt_Lm$GREW-?C(U&wb%bfi1>|&}@SuiwukZ7-o2Z?b8 zM|-~@*%X_`zXF>=p+(J_+<2W59N*tqSlpVpEC@!&)oaTmE4VF0xG|H+H*k&Hu1x)J z|M*K!<-YL$xA!gZQ5Dz!cQ?Dq<|daU%Lc>4Z~=iJAlc26r`haok}bQ*vKx}nsM))Z zBnu(CZW1B9B#3~DfCR1eXK{m}SZjT?^@$oDD)>SzR%~sJTC1(Lg4&AD{e929cau%P zR{QVo_wVoX0X~^KGiT<^nKLuzoSA#~%=d1s;3qu$m$!}8WiVwXQr(2DOIfDO(a;b{ zp^&Pvik>9#$)sDZ7d@j`6EP$XMYuVoLhY_!@2IOWGj3K>-<3|$gz8d*gLfFJOJTkG zgb>S7e9wiu1T5BeyrX4=5Eb!Y33*asAVzz!;Y(WW0c0i z(QYUN1z0-JV2VRs-!)onvBqk)^33`@%J`;}2?A*DZUo9 z;EAN}j8((b0j0f+t~}XphbNE_O-y&>f*WPWAeyin({u#m4oMlp3IQ5V2)hM$PibOg zRQGDRU@pVvie(v%JC>IwL>BDq2D`%U6lT3Ul6j-Rs#XfD((ha02O59a?RWQ#MUDzN zK9uo=-9Gmqtk&Lai*lS5;I%LRHivx<~%&dS5zV$85Ls!#-AZjF9kgu zQdFRq0-Z(ebeQWD-yM7UAogYvZ&Ik4Fk(D>y6>e{ml{n>{UnkZ(db#Q7t6G(oMw{= z7EYpr*dX%4wYb!!VJh;^+A9z*?6D-WipYW;JG-f}ICXb+Q&lz^8Mz}yS9&**#WH&% zx*aMk4~gH9O+#py_o{rnho>M*Do(5kU9 zXwFb5j;+w&F)`@0VNhz?U>KC@8dGA>!eLPAktsO_EgA-;9$AuN(Bh#` zk(1@>7?ZIZ!ilMGgyWU$(> zGN}lrb39FD=YJzjgTzGg;j0WrECbDzMsCY$5e3&^;>d+yU`5h)$>vBJAa%-t9*DMs zr1{zW`mPEU#S@&C@?0K)o&o~}c@*SRP(VQ;1w|ATQ!twXBL$@tnD`JvJ$0QTh17Y9 z6d_VX5$I@JF-2x0GMgesM2r-H(Qhjak$sN@YQe%s1hpK_Vnk5O;hc>KYB`)nL{JNs zJ|d-|)FfCpi0S3-k$K~hm_W7&Gtldy<2EpXfXSv8>mw3t-xh1%7Hi)YYu^@Y-zK&{ z*pf$@3X#kK^MIFt;=~kJiLQhbw?OgZU7qrd<2^w7|KNaOoSd<7a>mBV85<{OY@D32 zadMW*Gkyv!`}*~RPVvb3pu<|1t7P45YJJzmabJ|gKnjP|Y1AMnrNBgiS;O#nSSVgb zK{*8#n)H%#@oh%w;xc1KGMhMwS)bL(Tt`W`|8p91>o-(rY?TX*1Fss=zc*38#VyY;J(5ga#KZ_l0lD;G9}75N=myiy(1y;KXw%C8{_|%-=|fIgS#P0wv}+ zO3dGd60=MRyoU~@L>)(orhHGagL*d^y@YVH z!&2&^^AA&5IX3h3rkJ9NIs}^fsZ^?$;<}5SwQ==UH;b<>n}^q@gJi0&q&nDk#@9Cw zt^XxXY0juGTEeKBK=t|f`o*=NTPe{UO&i|sP`X0_sxH;WsYNX)mutS4@a-rcjsdjC zWB3-d55ZtnIcv?1gc#RB!?(b&nmVymSS!T$W}Xw@M&g)^-RKTEL6v)m8IQMdSvv$A zxhNR4XK}BV;$+Cfo=!I<4O*qN&4pD;$Mq^YX%>%IUo1NMj;mmm{f6`YY#)8dWRIlp zz{^8rHxBT`Q`Gg53u75cz1nQNZpawTj^Y^?)4~LqcD$(5<5k^CrWnVm@*4-skTwlQ zomp

|3`vBd$$e$tGruWwYYjEEL<+Glk#OYTm!0Rn_oT^UrKGj=$I%|2z1r9?su_ zf52a~`S0Mba(GYa9qmet>>z*ZH(XRh))UE1&Q@x);%#rP{B~QR(@JmkG&Sb3a`~f* zOmY^jz@E05RflS8j5fRxapFCb!|s4PW%_agfcbi`=Tz zn=}8i8t3LHpa7;)aRW`M1fVeR_3KfnlA)3;Ti-QGOyT8Qk;YYxgE@Rh0+-N(-=9Ec zrHkL6nCz}P4Fa=9r^TaI8EU4iP=NC4*OS|4h5R**7{?aPLC5!YYpz5FbwW&m3=<&u zb|+6fdzU`q!R{StrsRTBr_~HF=(3Ac*4ka)ukX4*OoPq_4c-nl@D8IhmjXQn1`6`{ z`Yv+{6~lKhY^}B0uBmldYzXv)>9wvr178b0P%_$DX|k1!uC-L+1A>L6W=*Z5dIaVQCUl&(SgwAAOsE<0(&I|bqFjJTUe^8FgtQ7&{JTbAdiB43JNGFq@aj`VhUzc zV5C5-YoeH0Q))$bpnJfUqVtafs1j34QdEW364Q9 zH-rMjj?hx#M`#%_B-BD239++?*?UHI6VJqby-&^yQ4Ke=0MOvDWF+|JQuY#VHoZAO z@9K0T9rmiq1Su~g04WFEE56XMrLspxO#0iR6*oO!)^n`y{snK_A2jAh)xKNGZ~j|e zUgf@|ZIiPfJ=9~=D-u7fUbyrxd-LqO7T^2YFRuUO=SG7f@qzbGwXfQ_)^_6?fo&7s z8}UnHo+2@-`fy#2X^r`pj~=(~ywr8QF<+6mJM*{K8nQ33?C;LKcHL_m%8UgH#aFK_ znlkQ&z`}uji(Omx*In9?2`no6!vUd%cc3*eSbLtBhegPng01c0U`q=cWR=>{39Obw zR%4*4Bkbq#X_}E2+VJjN#zJYr!Rr||X?UK2VN-_ZIlhPhh8Vj^GM^ScDL9Z5R*Ul|Rc>z_3Ny zOro5w8Q?2~R^QBEVBOS!meAU=1tb}E%6YV1N=8}DilhJ_|SZw?2p0Q!MO=V;GQ zU~|NB?O~y{tr5WXz;gf0UYaEsZ&Xx|#0$)wTvcLrMu&hFcwG7KDV%V}_S;Y)nt{p{mm3u5hCaaZ7 zp2w92v5t&Q{#NvQp*EXJI_fOE)lrkrxBA;x1jEbtwsyh0jA3mnM6JPKh+!8=Q{Dv`If*a#xBA0Edmz}#ur8^J(G$GF&*zt85_*HaKx-4j zR!cp1IcHj{Y6gdXF%7+ftLO~*!!xU!!+wE^^YuoX?NWSkNaQk{Wu@QSf!0B>0D-`l z2EZVXHbtb)UdOOLiPM%=5e&V`E#$9Y|dMCOK=pHkI&Jb}Sbdwo4Ms z)pgZ_oZmoV4&tZPJD>!N_Uc)73&UO|kymv{JEyG^ zx6g68FzL6Ew3sae&6wOdcKa-|dDasA19&@4o00)=Cm(F&YyEzRnH^Lyk#nM%0CXsf zZlcBM$8sX&dxKU_V5l6-9UNy>4A13{vUVQ-V<&Z3ThcNtHDo?#<2KNoUUA!?9! zR@r$wtSPJuhTTJJMkC?C_+yUGq(v=CrVh-<+ok?3^mlrKkmW6?$5%mw%Kht=R=bQD zrP@e#hD0&Hm((d6Yc(DQ?42!W{KqtTA+h8+Ca-6^zqJDc8eAR%>HA1JFdW92+E^Y~ z<%d4;Hwqms?V#=sNjkX9yonTztA%>|6G=7L{XS?UG2aPcPa}D!_5wmiqOpaqZtiGB zt|!>i&R6@r&8@+fU=#Rv7p+(eY(IIZZT>6#5JW%IP8RDnwFWUi<15G58pNu(kNV8W zYLAQ$$Qkc4@T1kw+bm{~{D5Rah)gasnjw=P)aFnf5ZN-5j1h29Kr3ySMQvE-tpOM_ z;zE9i*j3J%Al1V|3fUl7u-G7-9;Q`WAzM}Py?R7yMCy7?HQyK{6k*IkFw{D$iqEO3 zp6SC9eUuupa+X%C1TSEcaB>M((1MfZ-G1!|BG?7~kve}&N`g```M5TXpw%7zHZlE# z)ZtpcuT{?Jlk`7$7?z40kT8^m17eMX65K^gOw2e$D8I*5N|p)39+uLwmB+A8YB_?} z1blv&9#7Hu+qf#MM95Z%N?*)CeOl7wCYPOIk7%cn7^5Xl6DrV(zMfsC9i=&5$(gPA zY_w=5)Ba zZECHmkd*1KNLDyGGGOpK4fH^?Zsd&$!ycDbpKLo(DPu=_ur;`xNy4zdk<`4=Rwrjlrr531SEY1Dn3B^<^|9R~Y?hQ`Mc`<9~<-r?{s zX{z}+*ghSNf)}fZ*6uJIUukM^0;4VeuvVL?v8)j*Ed<^Br;)7r?7C(kLOa9n| zv*d~tGU&)4g27TmJ%iCc8_el%3c#)mV+W59#IfsVxF!BJMmsW5jEg_W0Ucr<;8oZe za#gJi=3g8(X{C_32M@4j7_F92g_pywl((de)}|RBSA`Jgk(P%n!)XKkFC3bjJv6B| z3`-XbO-nco`m^Oqu)N#>nAWUPb1sY(b{>{1$YkZrLZGEHmLN-MFf}-2@iL6jj#9>^ z6b?gTGlbEaR7o+3&B>yAKt^+e!kHV8%Gl+K;+Pwd!`fM}_@%A9q`*0QwS9`Ka;6?e zw-hrloZdAPiJ7iS20Q$-kuu0{?L?I{MZjlK2vy-sCN?&_n83Q>tY!x`oKlw4#wJ!dYiE-MDPxYp0gV0p_bUYz-oipKos zYy!llD0Ug`TqRdZTj?-V1|%$r35P!ny^oy~?D!b48d?%7VhHRz4|J|t9>;GvDB1~0 zTwW3SW1t|f)FiEiVM7H$<8UA_Nx^hVX;YQ>5yfnb&qYOyb_67s-3TTl%oCHC5d~QC z&P9M)5|cUW^5tX)!r;Ti((~8^V1JKxK3JMmt3rckCgaK+&e0jwvODC}nA9sRt+KFsaD7pb?Rfh#%fVNfn>MttD zt-(+art=DFAYI~>HfegABc+Mya`j@8Fc33hSP07W1~HzOC(SxjY61mz8S zDq|4K8}h{*v8168Wwb_hY_02Ot`Is04~l42ospAwMo#|l91>;&5}LCI$l$?Zik&Pi zr-Ni|ih|Rx%QF-a1saMMV!4YE19+Q?b3OSC0zyCmn>2Rj0EQ~K+;xQo1$hNC_}uw& zLo;~&eEsq^JkaC$dYaM_wmbua-=1->epH+RIzo@XJo>xHP*5H(cOh)$u_N0fUhe)= zrT6d9#M2UDM$rtu(!a7@I;j>dq8Vf^z@8M(u0KMEjgG83tm7Ij!OmO*Vc83y3s>KimY1v9U4W4TvVB3A!Ig6WXx@0uNTc^gm|DV>`i_gM2Gq z3bY6vt=?wI9E%MYqs1Iq=*KaysUsW~kxJ5t&fj2F)0Ti{*I;?8I$4%O-$qDaNQVmr znZV-V`PyNsmQDxZ8lak=az+W-$Hb$t>1A`%q}Irk z(_vCx4lKoKP~V6bghrMPyYhASwnMlW*_81fP5DTxd*)K|wV zcMOiWd9E~8TWc)5y^4%qF{i2uZ?`BZ4p+>k9W)(W!A9(v9ZtyTq#T)n5>X)6Q~}ce z)&JCeeGYc)LvT=TzLa}Li|G3QbBl(vwwNckxIlyM==qsAH>cBc+LYsbgI@U#*UBhU z5on^rpus}e{Mv0=>tE~6ZGHzP63vctn_uZj@;_wr%PHeFzvs5S|7qLafB78Z-1hf7 zZ+}M)>~{vXzc|x6x5+(2smC8Ep4;T=|3fyp*w+u*o6;s%dWAH&(-pTx|NA@LbK6~f zns#oxdxjj5HVfyryYw37+;(?h8+>lNJMGL3_WyzHuB}XKI=9`8Q^M!AyZ>?TdjCz^ z-3<9HFO9JD#%98~_q*}$e!uhk-E$k=|GoFT=Qg@=rs%i*a^~Dd_uNMJpS{vOx6wVf z(Umr}XA945bkA*c+t0n%h3@^o{azQpBiB}F&li8iS!Tw^CG-J%MJ!@6@pkfjE#4 z#DP@&Rm4mQHKTFhm-bp1oI;y75Wp{sz4$bgKA_Mz@aud0D1*aKfVjpm!!?DGSG~lc zwI+|^LPCh)LO}!_&At%67+WqqC6v(0!9+U!Ml){5j=sBhEpcDwD z6dsfU2PlOHrSR1crSPB>zP6*(Y(`THH|7~htO~v~n5~q6nOo8ODsl|rl`_hwYXA>Ccx=}1#STF8~h{7;Ie(O(4!8q)k2$xo53{V)&%lqz@`B~jmuUhFy5YmSZ0ElX}3`(AInt5Wu}O6 z3l)fzXY4@B^Wh9QA1*O`Y)4z;56Fi@Q&W#EEn-Q$0eRc-cQmwm6}fc)^=y=(VTfgD zD1!zgmXS^wG$cSp1)G}Mnz%VkBa&1sE=h&Z5WHhrG-zWxZU&$>QWXj~HcWXjiN+87 zrm-WoW88WQVy!R?d@hP39Lo{g70b$`W)UG&i&_Q_vE^AJA(R`Jq=rBUD|X&uLv%d+ z>HFAqZH-rL@e)l;Q%|a#u-F*t(cF6JXJSGN`UXdpP55(%HhcYhF21qJ4;Fiy7@8!A z(F2V0L?*$*GQ1pOieMVFHDV}*kO0Prg(=$M?r1{(rA$*K8||ynPCb2N+|f421s4bO zZPcY`t+A=6GF4M;cj##fQbe4KH<8Z`%Dsu)Zcwf`U3_iaT!yQ+tn{{Y`0zEJ_={5y z{kSn0reD!Dg*Mlqq8A;2KWlV?Wg7RG6L;L`W)0-1If^b2R<}5D39Xy)ceo=))y`dl zH!^i+w;!E?_vl7+%7>x$^r%8U4~DF<&4URF+ydk4(TdZ+GnhqOyp-{@`8-Y1atX0- z(%R~6(oM&0BYJXDB(FIo<%i%Aq>daL-~i3>G#So#jj2k?F)^ zI3eto7Bns)G2$+g#bxLqTtxyVtz0G2!!eetfH7|nBdc^r#_Zg+c`4*WXel9y$0p&y zkG9UhGZkp^2ho6P7ppo;xsp_fn1VqOBNkMnAbRYuZy_Ot=|c&Zlu%K^UMVFsVxmq; zq*B5nL((a+uvCKRm=N5c1*w#_=$C&Sa<2Ls&Wm= z)s-X>;fm1aW;Yz0)4X9BaSGr8RRL#K5q4+ywq{mIj^2}ZV%3n#_fRtxf@?&`e?+i$ zB4cjAVw#J;3xPt;4Y>(Pj|S*vY`St5SC=>v#0E9gAe!iK!(ot9pP_W)eknwNmlo?% z&mODlMu8fkToUNooi}<}V>kBPpH>RGiEo5N`Os^2~$WaJ?lD{!PR9BKrLQ6@_5kkV; z3@>X*-GX?jfQI@LUDSD*1C_P^qa2VK2VM~4&L3dhP$G;DT2N<>)>-Hki|Wc2kY1An zOxg{!;2}exX{7NG#Yl*j8i|pC!4C;!QDS0=E03W??!|iZiBBb|be~6D(_Ux}*q7t5 z_Q}5V$@Zl$wAu&z(g*v}C)$@j(Y}O~7;0Ji82`UuS)x|NIARCdoWIKl%d!l1WE1Sj zCfJd*Seref1xX9M*~88uN~LVkjyyA)48;%yjiJs)R>L%g8>!@AiqJLoR3=7@iD+bd z3>z7aGPYTRjXlqdH(7N$AO5-PDhxJrG`b>Kd z6VJP+BxwgEzTrlXwD8H=k|`R4wNEpI=)*`SlI-3~4uF-RM$w@2V*My6X7Dl{Ua4KG z-$=?}ShZw`63G7!50R0Vky;OlcZ8nzX zloEz9yBNiowZEypqwF?Dk(gDQo|(?3PEe*?zjJ> z40Z=M<+mYUmaRX_;dyHP%d^$5sYbQ;A_{QAQ_i>iChod~W-~L-W(O7hTX@s5{;_|0k}G@+aLi&vM{` zlQ~&qrskxSj@WdKa$fSWdrx=%Xx41a;fnr*uJX3Sb&-(b*t=O1pPqjrt2|@&fw3jJ z+cWc*O-Q`1@!s7Bj_Uh0xzQ^}r+<{w_vc7HH?nc5fb2 z_BHRAl=q9Lzj{VE^6th%9?!9H?eqGdxOSd@<>$NaN#1mR@hW~(>)NbaHU-BonAKOT zUipUwd$JBkqqnOsw%_~yfxx_^mBmf(98#TVo!Vmla8x$;cOCQiuTqLX9Mf`dZsn~0 zi^s2IzRY@45jweV`^P_jdC7#$>JPUjcy;rhbsbW%AB}QE$`x0i`eEYAucOEE`xlJq ze*tGW>JNT%vO1ymlbj~Abx>J6iqg(%HwQOxI*r(IoynVv0k&6`3=xWtN>$c6wS8!68UHH_r z$HHTBY`azl7iYg+pZRFX)z|!OssH$^*Mzz@m{;9*t#I=S(K6qhY z?r-Wdv+m(O*rZB%@0V)4u*}=Kg5(9rkq76PLX7`VXe>%F#?yzC7yrI5s(~@iU{Op>8r#Gm#Mx*D=$jvUj{Ps<&mw)u5r$4^F z`T5*Arv1A8m0$ci?d^5y)fH(67g+ZTpSk@z9(?27JD=}1>*-7s!R~^4${w4F1zu584+?#qP?)To8XWn18sC0kr#=l?xZ2$Hr%ec=y zUv5)hmXW3${jj&^>*$IZ>(4vD|H0S)-p9&yOxmPuZAxxvRl`R=+%P_O&5zx$UiIE~ z#eyHW6O+DP_GHg$-92ejPWJa*-c&sC4PjpKbI~h9{lyw)^MN-_+=%(v37bFZ+2zuOdz9y_o9 z(eSD@eeWK5=hU0qDznF@{-AbrIRDg3*K%nsMf20rP9GkZ{rM%IkB=b;yxy6<^&UFL-^ zuU>!f^wyN(G4JPHRM)EhU{lKb(JSY<_tl>$+PwL-eOrruob>%=hhO|zVa2VQdlIT1 ze0ea;C>z~)F)qiZ$Ougg%i3-Eo zscHxFSxtXiU$W7p9=O>fP;cw676H@})*cV5?y zw8Y(;-ki5&#Jfj7y6^NT<>O=3tq-_2KCQ`~_E_?Pg9}^@8QE*r7Chazs(0M4BSPBg z9_5OA{?@!?fAIcf-Ihzb+>RAFea}UsBd&gURM*G5H$3V%@Yvq|zq%g(^UADyj$}7P zR;Cp{e&M`}Ro7g8(Wce=4j$~hW6Hf>OyBjwv?{h~Wkp8zotGsw{P?n7&%A|CuDrwW z$3w3yJ7&r}bZy4u-tu=x-gvBVfp7E-^A{;X%By=1f11etyzV(yP+o52>s>c;s9X~nsS>nxG9=<}^6^(wDc<-8;zDwsG z=vdfw<@Xf(EB3E&c79rU{OF;#?#Neu5WVsa_YI-XdeawNJm+(THgnY04W~aky1nwD zgbh!BWP8gv?y6(kPu{)zgD*8-Y*oGR@uZWQ5j{WOa%_8l+3Iy0JAbo2ZOaqJ{hL=R z6MYG5nv#BN@A@hlY{5j!$848}szvGpCPVZA+axa%BUg$e8=05Lw$I&Kx zSMloy)$f(uGxbNhBYRYD9ht(9Q7l@Qu9*E(mcMD7x#ZUmS9I0?*9iWm)QwYCj?)~! zyhP>uQ@%2s&MIaWojI9*c5S8R@LT)W8}{Ao|0j zz(>>IT3pE{>dZ-!$Mm#rN4`FnE=y7oB=RqNGe5(x_?h0e(bLR;6{~li$Md#25QBCLbxm0qDV<+aS>ftmY86&n8XTPlB-}wQ^ZoKz=hcw>db)0 zZ>8k%o2Lt$8!|YSEm!a?4=?tejLxnSZ%eUMmKoTTtyF+jfssJH7-VDwonMpJ8)@*JvX-@)nbCnczdp%Vzo{U4WTry>1?_*t_!i4 zaMO)AuIyHv?uvuj%>LsMU5yc?HirzYCG| z9r*F)6PJEr|HWU*u3q}Y2k(mauA_#>NHNzlKh)4dtR9wf?Kq_e(4nh&b+g0iI GhyMo3izFcc literal 0 HcmV?d00001 diff --git a/tools/amldecode/acpi-dsdt-lenovo.asl b/tools/amldecode/acpi-dsdt-lenovo.asl new file mode 100644 index 0000000..d16245c --- /dev/null +++ b/tools/amldecode/acpi-dsdt-lenovo.asl @@ -0,0 +1,58812 @@ +/* + * Intel ACPI Component Architecture + * AML/ASL+ Disassembler version 20200925 (64-bit version) + * Copyright (c) 2000 - 2020 Intel Corporation + * + * Disassembling to symbolic ASL+ operators + * + * Disassembly of iASL8KQu6e.aml, Sat Jul 22 08:06:28 2023 + * + * Original Table Header: + * Signature "DSDT" + * Length 0x0003710E (225550) + * Revision 0x02 + * Checksum 0xAA + * OEM ID "LENOVO" + * OEM Table ID "TC-S00 " + * OEM Revision 0x00000520 (1312) + * Compiler ID "INTL" + * Compiler Version 0x20091013 (537464851) + */ +DefinitionBlock ("", "DSDT", 2, "LENOVO", "TC-S00 ", 0x00000520) +{ + Name (ENTK, 0x87) + Name (EXTK, 0xAA) + Name (IO1B, 0x0A00) + Name (IO1L, 0x10) + Name (IO2B, 0x0A10) + Name (IO2L, 0x10) + Name (IO3B, 0x0A20) + Name (IO3L, 0x10) + Name (SP1O, 0x2E) + Name (IOES, 0x00) + Name (NCSW, 0xF0) + Name (NCPS, 0xF1) + Name (NCPW, 0xF2) + Name (NCRT, 0xF3) + Name (ASSB, 0x00) + Name (AOTB, 0x00) + Name (AAXB, 0x00) + Name (PEHP, 0x01) + Name (PEPM, 0x01) + Name (PEER, 0x01) + Name (PECS, 0x01) + Name (ITKE, 0x00) + Name (MBEC, 0xFFFF) + Name (PEBS, 0x80000000) + Name (PELN, 0x10000000) + Name (SRSI, 0xB2) + Name (CSMI, 0x61) + Name (DSSP, 0x00) + Name (FHPP, 0x00) + Name (SMIA, 0xB2) + Name (SMIB, 0xB3) + Name (OFST, 0x35) + Name (TRST, 0x02) + Name (TCMF, 0x00) + Name (TMF1, 0x00) + Name (TMF2, 0x00) + Name (TMF3, 0x00) + Name (TTPF, 0x00) + Name (DTPT, 0x00) + Name (TTDP, 0x00) + Name (TPMB, 0xFFFFFFFF) + Name (TPMC, 0xFFFFFFFF) + Name (TPMM, 0xFED40000) + Name (FTPM, 0xFFFFFFFF) + Name (PPIM, 0x7BED0F98) + Name (PPIL, 0x1C) + Name (AMDT, 0x00) + Name (TPMF, 0x01) + Name (PPIV, 0x00) + Name (TBSW, 0xBC) + Name (SRCB, 0xFED1C000) + Name (SRCL, 0x4000) + Name (SUSW, 0xFF) + Name (PMBA, 0x0400) + Name (PMLN, 0x80) + Name (SMCR, 0x0430) + Name (SMIP, 0xB2) + Name (APCB, 0xFEC00000) + Name (APCL, 0x00100000) + Name (PM30, 0x0430) + Name (GPBS, 0x0500) + Name (GPLN, 0x80) + Name (SMBS, 0x0580) + Name (SMBL, 0x20) + Name (SHPC, 0x00) + Name (VDFG, 0x00) + Name (WVAL, 0xE5) + Name (IOB2, 0xB2) + Name (LSMB, 0xB2) + Name (WMSZ, 0x0500) + Name (GPL1, 0x050E) + Name (GPL2, 0x053A) + Name (P410, 0x00) + Name (PICM, 0x00) + Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model + { + If (Arg0) + { + DBG8 = 0xAA + } + Else + { + DBG8 = 0xAC + } + + PICM = Arg0 + } + + Name (OSVR, Ones) + Method (OSFL, 0, NotSerialized) + { + If ((OSVR != Ones)) + { + Return (OSVR) /* \OSVR */ + } + + If ((PICM == 0x00)) + { + DBG8 = 0xAC + } + + OSVR = 0x03 + If (CondRefOf (\_OSI, Local0)) + { + If (_OSI ("Windows 2001")) + { + OSVR = 0x04 + } + + If (_OSI ("Windows 2001.1")) + { + OSVR = 0x05 + } + + If (_OSI ("FreeBSD")) + { + OSVR = 0x06 + } + + If (_OSI ("HP-UX")) + { + OSVR = 0x07 + } + + If (_OSI ("OpenVMS")) + { + OSVR = 0x08 + } + + If (_OSI ("Windows 2001 SP1")) + { + OSVR = 0x09 + } + + If (_OSI ("Windows 2001 SP2")) + { + OSVR = 0x0A + } + + If (_OSI ("Windows 2001 SP3")) + { + OSVR = 0x0B + } + + If (_OSI ("Windows 2006")) + { + OSVR = 0x0C + } + + If (_OSI ("Windows 2006 SP1")) + { + OSVR = 0x0D + } + + If (_OSI ("Windows 2009")) + { + OSVR = 0x0E + } + + If (_OSI ("Windows 2012")) + { + OSVR = 0x0F + } + + If (_OSI ("Windows 2013")) + { + OSVR = 0x10 + } + } + Else + { + If (MCTH (_OS, "Microsoft Windows NT")) + { + OSVR = 0x00 + } + + If (MCTH (_OS, "Microsoft Windows")) + { + OSVR = 0x01 + } + + If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition")) + { + OSVR = 0x02 + } + + If (MCTH (_OS, "Linux")) + { + OSVR = 0x03 + } + + If (MCTH (_OS, "FreeBSD")) + { + OSVR = 0x06 + } + + If (MCTH (_OS, "HP-UX")) + { + OSVR = 0x07 + } + + If (MCTH (_OS, "OpenVMS")) + { + OSVR = 0x08 + } + } + + Return (OSVR) /* \OSVR */ + } + + Method (MCTH, 2, NotSerialized) + { + If ((SizeOf (Arg0) < SizeOf (Arg1))) + { + Return (Zero) + } + + Local0 = (SizeOf (Arg0) + 0x01) + Name (BUF0, Buffer (Local0){}) + Name (BUF1, Buffer (Local0){}) + BUF0 = Arg0 + BUF1 = Arg1 + While (Local0) + { + Local0-- + If ((DerefOf (BUF0 [Local0]) != DerefOf (BUF1 [Local0] + ))) + { + Return (Zero) + } + } + + Return (One) + } + + Name (PRWP, Package (0x02) + { + Zero, + Zero + }) + Method (GPRW, 2, NotSerialized) + { + PRWP [0x00] = Arg0 + Local0 = (SS1 << 0x01) + Local0 |= (SS2 << 0x02) + Local0 |= (SS3 << 0x03) + Local0 |= (SS4 << 0x04) + If (((0x01 << Arg1) & Local0)) + { + PRWP [0x01] = Arg1 + } + Else + { + Local0 >>= 0x01 + If (((OSFL () == 0x01) || (OSFL () == 0x02))) + { + FindSetLeftBit (Local0, PRWP [0x01]) + } + Else + { + FindSetRightBit (Local0, PRWP [0x01]) + } + } + + Return (PRWP) /* \PRWP */ + } + + Name (WAKP, Package (0x02) + { + Zero, + Zero + }) + Method (UPWP, 1, NotSerialized) + { + If (DerefOf (WAKP [0x00])) + { + WAKP [0x01] = 0x00 + } + Else + { + WAKP [0x01] = Arg0 + } + } + + OperationRegion (DEB0, SystemIO, 0x80, 0x01) + Field (DEB0, ByteAcc, NoLock, Preserve) + { + DBG8, 8 + } + + OperationRegion (DEB1, SystemIO, 0x90, 0x02) + Field (DEB1, WordAcc, NoLock, Preserve) + { + DBG9, 16 + } + + Name (SS1, 0x01) + Name (SS2, 0x00) + Name (SS3, 0x01) + Name (SS4, 0x01) + Name (IOST, 0x0001) + Name (TOPM, 0x00000000) + Name (ROMS, 0xFFE00000) + Name (VGAF, 0x01) + Name (OSHF, 0x00) + Scope (_SB) + { + Name (XCNT, 0x00) + Name (ECNT, 0x00) + Name (OSYS, 0x00) + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("663e35af-cc10-41a4-88ea-5470af055295") /* Unknown UUID */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + Switch (ToInteger (Arg1)) + { + Case (0x00) + { + If ((EMCA == 0x01)) + { + Return (Buffer (0x01) + { + 0x03 // . + }) + } + Else + { + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + } + } + Case (0x01) + { + Return (LDIR) /* \LDIR */ + } + Default + { + } + + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + If (CondRefOf (_OSI, Local0)) + { + If (_OSI ("Windows 2001.1 SP1")) + { + OSYS = 0x05 + } + + If (_OSI ("Windows 2001.1")) + { + OSYS = 0x06 + } + + If (_OSI ("Windows 2001 SP2")) + { + OSYS = 0x07 + } + + If (_OSI ("Windows 2001")) + { + OSYS = 0x08 + } + + If (_OSI ("Windows 2006.1")) + { + OSYS = 0x09 + } + + If (_OSI ("Windows 2006 SP1")) + { + OSYS = 0x0A + } + + If (_OSI ("Windows 2006")) + { + OSYS = 0x0B + } + + If (_OSI ("Windows 2009")) + { + OSYS = 0x0C + } + + If (_OSI ("Windows 2012")) + { + OSYS = 0x0D + } + + If (_OSI ("Linux")) + { + OSYS = 0x01 + } + + If (_OSI ("FreeBSD")) + { + OSYS = 0x02 + } + + If (_OSI ("HP-UX")) + { + OSYS = 0x03 + } + + If (_OSI ("OpenVMS")) + { + OSYS = 0x04 + } + + If ((OSYS >= 0x0D)) + { + If ((XCNT == 0x00)) + { + ^PCI0.XHCI.XSEL (0x00) + IO80 = 0x84 + XCNT++ + } + } + ElseIf ((OSYS == 0x0C)) + { + If ((ECNT == 0x00)) + { + ^PCI0.XHCI.ESEL () + ECNT++ + } + } + Else + { + IO80 = OSYS /* \_SB_.OSYS */ + } + } + + ^PCI0.RP05.TINI () + } + } + + Name (BBI0, 0x00000000) + Name (BBI1, 0x00000000) + Name (BBI2, 0x00000000) + Name (BBI3, 0x00000000) + Name (BBU0, 0x000000FF) + Name (BBU1, 0x000000FF) + Name (BBU2, 0x000000FF) + Name (BBU3, 0x000000FF) + OperationRegion (DBG0, SystemIO, 0x80, 0x02) + Field (DBG0, ByteAcc, NoLock, Preserve) + { + IO80, 8, + IO81, 8 + } + + OperationRegion (ACMS, SystemIO, 0x72, 0x02) + Field (ACMS, ByteAcc, NoLock, Preserve) + { + INDX, 8, + DATA, 8 + } + + OperationRegion (GPCT, SystemIO, 0x0442, 0x01) + Field (GPCT, ByteAcc, NoLock, Preserve) + { + , 1, + SGPC, 1 + } + + OperationRegion (GPIV, SystemIO, 0x052C, 0x02) + Field (GPIV, ByteAcc, NoLock, Preserve) + { + GP0I, 1, + , 13, + RASI, 1 + } + + OperationRegion (PSYS, SystemMemory, 0x7BEBD000, 0x0400) + Field (PSYS, ByteAcc, NoLock, Preserve) + { + PLAT, 32, + APC0, 1, + APC1, 1, + APC2, 1, + APC3, 1, + APC4, 1, + Offset (0x05), + RES0, 8, + TPME, 1, + CSEN, 1, + C3EN, 1, + C6EN, 1, + C7EN, 1, + MWOS, 1, + PSEN, 1, + EMCA, 1, + HWAL, 1, + KPRS, 1, + MPRS, 1, + TSEN, 1, + FGTS, 1, + OSCX, 1, + RESX, 2, + CPHP, 8, + IIOP, 8, + IIOH, 8, + CPUT, 8, + PRBM, 32, + P0ID, 32, + P1ID, 32, + P2ID, 32, + P3ID, 32, + P0BM, 64, + P1BM, 64, + P2BM, 64, + P3BM, 64, + MEBM, 16, + MEBC, 16, + CFMM, 32, + TSSZ, 32, + M0BS, 64, + M1BS, 64, + M2BS, 64, + M3BS, 64, + M4BS, 64, + M5BS, 64, + M6BS, 64, + M7BS, 64, + M0RN, 64, + M1RN, 64, + M2RN, 64, + M3RN, 64, + M4RN, 64, + M5RN, 64, + M6RN, 64, + M7RN, 64, + SMI0, 32, + SMI1, 32, + SMI2, 32, + SMI3, 32, + SCI0, 32, + SCI1, 32, + SCI2, 32, + SCI3, 32, + MADD, 64, + CUU0, 128, + CUU1, 128, + CUU2, 128, + CUU3, 128, + CUU4, 128, + CUU5, 128, + CUU6, 128, + CUU7, 128, + CPSP, 8, + ME00, 128, + ME01, 128, + ME10, 128, + ME11, 128, + ME20, 128, + ME21, 128, + ME30, 128, + ME31, 128, + ME40, 128, + ME41, 128, + ME50, 128, + ME51, 128, + ME60, 128, + ME61, 128, + ME70, 128, + ME71, 128, + MESP, 16, + DHRD, 192, + ATSR, 192, + RHSA, 192, + LDIR, 64, + PRID, 32, + WSIC, 8, + WSIS, 16, + WSIB, 8, + WSID, 8, + WSIF, 8, + WSTS, 8, + WHEA, 8, + PFMA, 64, + PFMS, 8, + PFIO, 16, + CNBS, 8, + XHMD, 8, + SBV1, 8, + SBV2, 8, + SBS3, 8, + SBS4, 8, + AHPE, 8, + CLOD, 8, + HWEN, 2, + ACEN, 1, + RES1, 5, + NITR, 8 + } + + OperationRegion (GSTS, SystemIO, 0x0422, 0x02) + Field (GSTS, ByteAcc, NoLock, Preserve) + { + GP00, 1, + , 12, + GP13, 1 + } + + OperationRegion (GPE0, SystemIO, 0x0428, 0x08) + Field (GPE0, ByteAcc, NoLock, Preserve) + { + , 1, + GPEH, 1, + , 1, + USB1, 1, + USB2, 1, + USB5, 1, + , 3, + PCIE, 1, + , 1, + PMEE, 1, + USB3, 1, + PMB0, 1, + USB4, 1, + Offset (0x03), + , 1, + Offset (0x04), + USB6, 1, + Offset (0x06) + } + + OperationRegion (GPES, SystemIO, 0x0420, 0x08) + Field (GPES, ByteAcc, NoLock, Preserve) + { + , 1, + GPSH, 1, + SGPS, 1, + US1S, 1, + US2S, 1, + US5S, 1, + , 1, + SMWS, 1, + , 1, + PEES, 1, + , 1, + PMES, 1, + US3S, 1, + PMBS, 1, + US4S, 1, + Offset (0x03), + , 1, + Offset (0x04), + US6S, 1, + Offset (0x06) + } + + OperationRegion (PM1S, SystemIO, 0x0400, 0x02) + Field (PM1S, ByteAcc, NoLock, Preserve) + { + Offset (0x01), + PBNS, 1, + , 1, + RTCS, 1 + } + + Method (IPTS, 1, NotSerialized) + { + IO80 = 0x72 + US1S = 0x01 + US2S = 0x01 + US5S = 0x01 + SMWS = 0x01 + PMES = 0x01 + US3S = 0x01 + PMBS = 0x01 + US4S = 0x01 + US6S = 0x01 + GPEH = 0x01 + USB1 = 0x01 + USB2 = 0x01 + USB5 = 0x01 + PCIE = 0x01 + PMEE = 0x01 + USB3 = 0x01 + PMB0 = 0x01 + USB4 = 0x01 + USB6 = 0x01 + If ((Arg0 == 0x03)) + { + \_SB.SMIS = 0xE0 + \_SB.SMIC = 0xBE + } + } + + Method (_GTS, 1, NotSerialized) // _GTS: Going To Sleep + { + IO80 = Arg0 + } + + Scope (_SB) + { + Name (PRUN, Package (0x54) + { + Package (0x04) + { + 0x0008FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0008FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0008FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0008FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0009FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0009FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0009FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0009FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x000AFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x000AFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x000AFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x000AFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x000BFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x000BFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x000BFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x000BFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x000CFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x000CFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x000CFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x000CFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x000DFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x000DFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x000DFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x000DFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x000EFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x000EFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x000EFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x000EFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x000FFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x000FFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x000FFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x000FFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0010FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0010FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0010FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0010FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0012FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0012FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0012FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0012FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0013FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0013FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0013FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0013FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0017FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0017FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0017FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0017FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0018FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0018FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0018FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0018FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x001EFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x001EFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x001EFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x001EFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (ARUN, Package (0x54) + { + Package (0x04) + { + 0x0008FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0008FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0008FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0008FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0009FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0009FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0009FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0009FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x000AFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x000AFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x000AFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x000AFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x000BFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x000BFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x000BFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x000BFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x000CFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x000CFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x000CFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x000CFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x000DFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x000DFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x000DFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x000DFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x000EFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x000EFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x000EFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x000EFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x000FFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x000FFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x000FFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x000FFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0010FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0010FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0010FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0010FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0012FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0012FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0012FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0012FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0013FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0013FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0013FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0013FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0017FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0017FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0017FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0017FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0018FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0018FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0018FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0018FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x001EFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x001EFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x001EFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x001EFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x03, + 0x00, + 0x13 + } + }) + Method (USTA, 1, NotSerialized) + { + Local6 = 0x00 + Local6 = (PRBM >> Arg0) + Local6 &= 0x01 + If ((Local6 == 0x00)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Device (UNC3) + { + Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID + Name (_UID, 0xFF) // _UID: Unique ID + Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number + { + Return (BBU3) /* \BBU3 */ + } + + Name (_ADR, 0x00) // _ADR: Address + Name (_EJD, "\\_SB.SCK3") // _EJD: Ejection Dependent Device + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (USTA (0x03)) + } + + Name (SUPP, 0x00) + Name (CTRL, 0x00) + Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities + { + CreateDWordField (Arg3, 0x00, CDW1) + CreateDWordField (Arg3, 0x04, CDW2) + If ((Arg2 > 0x02)) + { + CreateDWordField (Arg3, 0x08, CDW3) + } + + If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) + { + SUPP = CDW2 /* \_SB_.UNC3._OSC.CDW2 */ + CTRL = CDW3 /* \_SB_.UNC3._OSC.CDW3 */ + If ((AHPE || ((SUPP & 0x16) != 0x16))) + { + CTRL &= 0x1E + Sleep (0x03E8) + } + + CTRL &= 0x1D + If (!PEPM) + { + CTRL &= 0x1B + } + + If (!PEER) + { + CTRL &= 0x15 + } + + If (!PECS) + { + CTRL &= 0x0F + } + + If (~(CDW1 & 0x01)) + { + If ((CTRL & 0x01)) + { + ^^PCI0.BR1A.OSHP () + ^^PCI0.BR1B.OSHP () + ^^PCI0.BR2A.OSHP () + ^^PCI0.BR2B.OSHP () + ^^PCI0.BR2C.OSHP () + ^^PCI0.BR2D.OSHP () + ^^PCI0.BR3A.OSHP () + ^^PCI0.BR3B.OSHP () + ^^PCI0.BR3C.OSHP () + ^^PCI0.BR3D.OSHP () + ^^PCI1.QRP0.OSHP () + ^^PCI1.QR1A.OSHP () + ^^PCI1.QR1B.OSHP () + ^^PCI1.QR2A.OSHP () + ^^PCI1.QR2B.OSHP () + ^^PCI1.QR2C.OSHP () + ^^PCI1.QR2D.OSHP () + ^^PCI1.QR3A.OSHP () + ^^PCI1.QR3B.OSHP () + ^^PCI1.QR3C.OSHP () + ^^PCI1.QR3D.OSHP () + ^^PCI2.RRP0.OSHP () + ^^PCI2.RR1A.OSHP () + ^^PCI2.RR1B.OSHP () + ^^PCI2.RR2A.OSHP () + ^^PCI2.RR2B.OSHP () + ^^PCI2.RR2C.OSHP () + ^^PCI2.RR2D.OSHP () + ^^PCI2.RR3A.OSHP () + ^^PCI2.RR3B.OSHP () + ^^PCI2.RR3C.OSHP () + ^^PCI2.RR3D.OSHP () + ^^PCI3.SRP0.OSHP () + ^^PCI3.SR1A.OSHP () + ^^PCI3.SR1B.OSHP () + ^^PCI3.SR2A.OSHP () + ^^PCI3.SR2B.OSHP () + ^^PCI3.SR2C.OSHP () + ^^PCI3.SR2D.OSHP () + ^^PCI3.SR3A.OSHP () + ^^PCI3.SR3B.OSHP () + ^^PCI3.SR3C.OSHP () + ^^PCI3.SR3D.OSHP () + GPSH = 0x01 + } + } + + If ((Arg1 != One)) + { + CDW1 |= 0x08 + } + + If ((CDW3 != CTRL)) + { + CDW1 |= 0x10 + } + + CDW3 = CTRL /* \_SB_.UNC3.CTRL */ + Return (Arg3) + } + Else + { + CDW1 |= 0x04 + IO80 = 0xEE + Return (Arg3) + } + } + + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Granularity + 0x00FF, // Range Minimum + 0x00FF, // Range Maximum + 0x0000, // Translation Offset + 0x0001, // Length + ,, ) + }) + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If ((PICM == Zero)) + { + Return (PRUN) /* \_SB_.PRUN */ + } + + Return (ARUN) /* \_SB_.ARUN */ + } + } + + Device (UNC2) + { + Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID + Name (_UID, 0xBF) // _UID: Unique ID + Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number + { + Return (BBU2) /* \BBU2 */ + } + + Name (_ADR, 0x00) // _ADR: Address + Name (_EJD, "\\_SB.SCK2") // _EJD: Ejection Dependent Device + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (USTA (0x02)) + } + + Name (SUPP, 0x00) + Name (CTRL, 0x00) + Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities + { + CreateDWordField (Arg3, 0x00, CDW1) + CreateDWordField (Arg3, 0x04, CDW2) + If ((Arg2 > 0x02)) + { + CreateDWordField (Arg3, 0x08, CDW3) + } + + If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) + { + SUPP = CDW2 /* \_SB_.UNC2._OSC.CDW2 */ + CTRL = CDW3 /* \_SB_.UNC2._OSC.CDW3 */ + If ((AHPE || ((SUPP & 0x16) != 0x16))) + { + CTRL &= 0x1E + Sleep (0x03E8) + } + + CTRL &= 0x1D + If (!PEPM) + { + CTRL &= 0x1B + } + + If (!PEER) + { + CTRL &= 0x15 + } + + If (!PECS) + { + CTRL &= 0x0F + } + + If (~(CDW1 & 0x01)) + { + If ((CTRL & 0x01)) + { + ^^PCI0.BR1A.OSHP () + ^^PCI0.BR1B.OSHP () + ^^PCI0.BR2A.OSHP () + ^^PCI0.BR2B.OSHP () + ^^PCI0.BR2C.OSHP () + ^^PCI0.BR2D.OSHP () + ^^PCI0.BR3A.OSHP () + ^^PCI0.BR3B.OSHP () + ^^PCI0.BR3C.OSHP () + ^^PCI0.BR3D.OSHP () + ^^PCI1.QRP0.OSHP () + ^^PCI1.QR1A.OSHP () + ^^PCI1.QR1B.OSHP () + ^^PCI1.QR2A.OSHP () + ^^PCI1.QR2B.OSHP () + ^^PCI1.QR2C.OSHP () + ^^PCI1.QR2D.OSHP () + ^^PCI1.QR3A.OSHP () + ^^PCI1.QR3B.OSHP () + ^^PCI1.QR3C.OSHP () + ^^PCI1.QR3D.OSHP () + ^^PCI2.RRP0.OSHP () + ^^PCI2.RR1A.OSHP () + ^^PCI2.RR1B.OSHP () + ^^PCI2.RR2A.OSHP () + ^^PCI2.RR2B.OSHP () + ^^PCI2.RR2C.OSHP () + ^^PCI2.RR2D.OSHP () + ^^PCI2.RR3A.OSHP () + ^^PCI2.RR3B.OSHP () + ^^PCI2.RR3C.OSHP () + ^^PCI2.RR3D.OSHP () + ^^PCI3.SRP0.OSHP () + ^^PCI3.SR1A.OSHP () + ^^PCI3.SR1B.OSHP () + ^^PCI3.SR2A.OSHP () + ^^PCI3.SR2B.OSHP () + ^^PCI3.SR2C.OSHP () + ^^PCI3.SR2D.OSHP () + ^^PCI3.SR3A.OSHP () + ^^PCI3.SR3B.OSHP () + ^^PCI3.SR3C.OSHP () + ^^PCI3.SR3D.OSHP () + GPSH = 0x01 + } + } + + If ((Arg1 != One)) + { + CDW1 |= 0x08 + } + + If ((CDW3 != CTRL)) + { + CDW1 |= 0x10 + } + + CDW3 = CTRL /* \_SB_.UNC2.CTRL */ + Return (Arg3) + } + Else + { + CDW1 |= 0x04 + IO80 = 0xEE + Return (Arg3) + } + } + + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Granularity + 0x00FF, // Range Minimum + 0x00FF, // Range Maximum + 0x0000, // Translation Offset + 0x0001, // Length + ,, ) + }) + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If ((PICM == Zero)) + { + Return (PRUN) /* \_SB_.PRUN */ + } + + Return (ARUN) /* \_SB_.ARUN */ + } + } + + Device (UNC1) + { + Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID + Name (_UID, 0x7F) // _UID: Unique ID + Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number + { + Return (BBU1) /* \BBU1 */ + } + + Name (_ADR, 0x00) // _ADR: Address + Name (_EJD, "\\_SB.SCK1") // _EJD: Ejection Dependent Device + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (USTA (0x01)) + } + + Name (SUPP, 0x00) + Name (CTRL, 0x00) + Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities + { + CreateDWordField (Arg3, 0x00, CDW1) + CreateDWordField (Arg3, 0x04, CDW2) + If ((Arg2 > 0x02)) + { + CreateDWordField (Arg3, 0x08, CDW3) + } + + If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) + { + SUPP = CDW2 /* \_SB_.UNC1._OSC.CDW2 */ + CTRL = CDW3 /* \_SB_.UNC1._OSC.CDW3 */ + If ((AHPE || ((SUPP & 0x16) != 0x16))) + { + CTRL &= 0x1E + Sleep (0x03E8) + } + + CTRL &= 0x1D + If (!PEPM) + { + CTRL &= 0x1B + } + + If (!PEER) + { + CTRL &= 0x15 + } + + If (!PECS) + { + CTRL &= 0x0F + } + + If (~(CDW1 & 0x01)) + { + If ((CTRL & 0x01)) + { + ^^PCI0.BR1A.OSHP () + ^^PCI0.BR1B.OSHP () + ^^PCI0.BR2A.OSHP () + ^^PCI0.BR2B.OSHP () + ^^PCI0.BR2C.OSHP () + ^^PCI0.BR2D.OSHP () + ^^PCI0.BR3A.OSHP () + ^^PCI0.BR3B.OSHP () + ^^PCI0.BR3C.OSHP () + ^^PCI0.BR3D.OSHP () + ^^PCI1.QRP0.OSHP () + ^^PCI1.QR1A.OSHP () + ^^PCI1.QR1B.OSHP () + ^^PCI1.QR2A.OSHP () + ^^PCI1.QR2B.OSHP () + ^^PCI1.QR2C.OSHP () + ^^PCI1.QR2D.OSHP () + ^^PCI1.QR3A.OSHP () + ^^PCI1.QR3B.OSHP () + ^^PCI1.QR3C.OSHP () + ^^PCI1.QR3D.OSHP () + ^^PCI2.RRP0.OSHP () + ^^PCI2.RR1A.OSHP () + ^^PCI2.RR1B.OSHP () + ^^PCI2.RR2A.OSHP () + ^^PCI2.RR2B.OSHP () + ^^PCI2.RR2C.OSHP () + ^^PCI2.RR2D.OSHP () + ^^PCI2.RR3A.OSHP () + ^^PCI2.RR3B.OSHP () + ^^PCI2.RR3C.OSHP () + ^^PCI2.RR3D.OSHP () + ^^PCI3.SRP0.OSHP () + ^^PCI3.SR1A.OSHP () + ^^PCI3.SR1B.OSHP () + ^^PCI3.SR2A.OSHP () + ^^PCI3.SR2B.OSHP () + ^^PCI3.SR2C.OSHP () + ^^PCI3.SR2D.OSHP () + ^^PCI3.SR3A.OSHP () + ^^PCI3.SR3B.OSHP () + ^^PCI3.SR3C.OSHP () + ^^PCI3.SR3D.OSHP () + GPSH = 0x01 + } + } + + If ((Arg1 != One)) + { + CDW1 |= 0x08 + } + + If ((CDW3 != CTRL)) + { + CDW1 |= 0x10 + } + + CDW3 = CTRL /* \_SB_.UNC1.CTRL */ + Return (Arg3) + } + Else + { + CDW1 |= 0x04 + IO80 = 0xEE + Return (Arg3) + } + } + + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Granularity + 0x00FF, // Range Minimum + 0x00FF, // Range Maximum + 0x0000, // Translation Offset + 0x0001, // Length + ,, ) + }) + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If ((PICM == Zero)) + { + Return (PRUN) /* \_SB_.PRUN */ + } + + Return (ARUN) /* \_SB_.ARUN */ + } + } + + Device (UNC0) + { + Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID + Name (_UID, 0x3F) // _UID: Unique ID + Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number + { + Return (BBU0) /* \BBU0 */ + } + + Name (_ADR, 0x00) // _ADR: Address + Name (_EJD, "\\_SB.SCK0") // _EJD: Ejection Dependent Device + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (USTA (0x00)) + } + + Name (SUPP, 0x00) + Name (CTRL, 0x00) + Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities + { + CreateDWordField (Arg3, 0x00, CDW1) + CreateDWordField (Arg3, 0x04, CDW2) + If ((Arg2 > 0x02)) + { + CreateDWordField (Arg3, 0x08, CDW3) + } + + If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */)) + { + Return (^^PCI0.XHCI.POSC (Arg1, Arg2, Arg3)) + } + ElseIf ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) + { + SUPP = CDW2 /* \_SB_.UNC0._OSC.CDW2 */ + CTRL = CDW3 /* \_SB_.UNC0._OSC.CDW3 */ + If ((AHPE || ((SUPP & 0x16) != 0x16))) + { + CTRL &= 0x1E + Sleep (0x03E8) + } + + CTRL &= 0x1D + If (!PEPM) + { + CTRL &= 0x1B + } + + If (!PEER) + { + CTRL &= 0x15 + } + + If (!PECS) + { + CTRL &= 0x0F + } + + If (~(CDW1 & 0x01)) + { + If ((CTRL & 0x01)) + { + ^^PCI0.BR1A.OSHP () + ^^PCI0.BR1B.OSHP () + ^^PCI0.BR2A.OSHP () + ^^PCI0.BR2B.OSHP () + ^^PCI0.BR2C.OSHP () + ^^PCI0.BR2D.OSHP () + ^^PCI0.BR3A.OSHP () + ^^PCI0.BR3B.OSHP () + ^^PCI0.BR3C.OSHP () + ^^PCI0.BR3D.OSHP () + ^^PCI1.QRP0.OSHP () + ^^PCI1.QR1A.OSHP () + ^^PCI1.QR1B.OSHP () + ^^PCI1.QR2A.OSHP () + ^^PCI1.QR2B.OSHP () + ^^PCI1.QR2C.OSHP () + ^^PCI1.QR2D.OSHP () + ^^PCI1.QR3A.OSHP () + ^^PCI1.QR3B.OSHP () + ^^PCI1.QR3C.OSHP () + ^^PCI1.QR3D.OSHP () + ^^PCI2.RRP0.OSHP () + ^^PCI2.RR1A.OSHP () + ^^PCI2.RR1B.OSHP () + ^^PCI2.RR2A.OSHP () + ^^PCI2.RR2B.OSHP () + ^^PCI2.RR2C.OSHP () + ^^PCI2.RR2D.OSHP () + ^^PCI2.RR3A.OSHP () + ^^PCI2.RR3B.OSHP () + ^^PCI2.RR3C.OSHP () + ^^PCI2.RR3D.OSHP () + ^^PCI3.SRP0.OSHP () + ^^PCI3.SR1A.OSHP () + ^^PCI3.SR1B.OSHP () + ^^PCI3.SR2A.OSHP () + ^^PCI3.SR2B.OSHP () + ^^PCI3.SR2C.OSHP () + ^^PCI3.SR2D.OSHP () + ^^PCI3.SR3A.OSHP () + ^^PCI3.SR3B.OSHP () + ^^PCI3.SR3C.OSHP () + ^^PCI3.SR3D.OSHP () + GPSH = 0x01 + } + } + + If ((Arg1 != One)) + { + CDW1 |= 0x08 + } + + If ((CDW3 != CTRL)) + { + CDW1 |= 0x10 + } + + CDW3 = CTRL /* \_SB_.UNC0.CTRL */ + Return (Arg3) + } + Else + { + CDW1 |= 0x04 + IO80 = 0xEE + Return (Arg3) + } + } + + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Granularity + 0x00FF, // Range Minimum + 0x00FF, // Range Maximum + 0x0000, // Translation Offset + 0x0001, // Length + ,, ) + }) + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If ((PICM == Zero)) + { + Return (PRUN) /* \_SB_.PRUN */ + } + + Return (ARUN) /* \_SB_.ARUN */ + } + } + } + + Method (IWAK, 1, Serialized) + { + IO80 = 0x73 + If ((\_SB.PCI0.RP01.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.RP01, 0x00) // Bus Check + } + + If ((\_SB.PCI0.RP02.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.RP02, 0x00) // Bus Check + } + + If ((\_SB.PCI0.RP03.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.RP03, 0x00) // Bus Check + } + + If ((\_SB.PCI0.RP04.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.RP04, 0x00) // Bus Check + } + + If ((\_SB.PCI0.RP05.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.RP05, 0x00) // Bus Check + } + + If ((\_SB.PCI0.RP06.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.RP06, 0x00) // Bus Check + } + + If ((\_SB.PCI0.RP07.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.RP07, 0x00) // Bus Check + } + + If ((\_SB.PCI0.RP08.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.RP08, 0x00) // Bus Check + } + + Notify (\_SB.PCI0.EHC1, 0x00) // Bus Check + Notify (\_SB.PCI0.EHC2, 0x00) // Bus Check + If (((Arg0 == 0x03) || (Arg0 == 0x04))) + { + \_SB.PCI0.XHCI.XWAK () + } + + If ((Arg0 == 0x03)) + { + \_SB.SMIS = 0xE1 + \_SB.SMIC = 0xBE + } + + Return (Package (0x02) + { + 0x00, + 0x00 + }) + } + + Scope (_SB) + { + Scope (\_SB) + { + Method (PSTA, 1, NotSerialized) + { + Local6 = (PRBM >> Arg0) + Local6 &= 0x01 + If ((Local6 == 0x00)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (TMID, 2, NotSerialized) + { + Local0 = (Arg0 * 0x02) + Local1 = (Local0 + Arg1) + Return (Local1) + } + + Name (APTC, Buffer (0x30) + { + /* 0000 */ 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x01, 0x03, // ........ + /* 0008 */ 0x05, 0x07, 0x09, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, // ........ + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // ........ + /* 0018 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // ........ + /* 0020 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // ........ + /* 0028 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF // ........ + }) + Method (TPID, 2, NotSerialized) + { + Local0 = 0x00 + If ((Arg0 == 0x00)) + { + Local0 = P0ID /* \P0ID */ + } + + If ((Arg0 == 0x01)) + { + Local0 = P1ID /* \P1ID */ + } + + If ((Arg0 == 0x02)) + { + Local0 = P2ID /* \P2ID */ + } + + If ((Arg0 == 0x03)) + { + Local0 = P3ID /* \P3ID */ + } + + Local0 += DerefOf (APTC [Arg1]) + Return (Local0) + } + + Method (MSTA, 1, NotSerialized) + { + Local6 = (MEBM >> Arg0) + Local6 &= 0x01 + If ((Local6 == 0x00)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (CSTA, 2, NotSerialized) + { + Local0 = 0x00 + Local1 = 0x00 + Local1 = TPID (Arg0, Arg1) + Local2 = 0x00 + Local2 += DerefOf (APTC [Arg1]) + If ((Local2 == 0xFF)) + { + Return (0x00) + } + + If ((Arg0 == 0x00)) + { + Local0 = (P0BM >> Local2) + } + + If ((Arg0 == 0x01)) + { + Local0 = (P1BM >> Local2) + } + + If ((Arg0 == 0x02)) + { + Local0 = (P2BM >> Local2) + } + + If ((Arg0 == 0x03)) + { + Local0 = (P3BM >> Local2) + } + + Local0 &= 0x01 + If ((Local0 == 0x00)) + { + Return (0x00) + } + Else + { + Return (0x01) + } + } + + Method (LAPC, 2, NotSerialized) + { + Name (APIC, Buffer (0x08){}) + CreateByteField (APIC, 0x00, TYPE) + CreateByteField (APIC, 0x01, LLEN) + CreateByteField (APIC, 0x02, PRID) + CreateByteField (APIC, 0x03, APID) + CreateDWordField (APIC, 0x04, FLAG) + TYPE = 0x00 + LLEN = 0x08 + APID = TPID (Arg0, Arg1) + If ((CSTA (Arg0, Arg1) == 0x00)) + { + FLAG = 0x00 + PRID = 0xFF + APID = 0xFF + } + Else + { + Local0 = APID /* \_SB_.LAPC.APID */ + PRID = Local0 + FLAG = 0x01 + } + + Return (APIC) /* \_SB_.LAPC.APIC */ + } + + Device (SCK0) + { + Name (_HID, "ACPI0004" /* Module Device */) // _HID: Hardware ID + Name (_UID, "CPUSCK0") // _UID: Unique ID + Name (LSTA, 0xFF) + Method (_STA, 0, NotSerialized) // _STA: Status + { + CUU0 = "CPUSCK0" + Local0 = PSTA (0x00) + Local1 = (Local0 & 0x03) + If (((LSTA != 0xFF) && (Local1 != LSTA))) + { + If ((Local1 == 0x03)){} + Else + { + } + } + + LSTA = Local1 + Return (Local0) + } + + Method (THNU, 0, NotSerialized) + { + Local0 = 0x00 + Local1 = P0BM /* \P0BM */ + While (Local1) + { + Local0 += (Local1 & 0x01) + Local1 >>= 0x01 + } + + Return ((0x00 | Local0)) + } + + Processor (CP00, 0x00, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP00") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x00]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x00) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x00)) + } + } + + Processor (CP01, 0x02, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP01") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x01]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x01) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x01)) + } + } + + Processor (CP02, 0x04, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP02") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x02]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x02) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x02)) + } + } + + Processor (CP03, 0x06, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP03") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x03]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x03) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x03)) + } + } + + Processor (CP04, 0x08, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP04") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x04]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x04) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x04)) + } + } + + Processor (CP05, 0x0A, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP05") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x05]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x05) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x05)) + } + } + + Processor (CP06, 0x01, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP06") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x06]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x06) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x06)) + } + } + + Processor (CP07, 0x03, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP07") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x07]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x07) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x07)) + } + } + + Processor (CP08, 0x05, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP08") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x08]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x08) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x08)) + } + } + + Processor (CP09, 0x07, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP09") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x09]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x09) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x09)) + } + } + + Processor (CP0A, 0x09, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP0A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x0A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x0A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x0A)) + } + } + + Processor (CP0B, 0x0B, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP0B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x0B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x0B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x0B)) + } + } + + Processor (CP0C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP0C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x0C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x0C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x0C)) + } + } + + Processor (CP0D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP0D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x0D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x0D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x0D)) + } + } + + Processor (CP0E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP0E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x0E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x0E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x0E)) + } + } + + Processor (CP0F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP0F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x0F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x0F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x0F)) + } + } + + Processor (CP10, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP10") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x10]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x10) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x10)) + } + } + + Processor (CP11, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP11") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x11]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x11) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x11)) + } + } + + Processor (CP12, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP12") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x12]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x12) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x12)) + } + } + + Processor (CP13, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP13") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x13]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x13) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x13)) + } + } + + Processor (CP14, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP14") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x14]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x14) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x14)) + } + } + + Processor (CP15, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP15") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x15]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x15) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x15)) + } + } + + Processor (CP16, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP16") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x16]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x16) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x16)) + } + } + + Processor (CP17, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP17") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x17]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x17) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x17)) + } + } + + Processor (CP18, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP18") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x18]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x18) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x18)) + } + } + + Processor (CP19, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP19") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x19]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x19) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x19)) + } + } + + Processor (CP1A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP1A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x1A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x1A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x1A)) + } + } + + Processor (CP1B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP1B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x1B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x1B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x1B)) + } + } + + Processor (CP1C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP1C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x1C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x1C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x1C)) + } + } + + Processor (CP1D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP1D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x1D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x1D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x1D)) + } + } + + Processor (CP1E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP1E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x1E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x1E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x1E)) + } + } + + Processor (CP1F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP1F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x1F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x1F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x1F)) + } + } + + Processor (CP20, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP20") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x20]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x20) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x20)) + } + } + + Processor (CP21, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP21") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x21]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x21) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x21)) + } + } + + Processor (CP22, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP22") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x22]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x22) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x22)) + } + } + + Processor (CP23, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP23") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x23]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x23) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x23)) + } + } + + Processor (CP24, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP24") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x24]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x24) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x24)) + } + } + + Processor (CP25, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP25") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x25]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x25) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x25)) + } + } + + Processor (CP26, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP26") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x26]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x26) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x26)) + } + } + + Processor (CP27, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP27") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x27]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x27) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x27)) + } + } + + Processor (CP28, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP28") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x28]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x28) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x28)) + } + } + + Processor (CP29, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP29") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x29]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x29) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x29)) + } + } + + Processor (CP2A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP2A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x2A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x2A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x2A)) + } + } + + Processor (CP2B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP2B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x2B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x2B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x2B)) + } + } + + Processor (CP2C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP2C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x2C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x2C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x2C)) + } + } + + Processor (CP2D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP2D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x2D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x2D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x2D)) + } + } + + Processor (CP2E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP2E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x2E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x2E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x2E)) + } + } + + Processor (CP2F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK0-CP2F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x00) + } + Else + { + Local0 = DerefOf (APTC [0x2F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x00 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x00, 0x2F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x00, 0x2F)) + } + } + } + + Device (SCK1) + { + Name (_HID, "ACPI0004" /* Module Device */) // _HID: Hardware ID + Name (_UID, "CPUSCK1") // _UID: Unique ID + Name (LSTA, 0xFF) + Method (_STA, 0, NotSerialized) // _STA: Status + { + CUU1 = "CPUSCK1" + Local0 = PSTA (0x01) + Local1 = (Local0 & 0x03) + If (((LSTA != 0xFF) && (Local1 != LSTA))) + { + If ((Local1 == 0x03)){} + Else + { + } + } + + LSTA = Local1 + Return (Local0) + } + + Method (THNU, 0, NotSerialized) + { + Local0 = 0x00 + Local1 = P1BM /* \P1BM */ + While (Local1) + { + Local0 += (Local1 & 0x01) + Local1 >>= 0x01 + } + + Return ((0x0100 | Local0)) + } + + Processor (CP00, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP00") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x00]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x00) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x00)) + } + } + + Processor (CP01, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP01") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x01]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x01) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x01)) + } + } + + Processor (CP02, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP02") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x02]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x02) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x02)) + } + } + + Processor (CP03, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP03") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x03]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x03) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x03)) + } + } + + Processor (CP04, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP04") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x04]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x04) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x04)) + } + } + + Processor (CP05, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP05") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x05]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x05) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x05)) + } + } + + Processor (CP06, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP06") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x06]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x06) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x06)) + } + } + + Processor (CP07, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP07") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x07]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x07) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x07)) + } + } + + Processor (CP08, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP08") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x08]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x08) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x08)) + } + } + + Processor (CP09, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP09") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x09]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x09) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x09)) + } + } + + Processor (CP0A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP0A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x0A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x0A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x0A)) + } + } + + Processor (CP0B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP0B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x0B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x0B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x0B)) + } + } + + Processor (CP0C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP0C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x0C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x0C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x0C)) + } + } + + Processor (CP0D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP0D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x0D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x0D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x0D)) + } + } + + Processor (CP0E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP0E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x0E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x0E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x0E)) + } + } + + Processor (CP0F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP0F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x0F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x0F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x0F)) + } + } + + Processor (CP10, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP10") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x10]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x10) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x10)) + } + } + + Processor (CP11, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP11") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x11]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x11) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x11)) + } + } + + Processor (CP12, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP12") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x12]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x12) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x12)) + } + } + + Processor (CP13, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP13") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x13]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x13) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x13)) + } + } + + Processor (CP14, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP14") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x14]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x14) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x14)) + } + } + + Processor (CP15, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP15") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x15]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x15) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x15)) + } + } + + Processor (CP16, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP16") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x16]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x16) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x16)) + } + } + + Processor (CP17, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP17") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x17]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x17) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x17)) + } + } + + Processor (CP18, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP18") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x18]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x18) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x18)) + } + } + + Processor (CP19, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP19") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x19]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x19) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x19)) + } + } + + Processor (CP1A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP1A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x1A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x1A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x1A)) + } + } + + Processor (CP1B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP1B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x1B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x1B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x1B)) + } + } + + Processor (CP1C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP1C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x1C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x1C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x1C)) + } + } + + Processor (CP1D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP1D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x1D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x1D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x1D)) + } + } + + Processor (CP1E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP1E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x1E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x1E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x1E)) + } + } + + Processor (CP1F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP1F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x1F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x1F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x1F)) + } + } + + Processor (CP20, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP20") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x20]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x20) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x20)) + } + } + + Processor (CP21, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP21") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x21]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x21) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x21)) + } + } + + Processor (CP22, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP22") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x22]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x22) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x22)) + } + } + + Processor (CP23, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP23") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x23]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x23) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x23)) + } + } + + Processor (CP24, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP24") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x24]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x24) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x24)) + } + } + + Processor (CP25, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP25") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x25]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x25) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x25)) + } + } + + Processor (CP26, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP26") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x26]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x26) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x26)) + } + } + + Processor (CP27, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP27") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x27]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x27) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x27)) + } + } + + Processor (CP28, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP28") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x28]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x28) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x28)) + } + } + + Processor (CP29, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP29") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x29]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x29) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x29)) + } + } + + Processor (CP2A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP2A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x2A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x2A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x2A)) + } + } + + Processor (CP2B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP2B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x2B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x2B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x2B)) + } + } + + Processor (CP2C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP2C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x2C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x2C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x2C)) + } + } + + Processor (CP2D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP2D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x2D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x2D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x2D)) + } + } + + Processor (CP2E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP2E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x2E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x2E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x2E)) + } + } + + Processor (CP2F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK1-CP2F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Local0 = DerefOf (APTC [0x2F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x01 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x01, 0x2F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x01, 0x2F)) + } + } + } + + Device (SCK2) + { + Name (_HID, "ACPI0004" /* Module Device */) // _HID: Hardware ID + Name (_UID, "CPUSCK2") // _UID: Unique ID + Name (LSTA, 0xFF) + Method (_STA, 0, NotSerialized) // _STA: Status + { + CUU2 = "CPUSCK2" + Local0 = PSTA (0x02) + Local1 = (Local0 & 0x03) + If (((LSTA != 0xFF) && (Local1 != LSTA))) + { + If ((Local1 == 0x03)){} + Else + { + } + } + + LSTA = Local1 + Return (Local0) + } + + Method (THNU, 0, NotSerialized) + { + Local0 = 0x00 + Local1 = P2BM /* \P2BM */ + While (Local1) + { + Local0 += (Local1 & 0x01) + Local1 >>= 0x01 + } + + Return ((0x0200 | Local0)) + } + + Processor (CP00, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP00") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x00]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x00) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x00)) + } + } + + Processor (CP01, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP01") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x01]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x01) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x01)) + } + } + + Processor (CP02, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP02") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x02]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x02) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x02)) + } + } + + Processor (CP03, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP03") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x03]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x03) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x03)) + } + } + + Processor (CP04, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP04") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x04]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x04) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x04)) + } + } + + Processor (CP05, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP05") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x05]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x05) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x05)) + } + } + + Processor (CP06, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP06") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x06]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x06) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x06)) + } + } + + Processor (CP07, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP07") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x07]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x07) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x07)) + } + } + + Processor (CP08, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP08") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x08]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x08) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x08)) + } + } + + Processor (CP09, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP09") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x09]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x09) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x09)) + } + } + + Processor (CP0A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP0A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x0A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x0A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x0A)) + } + } + + Processor (CP0B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP0B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x0B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x0B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x0B)) + } + } + + Processor (CP0C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP0C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x0C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x0C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x0C)) + } + } + + Processor (CP0D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP0D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x0D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x0D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x0D)) + } + } + + Processor (CP0E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP0E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x0E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x0E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x0E)) + } + } + + Processor (CP0F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP0F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x0F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x0F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x0F)) + } + } + + Processor (CP10, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP10") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x10]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x10) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x10)) + } + } + + Processor (CP11, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP11") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x11]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x11) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x11)) + } + } + + Processor (CP12, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP12") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x12]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x12) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x12)) + } + } + + Processor (CP13, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP13") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x13]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x13) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x13)) + } + } + + Processor (CP14, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP14") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x14]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x14) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x14)) + } + } + + Processor (CP15, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP15") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x15]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x15) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x15)) + } + } + + Processor (CP16, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP16") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x16]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x16) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x16)) + } + } + + Processor (CP17, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP17") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x17]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x17) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x17)) + } + } + + Processor (CP18, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP18") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x18]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x18) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x18)) + } + } + + Processor (CP19, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP19") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x19]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x19) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x19)) + } + } + + Processor (CP1A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP1A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x1A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x1A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x1A)) + } + } + + Processor (CP1B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP1B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x1B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x1B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x1B)) + } + } + + Processor (CP1C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP1C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x1C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x1C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x1C)) + } + } + + Processor (CP1D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP1D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x1D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x1D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x1D)) + } + } + + Processor (CP1E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP1E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x1E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x1E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x1E)) + } + } + + Processor (CP1F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP1F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x1F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x1F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x1F)) + } + } + + Processor (CP20, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP20") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x20]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x20) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x20)) + } + } + + Processor (CP21, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP21") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x21]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x21) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x21)) + } + } + + Processor (CP22, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP22") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x22]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x22) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x22)) + } + } + + Processor (CP23, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP23") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x23]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x23) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x23)) + } + } + + Processor (CP24, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP24") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x24]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x24) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x24)) + } + } + + Processor (CP25, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP25") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x25]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x25) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x25)) + } + } + + Processor (CP26, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP26") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x26]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x26) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x26)) + } + } + + Processor (CP27, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP27") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x27]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x27) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x27)) + } + } + + Processor (CP28, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP28") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x28]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x28) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x28)) + } + } + + Processor (CP29, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP29") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x29]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x29) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x29)) + } + } + + Processor (CP2A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP2A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x2A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x2A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x2A)) + } + } + + Processor (CP2B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP2B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x2B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x2B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x2B)) + } + } + + Processor (CP2C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP2C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x2C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x2C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x2C)) + } + } + + Processor (CP2D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP2D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x2D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x2D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x2D)) + } + } + + Processor (CP2E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP2E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x2E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x2E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x2E)) + } + } + + Processor (CP2F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK2-CP2F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Local0 = DerefOf (APTC [0x2F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x02 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x02, 0x2F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x02, 0x2F)) + } + } + } + + Device (SCK3) + { + Name (_HID, "ACPI0004" /* Module Device */) // _HID: Hardware ID + Name (_UID, "CPUSCK3") // _UID: Unique ID + Name (LSTA, 0xFF) + Method (_STA, 0, NotSerialized) // _STA: Status + { + CUU3 = "CPUSCK3" + Local0 = PSTA (0x03) + Local1 = (Local0 & 0x03) + If (((LSTA != 0xFF) && (Local1 != LSTA))) + { + If ((Local1 == 0x03)){} + Else + { + } + } + + LSTA = Local1 + Return (Local0) + } + + Method (THNU, 0, NotSerialized) + { + Local0 = 0x00 + Local1 = P3BM /* \P3BM */ + While (Local1) + { + Local0 += (Local1 & 0x01) + Local1 >>= 0x01 + } + + Return ((0x0300 | Local0)) + } + + Processor (CP00, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP00") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x00]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x00) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x00)) + } + } + + Processor (CP01, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP01") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x01]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x01) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x01)) + } + } + + Processor (CP02, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP02") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x02]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x02) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x02)) + } + } + + Processor (CP03, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP03") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x03]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x03) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x03)) + } + } + + Processor (CP04, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP04") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x04]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x04) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x04)) + } + } + + Processor (CP05, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP05") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x05]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x05) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x05)) + } + } + + Processor (CP06, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP06") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x06]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x06) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x06)) + } + } + + Processor (CP07, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP07") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x07]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x07) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x07)) + } + } + + Processor (CP08, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP08") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x08]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x08) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x08)) + } + } + + Processor (CP09, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP09") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x09]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x09) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x09)) + } + } + + Processor (CP0A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP0A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x0A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x0A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x0A)) + } + } + + Processor (CP0B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP0B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x0B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x0B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x0B)) + } + } + + Processor (CP0C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP0C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x0C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x0C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x0C)) + } + } + + Processor (CP0D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP0D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x0D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x0D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x0D)) + } + } + + Processor (CP0E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP0E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x0E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x0E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x0E)) + } + } + + Processor (CP0F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP0F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x0F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x0F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x0F)) + } + } + + Processor (CP10, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP10") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x10]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x10) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x10)) + } + } + + Processor (CP11, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP11") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x11]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x11) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x11)) + } + } + + Processor (CP12, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP12") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x12]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x12) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x12)) + } + } + + Processor (CP13, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP13") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x13]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x13) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x13)) + } + } + + Processor (CP14, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP14") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x14]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x14) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x14)) + } + } + + Processor (CP15, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP15") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x15]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x15) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x15)) + } + } + + Processor (CP16, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP16") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x16]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x16) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x16)) + } + } + + Processor (CP17, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP17") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x17]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x17) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x17)) + } + } + + Processor (CP18, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP18") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x18]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x18) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x18)) + } + } + + Processor (CP19, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP19") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x19]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x19) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x19)) + } + } + + Processor (CP1A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP1A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x1A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x1A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x1A)) + } + } + + Processor (CP1B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP1B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x1B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x1B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x1B)) + } + } + + Processor (CP1C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP1C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x1C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x1C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x1C)) + } + } + + Processor (CP1D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP1D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x1D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x1D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x1D)) + } + } + + Processor (CP1E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP1E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x1E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x1E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x1E)) + } + } + + Processor (CP1F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP1F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x1F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x1F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x1F)) + } + } + + Processor (CP20, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP20") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x20]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x20) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x20)) + } + } + + Processor (CP21, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP21") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x21]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x21) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x21)) + } + } + + Processor (CP22, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP22") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x22]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x22) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x22)) + } + } + + Processor (CP23, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP23") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x23]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x23) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x23)) + } + } + + Processor (CP24, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP24") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x24]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x24) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x24)) + } + } + + Processor (CP25, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP25") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x25]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x25) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x25)) + } + } + + Processor (CP26, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP26") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x26]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x26) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x26)) + } + } + + Processor (CP27, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP27") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x27]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x27) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x27)) + } + } + + Processor (CP28, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP28") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x28]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x28) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x28)) + } + } + + Processor (CP29, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP29") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x29]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x29) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x29)) + } + } + + Processor (CP2A, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP2A") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x2A]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x2A) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x2A)) + } + } + + Processor (CP2B, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP2B") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x2B]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x2B) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x2B)) + } + } + + Processor (CP2C, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP2C") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x2C]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x2C) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x2C)) + } + } + + Processor (CP2D, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP2D") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x2D]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x2D) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x2D)) + } + } + + Processor (CP2E, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP2E") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x2E]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x2E) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x2E)) + } + } + + Processor (CP2F, 0xFF, 0x00000410, 0x06) + { + Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardware ID + Name (_UID, "SCK3-CP2F") // _UID: Unique ID + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Local0 = DerefOf (APTC [0x2F]) + Local1 = CNBS /* \CNBS */ + Local1 -= 0x01 + Local0 >>= Local1 + Local0 &= 0x01 + Local1 = 0x03 + Local1 *= 0x02 + If ((Local0 == 0x01)) + { + Local1 += 0x01 + } + + Return (Local1) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((CSTA (0x03, 0x2F) == 0x00)) + { + Return (0x00) + } + ElseIf ((OSYS >= 0x0C)) + { + Return (0x0F) + } + Else + { + Return (0x0B) + } + } + + Method (_MAT, 0, NotSerialized) // _MAT: Multiple APIC Table Entry + { + Return (LAPC (0x03, 0x2F)) + } + } + } + } + + OperationRegion (IOB2, SystemIO, 0xB2, 0x02) + Field (IOB2, ByteAcc, NoLock, Preserve) + { + SMIC, 8, + SMIS, 8 + } + } + + Scope (_SB) + { + Name (PRSA, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared, ) + {3,4,5,6,7,10,11,12,14,15} + }) + Alias (PRSA, PRSB) + Name (PRSC, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared, ) + {3,4,5,6,10,11,12,14,15} + }) + Alias (PRSC, PRSD) + Alias (PRSA, PRSE) + Alias (PRSA, PRSF) + Alias (PRSA, PRSG) + Alias (PRSA, PRSH) + Name (PG13, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (AG13, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x13 + } + }) + Name (PG14, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKA, + 0x00 + } + }) + Name (AG14, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x10 + } + }) + Name (PG17, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (AG17, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x13 + } + }) + Name (PR00, Package (0x25) + { + Package (0x04) + { + 0x001FFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x001AFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x001BFFFF, + 0x00, + LNKG, + 0x00 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x00, + LNKE, + 0x00 + } + }) + Name (AR00, Package (0x25) + { + Package (0x04) + { + 0x001FFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x001FFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0014FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x001DFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x001AFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x001BFFFF, + 0x00, + 0x00, + 0x16 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x0016FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x001CFFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x01, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x02, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x03, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0x0011FFFF, + 0x00, + 0x00, + 0x10 + }, + + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x18 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x19 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x19 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x19 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x00, + 0x00, + 0x1A + }, + + Package (0x04) + { + 0x0001FFFF, + 0x01, + 0x00, + 0x1C + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + 0x00, + 0x1D + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + 0x00, + 0x1E + }, + + Package (0x04) + { + 0x0002FFFF, + 0x00, + 0x00, + 0x20 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x01, + 0x00, + 0x24 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + 0x00, + 0x25 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + 0x00, + 0x26 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x00, + 0x00, + 0x28 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x01, + 0x00, + 0x2C + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + 0x00, + 0x2D + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + 0x00, + 0x2E + }, + + Package (0x04) + { + 0x0004FFFF, + 0x00, + 0x00, + 0x1F + }, + + Package (0x04) + { + 0x0004FFFF, + 0x01, + 0x00, + 0x27 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x02, + 0x00, + 0x1F + }, + + Package (0x04) + { + 0x0004FFFF, + 0x03, + 0x00, + 0x27 + }, + + Package (0x04) + { + 0x0019FFFF, + 0x00, + 0x00, + 0x14 + } + }) + Name (PG23, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (AG23, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x1A + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x1C + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x1D + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x1E + } + }) + Name (PG24, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (AG24, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x1B + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x1E + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x1C + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x1D + } + }) + Name (PG25, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (AG25, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x20 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x24 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x25 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x26 + } + }) + Name (PG29, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (AG29, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x28 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x2C + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x2D + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x2E + } + }) + Name (PR80, Package (0x14) + { + Package (0x04) + { + 0x0001FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (AR80, Package (0x14) + { + Package (0x04) + { + 0x0001FFFF, + 0x00, + 0x00, + 0x32 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x01, + 0x00, + 0x34 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + 0x00, + 0x35 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + 0x00, + 0x36 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x00, + 0x00, + 0x38 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x01, + 0x00, + 0x3C + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + 0x00, + 0x3D + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + 0x00, + 0x3E + }, + + Package (0x04) + { + 0x0003FFFF, + 0x00, + 0x00, + 0x40 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x01, + 0x00, + 0x44 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + 0x00, + 0x45 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + 0x00, + 0x46 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x00, + 0x00, + 0x37 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x01, + 0x00, + 0x3F + }, + + Package (0x04) + { + 0x0004FFFF, + 0x02, + 0x00, + 0x37 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x03, + 0x00, + 0x3F + }, + + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x30 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x31 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x31 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x31 + } + }) + Name (PRC0, Package (0x14) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (ARC0, Package (0x14) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x48 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x49 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x49 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x49 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x00, + 0x00, + 0x4A + }, + + Package (0x04) + { + 0x0001FFFF, + 0x01, + 0x00, + 0x4C + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + 0x00, + 0x4D + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + 0x00, + 0x4E + }, + + Package (0x04) + { + 0x0002FFFF, + 0x00, + 0x00, + 0x50 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x01, + 0x00, + 0x54 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + 0x00, + 0x55 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + 0x00, + 0x56 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x00, + 0x00, + 0x58 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x01, + 0x00, + 0x5C + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + 0x00, + 0x5D + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + 0x00, + 0x5E + }, + + Package (0x04) + { + 0x0004FFFF, + 0x00, + 0x00, + 0x4F + }, + + Package (0x04) + { + 0x0004FFFF, + 0x01, + 0x00, + 0x57 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x02, + 0x00, + 0x4F + }, + + Package (0x04) + { + 0x0004FFFF, + 0x03, + 0x00, + 0x57 + } + }) + Name (PRE0, Package (0x14) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x00, + LNKA, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x01, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x02, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x03, + LNKD, + 0x00 + } + }) + Name (ARE0, Package (0x14) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x60 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x61 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x61 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x61 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x00, + 0x00, + 0x62 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x01, + 0x00, + 0x64 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x02, + 0x00, + 0x65 + }, + + Package (0x04) + { + 0x0001FFFF, + 0x03, + 0x00, + 0x66 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x00, + 0x00, + 0x68 + }, + + Package (0x04) + { + 0x0002FFFF, + 0x01, + 0x00, + 0x6C + }, + + Package (0x04) + { + 0x0002FFFF, + 0x02, + 0x00, + 0x6D + }, + + Package (0x04) + { + 0x0002FFFF, + 0x03, + 0x00, + 0x6E + }, + + Package (0x04) + { + 0x0003FFFF, + 0x00, + 0x00, + 0x70 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x01, + 0x00, + 0x74 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x02, + 0x00, + 0x75 + }, + + Package (0x04) + { + 0x0003FFFF, + 0x03, + 0x00, + 0x76 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x00, + 0x00, + 0x67 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x01, + 0x00, + 0x6F + }, + + Package (0x04) + { + 0x0004FFFF, + 0x02, + 0x00, + 0x67 + }, + + Package (0x04) + { + 0x0004FFFF, + 0x03, + 0x00, + 0x6F + } + }) + Name (PR1F, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + LNKB, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + LNKC, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + LNKD, + 0x00 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + LNKA, + 0x00 + } + }) + Name (AR1F, Package (0x04) + { + Package (0x04) + { + 0xFFFF, + 0x00, + 0x00, + 0x11 + }, + + Package (0x04) + { + 0xFFFF, + 0x01, + 0x00, + 0x12 + }, + + Package (0x04) + { + 0xFFFF, + 0x02, + 0x00, + 0x13 + }, + + Package (0x04) + { + 0xFFFF, + 0x03, + 0x00, + 0x10 + } + }) + } + + Scope (_SB) + { + Device (PCI0) + { + Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID + Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID + Name (_ADR, 0x00) // _ADR: Address + Method (^BN00, 0, NotSerialized) + { + Return (0x00) + } + + Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number + { + Return (BN00 ()) + } + + Name (_UID, 0x00) // _UID: Unique ID + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AR00) /* \_SB_.AR00 */ + } + + Return (PR00) /* \_SB_.PR00 */ + } + + Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities + { + Name (SUPP, 0x00) + Name (CTRL, 0x00) + CreateDWordField (Arg3, 0x00, CDW1) + CreateDWordField (Arg3, 0x04, CDW2) + If ((Arg2 > 0x02)) + { + CreateDWordField (Arg3, 0x08, CDW3) + } + + If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */)) + { + Return (^XHCI.POSC (Arg1, Arg2, Arg3)) + } + ElseIf ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) + { + SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ + CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ + If ((AHPE || ((SUPP & 0x16) != 0x16))) + { + CTRL &= 0x1E + } + Else + { + } + + CTRL &= 0x1D + If (!PEPM) + { + CTRL &= 0x1B + } + + If (!PEER) + { + CTRL &= 0x15 + } + + If (!PECS) + { + CTRL &= 0x0F + } + + Local0 = _BBN () + If ((Local0 == 0x00)) + { + If (~(CDW1 & 0x01)) + { + If ((CTRL & 0x01)) + { + ^BR1A.OSHP () + ^BR1B.OSHP () + ^BR2A.OSHP () + ^BR2B.OSHP () + ^BR2C.OSHP () + ^BR2D.OSHP () + ^BR3A.OSHP () + ^BR3B.OSHP () + ^BR3C.OSHP () + ^BR3D.OSHP () + ^^PCI1.QRP0.OSHP () + ^^PCI1.QR1A.OSHP () + ^^PCI1.QR1B.OSHP () + ^^PCI1.QR2A.OSHP () + ^^PCI1.QR2B.OSHP () + ^^PCI1.QR2C.OSHP () + ^^PCI1.QR2D.OSHP () + ^^PCI1.QR3A.OSHP () + ^^PCI1.QR3B.OSHP () + ^^PCI1.QR3C.OSHP () + ^^PCI1.QR3D.OSHP () + ^^PCI2.RRP0.OSHP () + ^^PCI2.RR1A.OSHP () + ^^PCI2.RR1B.OSHP () + ^^PCI2.RR2A.OSHP () + ^^PCI2.RR2B.OSHP () + ^^PCI2.RR2C.OSHP () + ^^PCI2.RR2D.OSHP () + ^^PCI2.RR3A.OSHP () + ^^PCI2.RR3B.OSHP () + ^^PCI2.RR3C.OSHP () + ^^PCI2.RR3D.OSHP () + ^^PCI3.SRP0.OSHP () + ^^PCI3.SR1A.OSHP () + ^^PCI3.SR1B.OSHP () + ^^PCI3.SR2A.OSHP () + ^^PCI3.SR2B.OSHP () + ^^PCI3.SR2C.OSHP () + ^^PCI3.SR2D.OSHP () + ^^PCI3.SR3A.OSHP () + ^^PCI3.SR3B.OSHP () + ^^PCI3.SR3C.OSHP () + ^^PCI3.SR3D.OSHP () + GPSH = 0x01 + } + } + } + + If ((Arg1 != One)) + { + CDW1 |= 0x08 + } + + If ((CDW3 != CTRL)) + { + CDW1 |= 0x10 + } + + CDW3 = CTRL /* \_SB_.PCI0._OSC.CTRL */ + Return (Arg3) + } + Else + { + CDW1 |= 0x04 + Return (Arg3) + } + } + + Name (SUPP, 0x00) + Name (CTRL, 0x00) + Name (_PXM, 0x00) // _PXM: Device Proximity + Device (APIC) + { + Name (_HID, EisaId ("PNP0003") /* IO-APIC Interrupt Controller */) // _HID: Hardware ID + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + Memory32Fixed (ReadOnly, + 0xFEC00000, // Address Base + 0x00100000, // Address Length + ) + }) + } + + Device (IIOP) + { + Name (_ADR, 0x00) // _ADR: Address + Name (_UID, "PCI0PRES") // _UID: Unique ID + OperationRegion (IIOR, PCI_Config, 0x00, 0x02) + Field (IIOR, ByteAcc, NoLock, Preserve) + { + VID0, 16 + } + } + + Name (P0RS, ResourceTemplate () + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Granularity + 0x0000, // Range Minimum + 0x00FE, // Range Maximum + 0x0000, // Translation Offset + 0x00FF, // Length + ,, ) + IO (Decode16, + 0x0CF8, // Range Minimum + 0x0CF8, // Range Maximum + 0x01, // Alignment + 0x08, // Length + ) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x0000, // Range Minimum + 0x0CF7, // Range Maximum + 0x0000, // Translation Offset + 0x0CF8, // Length + ,, , TypeStatic, DenseTranslation) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x1000, // Range Minimum + 0xFFFF, // Range Maximum + 0x0000, // Translation Offset + 0xF000, // Length + ,, , TypeStatic, DenseTranslation) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Granularity + 0x000A0000, // Range Minimum + 0x000BFFFF, // Range Maximum + 0x00000000, // Translation Offset + 0x00020000, // Length + ,, , AddressRangeMemory, TypeStatic) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, + 0x00000000, // Granularity + 0x90000000, // Range Minimum + 0xFBFFBFFF, // Range Maximum + 0x00000000, // Translation Offset + 0x6BFFC000, // Length + ,, _Y00, AddressRangeMemory, TypeStatic) + QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, + 0x0000000000000000, // Granularity + 0x0000000000000000, // Range Minimum + 0x0000000000000000, // Range Maximum + 0x0000000000000000, // Translation Offset + 0x0000000000000000, // Length + ,, , AddressRangeMemory, TypeStatic) + }) + OperationRegion (TMEM, PCI_Config, 0x00, 0x0100) + Field (TMEM, ByteAcc, NoLock, Preserve) + { + Offset (0x40), + , 4, + BSEG, 4, + PAMS, 48, + Offset (0x52), + DIM0, 4, + DIM1, 4, + Offset (0x54), + DIM2, 4 + } + + Name (MTBL, Package (0x10) + { + 0x00, + 0x20, + 0x20, + 0x30, + 0x40, + 0x40, + 0x60, + 0x80, + 0x80, + 0x80, + 0x80, + 0xC0, + 0x0100, + 0x0100, + 0x0100, + 0x0200 + }) + Name (ERNG, Package (0x0D) + { + 0x000C0000, + 0x000C4000, + 0x000C8000, + 0x000CC000, + 0x000D0000, + 0x000D4000, + 0x000D8000, + 0x000DC000, + 0x000E0000, + 0x000E4000, + 0x000E8000, + 0x000EC000, + 0x000F0000 + }) + Name (PAMB, Buffer (0x07){}) + Method (EROM, 0, NotSerialized) + { + CreateDWordField (P0RS, \_SB.PCI0._Y00._MIN, RMIN) // _MIN: Minimum Base Address + CreateDWordField (P0RS, \_SB.PCI0._Y00._MAX, RMAX) // _MAX: Maximum Base Address + CreateDWordField (P0RS, \_SB.PCI0._Y00._LEN, RLEN) // _LEN: Length + CreateByteField (PAMB, 0x06, BREG) + PAMB = PAMS /* \_SB_.PCI0.PAMS */ + BREG = BSEG /* \_SB_.PCI0.BSEG */ + RMIN = 0x00 + RMAX = 0x00 + RLEN = 0x00 + Local0 = 0x00 + While ((Local0 < 0x0D)) + { + Local1 = (Local0 >> 0x01) + Local2 = DerefOf (PAMB [Local1]) + If ((Local0 & 0x01)) + { + Local2 >>= 0x04 + } + + Local2 &= 0x03 + If (RMIN) + { + If (Local2) + { + RMAX = (DerefOf (ERNG [Local0]) + 0x3FFF) + If ((RMAX == 0x000F3FFF)) + { + RMAX = 0x000FFFFF + } + + RLEN = (RMAX - RMIN) /* \_SB_.PCI0.EROM.RMIN */ + RLEN++ + } + Else + { + Local0 = 0x0C + } + } + ElseIf (Local2) + { + RMIN = DerefOf (ERNG [Local0]) + RMAX = (DerefOf (ERNG [Local0]) + 0x3FFF) + If ((RMAX == 0x000F3FFF)) + { + RMAX = 0x000FFFFF + } + + RLEN = (RMAX - RMIN) /* \_SB_.PCI0.EROM.RMIN */ + RLEN++ + } + Else + { + } + + Local0++ + } + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Return (P0RS) /* \_SB_.PCI0.P0RS */ + } + + Device (MHP0) + { + Name (_ADR, 0x00050001) // _ADR: Address + Name (_UID, "00-00") // _UID: Unique ID + OperationRegion (MHP0, PCI_Config, 0x00, 0x0100) + Field (MHP0, ByteAcc, NoLock, Preserve) + { + Offset (0x0E), + STM0, 7 + } + } + + Device (MHP1) + { + Name (_ADR, 0x00050001) // _ADR: Address + Name (_UID, "00-01") // _UID: Unique ID + OperationRegion (MHP1, PCI_Config, 0x00, 0x0100) + Field (MHP1, ByteAcc, NoLock, Preserve) + { + Offset (0x1E), + STM1, 7 + } + } + + Scope (\_SB.PCI0) + { + Name (SLI1, Buffer (0x9E) + { + "791369584825Genuine NVIDIA Certified SLI Ready Motherboard for INTEL CRB ef7c-Copyright 2014 NVIDIA Corporation All Rights Reserved-394180768352(R)" + }) + Name (SLI0, Buffer (0x5B) + { + " No SLI key has been loaded because this board does not support SLI. Intel Coporation (R)" + }) + } + + Device (WMI1) + { + Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */) // _HID: Hardware ID + Name (_UID, "MXM2") // _UID: Unique ID + Name (_WDG, Buffer (0x14) + { + /* 0000 */ 0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E, // <\.....N + /* 0008 */ 0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0, // .w...*,. + /* 0010 */ 0x4D, 0x58, 0x01, 0x02 // MX.. + }) + Method (WMMX, 3, NotSerialized) + { + CreateDWordField (Arg2, 0x00, FUNC) + If ((FUNC == 0x41494C53)) + { + Return (SLI1) /* \_SB_.PCI0.SLI1 */ + } + + Return (0x00) + } + } + + Device (LPC0) + { + Name (_ADR, 0x001F0000) // _ADR: Address + OperationRegion (LPCB, PCI_Config, 0x00, 0x0100) + Field (LPCB, DWordAcc, NoLock, Preserve) + { + Offset (0x4C), + GLE0, 1, + Offset (0xAC), + Offset (0xAE), + XSMB, 1 + } + + Device (DMAC) + { + Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x0000, // Range Minimum + 0x0000, // Range Maximum + 0x00, // Alignment + 0x10, // Length + ) + IO (Decode16, + 0x0081, // Range Minimum + 0x0081, // Range Maximum + 0x00, // Alignment + 0x03, // Length + ) + IO (Decode16, + 0x0087, // Range Minimum + 0x0087, // Range Maximum + 0x00, // Alignment + 0x01, // Length + ) + IO (Decode16, + 0x0089, // Range Minimum + 0x0089, // Range Maximum + 0x00, // Alignment + 0x03, // Length + ) + IO (Decode16, + 0x008F, // Range Minimum + 0x008F, // Range Maximum + 0x00, // Alignment + 0x01, // Length + ) + IO (Decode16, + 0x00C0, // Range Minimum + 0x00C0, // Range Maximum + 0x00, // Alignment + 0x20, // Length + ) + DMA (Compatibility, NotBusMaster, Transfer8, ) + {4} + }) + } + + Device (RTC) + { + Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x0070, // Range Minimum + 0x0070, // Range Maximum + 0x01, // Alignment + 0x02, // Length + ) + IO (Decode16, + 0x0074, // Range Minimum + 0x0074, // Range Maximum + 0x01, // Alignment + 0x04, // Length + ) + IRQNoFlags () + {8} + }) + } + + Device (PIC) + { + Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x0020, // Range Minimum + 0x0020, // Range Maximum + 0x01, // Alignment + 0x1E, // Length + ) + IO (Decode16, + 0x00A0, // Range Minimum + 0x00A0, // Range Maximum + 0x01, // Alignment + 0x1E, // Length + ) + IO (Decode16, + 0x04D0, // Range Minimum + 0x04D0, // Range Maximum + 0x01, // Alignment + 0x02, // Length + ) + }) + } + + Device (FPU) + { + Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x00F0, // Range Minimum + 0x00F0, // Range Maximum + 0x01, // Alignment + 0x01, // Length + ) + IRQNoFlags () + {13} + }) + } + + Device (TMR) + { + Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x0040, // Range Minimum + 0x0040, // Range Maximum + 0x01, // Alignment + 0x04, // Length + ) + IO (Decode16, + 0x0050, // Range Minimum + 0x0050, // Range Maximum + 0x01, // Alignment + 0x04, // Length + ) + IRQNoFlags () + {0} + }) + } + + Device (SPKR) + { + Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x0061, // Range Minimum + 0x0061, // Range Maximum + 0x01, // Alignment + 0x01, // Length + ) + }) + } + + Device (HPET) + { + Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID + OperationRegion (HPTC, SystemMemory, 0xFED1F404, 0x04) + Field (HPTC, DWordAcc, NoLock, Preserve) + { + HPTS, 2, + , 5, + HPTE, 1, + Offset (0x04) + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If (HPTE) + { + Return (0x0F) + } + Else + { + Return (0x00) + } + } + + Name (CRS0, ResourceTemplate () + { + Memory32Fixed (ReadWrite, + 0xFED00000, // Address Base + 0x00000400, // Address Length + ) + }) + Name (CRS1, ResourceTemplate () + { + Memory32Fixed (ReadWrite, + 0xFED01000, // Address Base + 0x00000400, // Address Length + ) + }) + Name (CRS2, ResourceTemplate () + { + Memory32Fixed (ReadWrite, + 0xFED02000, // Address Base + 0x00000400, // Address Length + ) + }) + Name (CRS3, ResourceTemplate () + { + Memory32Fixed (ReadWrite, + 0xFED03000, // Address Base + 0x00000400, // Address Length + ) + }) + Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings + { + Switch (ToInteger (HPTS)) + { + Case (0x00) + { + Return (CRS0) /* \_SB_.PCI0.LPC0.HPET.CRS0 */ + } + Case (0x01) + { + Return (CRS1) /* \_SB_.PCI0.LPC0.HPET.CRS1 */ + } + Case (0x02) + { + Return (CRS2) /* \_SB_.PCI0.LPC0.HPET.CRS2 */ + } + Case (0x03) + { + Return (CRS3) /* \_SB_.PCI0.LPC0.HPET.CRS3 */ + } + + } + + Return (CRS0) /* \_SB_.PCI0.LPC0.HPET.CRS0 */ + } + } + + Device (XTRA) + { + Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID + Name (_UID, 0x10) // _UID: Unique ID + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x0500, // Range Minimum + 0x0500, // Range Maximum + 0x01, // Alignment + 0x80, // Length + ) + IO (Decode16, + 0x0400, // Range Minimum + 0x0400, // Range Maximum + 0x01, // Alignment + 0x80, // Length + ) + IO (Decode16, + 0x0092, // Range Minimum + 0x0092, // Range Maximum + 0x01, // Alignment + 0x01, // Length + ) + IO (Decode16, + 0x0010, // Range Minimum + 0x0010, // Range Maximum + 0x01, // Alignment + 0x10, // Length + ) + IO (Decode16, + 0x0072, // Range Minimum + 0x0072, // Range Maximum + 0x01, // Alignment + 0x02, // Length + ) + IO (Decode16, + 0x0080, // Range Minimum + 0x0080, // Range Maximum + 0x01, // Alignment + 0x01, // Length + ) + IO (Decode16, + 0x0084, // Range Minimum + 0x0084, // Range Maximum + 0x01, // Alignment + 0x03, // Length + ) + IO (Decode16, + 0x0088, // Range Minimum + 0x0088, // Range Maximum + 0x01, // Alignment + 0x01, // Length + ) + IO (Decode16, + 0x008C, // Range Minimum + 0x008C, // Range Maximum + 0x01, // Alignment + 0x03, // Length + ) + IO (Decode16, + 0x0090, // Range Minimum + 0x0090, // Range Maximum + 0x01, // Alignment + 0x10, // Length + ) + IO (Decode16, + 0x0580, // Range Minimum + 0x0580, // Range Maximum + 0x01, // Alignment + 0x20, // Length + ) + IO (Decode16, + 0x0600, // Range Minimum + 0x0600, // Range Maximum + 0x01, // Alignment + 0x20, // Length + ) + IO (Decode16, + 0x0880, // Range Minimum + 0x0880, // Range Maximum + 0x01, // Alignment + 0x04, // Length + ) + IO (Decode16, + 0x0800, // Range Minimum + 0x0800, // Range Maximum + 0x01, // Alignment + 0x20, // Length + ) + Memory32Fixed (ReadOnly, + 0xFED1C000, // Address Base + 0x00024000, // Address Length + ) + Memory32Fixed (ReadOnly, + 0xFED45000, // Address Base + 0x00047000, // Address Length + ) + Memory32Fixed (ReadOnly, + 0xFF000000, // Address Base + 0x01000000, // Address Length + ) + Memory32Fixed (ReadOnly, + 0xFEE00000, // Address Base + 0x00100000, // Address Length + ) + Memory32Fixed (ReadWrite, + 0xFED12000, // Address Base + 0x00000010, // Address Length + ) + Memory32Fixed (ReadWrite, + 0xFED12010, // Address Base + 0x00000010, // Address Length + ) + Memory32Fixed (ReadOnly, + 0xFED1B000, // Address Base + 0x00001000, // Address Length + ) + }) + } + + OperationRegion (LPCR, PCI_Config, 0x80, 0x04) + Field (LPCR, ByteAcc, NoLock, Preserve) + { + CADR, 3, + , 1, + CBDR, 3, + Offset (0x01), + LTDR, 2, + , 2, + FDDR, 1, + Offset (0x02), + CALE, 1, + CBLE, 1, + LTLE, 1, + FDLE, 1, + Offset (0x03), + GLLE, 1, + GHLE, 1, + KCLE, 1, + MCLE, 1, + C1LE, 1, + C2LE, 1, + Offset (0x04) + } + + OperationRegion (SMIE, SystemIO, PMBA, 0x04) + Field (SMIE, ByteAcc, NoLock, Preserve) + { + , 10, + RTCS, 1, + , 3, + PEXS, 1, + WAKS, 1, + Offset (0x03), + PWBT, 1, + Offset (0x04) + } + + OperationRegion (SLPR, SystemIO, SMCR, 0x08) + Field (SLPR, ByteAcc, NoLock, Preserve) + { + , 4, + SLPE, 1, + , 31, + SLPX, 1, + Offset (0x08) + } + + Method (UXDV, 1, Serialized) + { + Local0 = 0xFF + Switch ((Arg0 + 0x00)) + { + Case (0x03F8) + { + Local0 = 0x00 + } + Case (0x02F8) + { + Local0 = 0x01 + } + Case (0x0220) + { + Local0 = 0x02 + } + Case (0x0228) + { + Local0 = 0x03 + } + Case (0x0238) + { + Local0 = 0x04 + } + Case (0x02E8) + { + Local0 = 0x05 + } + Case (0x0338) + { + Local0 = 0x06 + } + Case (0x03E8) + { + Local0 = 0x07 + } + + } + + Return (Local0) + } + + Method (RRIO, 4, Serialized) + { + Switch ((Arg0 + 0x00)) + { + Case (0x00) + { + CALE = 0x00 + Local0 = UXDV (Arg2) + If ((Local0 != 0xFF)) + { + CADR = Local0 + } + + If (Arg1) + { + CALE = 0x01 + } + } + Case (0x01) + { + CBLE = 0x00 + Local0 = UXDV (Arg2) + If ((Local0 != 0xFF)) + { + CBDR = Local0 + } + + If (Arg1) + { + CBLE = 0x01 + } + } + Case (0x02) + { + LTLE = 0x00 + If ((Arg2 == 0x0378)) + { + LTDR = 0x00 + } + + If ((Arg2 == 0x0278)) + { + LTDR = 0x01 + } + + If ((Arg2 == 0x03BC)) + { + LTDR = 0x02 + } + + If (Arg1) + { + LTLE = 0x01 + } + } + Case (0x03) + { + FDLE = 0x00 + If ((Arg2 == 0x03F0)) + { + FDDR = 0x00 + } + + If ((Arg2 == 0x0370)) + { + FDDR = 0x01 + } + + If (Arg1) + { + FDLE = 0x01 + } + } + Case (0x08) + { + If ((Arg2 == 0x0200)) + { + If (Arg1) + { + GLLE = 0x01 + } + Else + { + GLLE = 0x00 + } + } + + If ((Arg2 == 0x0208)) + { + If (Arg1) + { + GHLE = 0x01 + } + Else + { + GHLE = 0x00 + } + } + } + Case (0x09) + { + If ((Arg2 == 0x0200)) + { + If (Arg1) + { + GLLE = 0x01 + } + Else + { + GLLE = 0x00 + } + } + + If ((Arg2 == 0x0208)) + { + If (Arg1) + { + GHLE = 0x01 + } + Else + { + GHLE = 0x00 + } + } + } + Case (0x0A) + { + If (((Arg2 == 0x60) || (Arg2 == 0x64))) + { + If (Arg1) + { + KCLE = 0x01 + } + Else + { + KCLE = 0x00 + } + } + } + Case (0x0B) + { + If (((Arg2 == 0x62) || (Arg2 == 0x66))) + { + If (Arg1) + { + MCLE = 0x01 + } + Else + { + MCLE = 0x00 + } + } + } + Case (0x0C) + { + If ((Arg2 == 0x2E)) + { + If (Arg1) + { + C1LE = 0x01 + } + Else + { + C1LE = 0x00 + } + } + + If ((Arg2 == 0x4E)) + { + If (Arg1) + { + C2LE = 0x01 + } + Else + { + C2LE = 0x00 + } + } + } + Case (0x0D) + { + If ((Arg2 == 0x2E)) + { + If (Arg1) + { + C1LE = 0x01 + } + Else + { + C1LE = 0x00 + } + } + + If ((Arg2 == 0x4E)) + { + If (Arg1) + { + C2LE = 0x01 + } + Else + { + C2LE = 0x00 + } + } + } + + } + } + + Method (RDMA, 3, NotSerialized) + { + } + + Method (SPTS, 1, NotSerialized) + { + SLPX = One + SLPE = One + } + + Method (SWAK, 1, NotSerialized) + { + SLPE = Zero + If (RTCS){} + Else + { + Notify (PWRB, 0x02) // Device Wake + } + } + + Device (SIO1) + { + Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID + Name (_UID, 0x00) // _UID: Unique ID + Name (CRS, ResourceTemplate () + { + IO (Decode16, + 0x0000, // Range Minimum + 0x0000, // Range Maximum + 0x00, // Alignment + 0x00, // Length + _Y01) + IO (Decode16, + 0x0000, // Range Minimum + 0x0000, // Range Maximum + 0x00, // Alignment + 0x00, // Length + _Y02) + IO (Decode16, + 0x0000, // Range Minimum + 0x0000, // Range Maximum + 0x00, // Alignment + 0x00, // Length + _Y03) + IO (Decode16, + 0x0000, // Range Minimum + 0x0000, // Range Maximum + 0x00, // Alignment + 0x00, // Length + _Y04) + }) + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + If (((SP1O < 0x03F0) && (SP1O > 0xF0))) + { + CreateWordField (CRS, \_SB.PCI0.LPC0.SIO1._Y01._MIN, GPI0) // _MIN: Minimum Base Address + CreateWordField (CRS, \_SB.PCI0.LPC0.SIO1._Y01._MAX, GPI1) // _MAX: Maximum Base Address + CreateByteField (CRS, \_SB.PCI0.LPC0.SIO1._Y01._LEN, GPIL) // _LEN: Length + GPI0 = SP1O /* \SP1O */ + GPI1 = SP1O /* \SP1O */ + GPIL = 0x02 + } + + If (IO1B) + { + CreateWordField (CRS, \_SB.PCI0.LPC0.SIO1._Y02._MIN, GP10) // _MIN: Minimum Base Address + CreateWordField (CRS, \_SB.PCI0.LPC0.SIO1._Y02._MAX, GP11) // _MAX: Maximum Base Address + CreateByteField (CRS, \_SB.PCI0.LPC0.SIO1._Y02._LEN, GPL1) // _LEN: Length + GP10 = IO1B /* \IO1B */ + GP11 = IO1B /* \IO1B */ + GPL1 = IO1L /* \IO1L */ + } + + If (IO2B) + { + CreateWordField (CRS, \_SB.PCI0.LPC0.SIO1._Y03._MIN, GP20) // _MIN: Minimum Base Address + CreateWordField (CRS, \_SB.PCI0.LPC0.SIO1._Y03._MAX, GP21) // _MAX: Maximum Base Address + CreateByteField (CRS, \_SB.PCI0.LPC0.SIO1._Y03._LEN, GPL2) // _LEN: Length + GP20 = IO2B /* \IO2B */ + GP21 = IO2B /* \IO2B */ + GPL2 = IO2L /* \IO2L */ + } + + If (IO3B) + { + CreateWordField (CRS, \_SB.PCI0.LPC0.SIO1._Y04._MIN, GP30) // _MIN: Minimum Base Address + CreateWordField (CRS, \_SB.PCI0.LPC0.SIO1._Y04._MAX, GP31) // _MAX: Maximum Base Address + CreateByteField (CRS, \_SB.PCI0.LPC0.SIO1._Y04._LEN, GPL3) // _LEN: Length + GP30 = IO3B /* \IO3B */ + GP31 = IO3B /* \IO3B */ + GPL3 = IO3L /* \IO3L */ + } + + Return (CRS) /* \_SB_.PCI0.LPC0.SIO1.CRS_ */ + } + + Name (DCAT, Package (0x15) + { + 0x02, + 0x03, + 0x01, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0xFF, + 0x05, + 0x0B, + 0xFF, + 0xFF, + 0x05, + 0xFF, + 0x06, + 0xFF, + 0xFF, + 0xFF, + 0xFF + }) + Mutex (MUT0, 0x00) + Method (ENFG, 1, NotSerialized) + { + Acquire (MUT0, 0x0FFF) + INDX = ENTK /* \ENTK */ + INDX = ENTK /* \ENTK */ + LDN = Arg0 + } + + Method (EXFG, 0, NotSerialized) + { + INDX = EXTK /* \EXTK */ + Release (MUT0) + } + + Method (LPTM, 1, NotSerialized) + { + ENFG (CGLD (Arg0)) + Local0 = (OPT0 & 0x02) + EXFG () + Return (Local0) + } + + OperationRegion (IOID, SystemIO, SP1O, 0x02) + Field (IOID, ByteAcc, NoLock, Preserve) + { + INDX, 8, + DATA, 8 + } + + OperationRegion (PM1S, SystemIO, 0x0400, 0x02) + Field (PM1S, ByteAcc, NoLock, Preserve) + { + , 10, + RTCS, 1 + } + + IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) + { + Offset (0x07), + LDN, 8, + Offset (0x21), + SCF1, 8, + SCF2, 8, + SCF3, 8, + SCF4, 8, + SCF5, 8, + SCF6, 8, + Offset (0x28), + CKCF, 8, + Offset (0x30), + ACTR, 8, + Offset (0x60), + IOAH, 8, + IOAL, 8, + IOH2, 8, + IOL2, 8, + Offset (0x70), + INTR, 4, + INTT, 4, + Offset (0x74), + DMCH, 8, + Offset (0xE0), + RGE0, 8, + RGE1, 8, + RGE2, 8, + RGE3, 8, + RGE4, 8, + RGE5, 8, + RGE6, 8, + RGE7, 8, + RGE8, 8, + RGE9, 8, + Offset (0xF0), + OPT0, 8, + OPT1, 8, + OPT2, 8, + OPT3, 8, + OPT4, 8, + OPT5, 8, + OPT6, 8, + OPT7, 8, + OPT8, 8, + OPT9, 8, + OPTA, 8, + OPTB, 8, + OPTC, 8 + } + + Method (CGLD, 1, NotSerialized) + { + Return (DerefOf (DCAT [Arg0])) + } + + Method (DSTA, 1, NotSerialized) + { + ENFG (CGLD (Arg0)) + Local0 = ACTR /* \_SB_.PCI0.LPC0.SIO1.ACTR */ + Local1 = ((IOAH << 0x08) | IOAL) /* \_SB_.PCI0.LPC0.SIO1.IOAL */ + EXFG () + If ((Local0 == 0xFF)) + { + Return (0x00) + } + + Local0 &= 0x01 + If ((Arg0 < 0x10)) + { + IOST |= (Local0 << Arg0) + } + + If (Local0) + { + Return (0x0F) + } + ElseIf ((Arg0 < 0x10)) + { + If (((0x01 << Arg0) & IOST)) + { + Return (0x0D) + } + Else + { + Return (0x00) + } + } + Else + { + If (Local1) + { + Return (0x0D) + } + + Return (0x00) + } + } + + Method (DCNT, 2, NotSerialized) + { + ENFG (CGLD (Arg0)) + If (((DMCH < 0x04) && ((Local1 = (DMCH & 0x03)) != 0x00))) + { + RDMA (Arg0, Arg1, Local1++) + } + + ACTR = Arg1 + Local1 = (IOAH << 0x08) + Local1 |= IOAL + RRIO (Arg0, Arg1, Local1, 0x08) + EXFG () + } + + Name (CRS1, ResourceTemplate () + { + IO (Decode16, + 0x0000, // Range Minimum + 0x0000, // Range Maximum + 0x01, // Alignment + 0x00, // Length + _Y07) + IRQNoFlags (_Y05) + {} + DMA (Compatibility, NotBusMaster, Transfer8, _Y06) + {} + }) + CreateWordField (CRS1, \_SB.PCI0.LPC0.SIO1._Y05._INT, IRQM) // _INT: Interrupts + CreateByteField (CRS1, \_SB.PCI0.LPC0.SIO1._Y06._DMA, DMAM) // _DMA: Direct Memory Access + CreateWordField (CRS1, \_SB.PCI0.LPC0.SIO1._Y07._MIN, IO11) // _MIN: Minimum Base Address + CreateWordField (CRS1, \_SB.PCI0.LPC0.SIO1._Y07._MAX, IO12) // _MAX: Maximum Base Address + CreateByteField (CRS1, \_SB.PCI0.LPC0.SIO1._Y07._LEN, LEN1) // _LEN: Length + Name (CRS2, ResourceTemplate () + { + IO (Decode16, + 0x0000, // Range Minimum + 0x0000, // Range Maximum + 0x01, // Alignment + 0x00, // Length + _Y0A) + IO (Decode16, + 0x0000, // Range Minimum + 0x0000, // Range Maximum + 0x01, // Alignment + 0x00, // Length + _Y0B) + IRQNoFlags (_Y08) + {} + DMA (Compatibility, NotBusMaster, Transfer8, _Y09) + {} + }) + CreateWordField (CRS2, \_SB.PCI0.LPC0.SIO1._Y08._INT, IRQE) // _INT: Interrupts + CreateByteField (CRS2, \_SB.PCI0.LPC0.SIO1._Y09._DMA, DMAE) // _DMA: Direct Memory Access + CreateWordField (CRS2, \_SB.PCI0.LPC0.SIO1._Y0A._MIN, IO21) // _MIN: Minimum Base Address + CreateWordField (CRS2, \_SB.PCI0.LPC0.SIO1._Y0A._MAX, IO22) // _MAX: Maximum Base Address + CreateByteField (CRS2, \_SB.PCI0.LPC0.SIO1._Y0A._LEN, LEN2) // _LEN: Length + CreateWordField (CRS2, \_SB.PCI0.LPC0.SIO1._Y0B._MIN, IO31) // _MIN: Minimum Base Address + CreateWordField (CRS2, \_SB.PCI0.LPC0.SIO1._Y0B._MAX, IO32) // _MAX: Maximum Base Address + CreateByteField (CRS2, \_SB.PCI0.LPC0.SIO1._Y0B._LEN, LEN3) // _LEN: Length + Method (DCRS, 2, NotSerialized) + { + ENFG (CGLD (Arg0)) + IO11 = (IOAH << 0x08) + IO11 |= IOAL /* \_SB_.PCI0.LPC0.SIO1.IO11 */ + IO12 = IO11 /* \_SB_.PCI0.LPC0.SIO1.IO11 */ + LEN1 = 0x08 + If (INTR) + { + IRQM = (0x01 << INTR) /* \_SB_.PCI0.LPC0.SIO1.INTR */ + } + Else + { + IRQM = 0x00 + } + + If (((DMCH > 0x03) || (Arg1 == 0x00))) + { + DMAM = 0x00 + } + Else + { + Local1 = (DMCH & 0x03) + DMAM = (0x01 << Local1) + } + + EXFG () + Return (CRS1) /* \_SB_.PCI0.LPC0.SIO1.CRS1 */ + } + + Method (DCR2, 2, NotSerialized) + { + ENFG (CGLD (Arg0)) + IO21 = (IOAH << 0x08) + IO21 |= IOAL /* \_SB_.PCI0.LPC0.SIO1.IO21 */ + IO22 = IO21 /* \_SB_.PCI0.LPC0.SIO1.IO21 */ + LEN2 = 0x08 + IO31 = (IOH2 << 0x08) + IO31 |= IOL2 /* \_SB_.PCI0.LPC0.SIO1.IO31 */ + IO32 = IO31 /* \_SB_.PCI0.LPC0.SIO1.IO31 */ + LEN3 = 0x08 + If (INTR) + { + IRQE = (0x01 << INTR) /* \_SB_.PCI0.LPC0.SIO1.INTR */ + } + Else + { + IRQE = 0x00 + } + + If (((DMCH > 0x03) || (Arg1 == 0x00))) + { + DMAE = 0x00 + } + Else + { + Local1 = (DMCH & 0x03) + DMAE = (0x01 << Local1) + } + + EXFG () + Return (CRS2) /* \_SB_.PCI0.LPC0.SIO1.CRS2 */ + } + + Method (DSRS, 2, NotSerialized) + { + If (((Arg1 == 0x02) & LPTM (Arg1))) + { + DSR2 (Arg0, Arg1) + } + Else + { + CreateWordField (Arg0, 0x09, IRQM) + CreateByteField (Arg0, 0x0C, DMAM) + CreateWordField (Arg0, 0x02, IO11) + ENFG (CGLD (Arg1)) + IOAL = (IO11 & 0xFF) + IOAH = (IO11 >> 0x08) + If (IRQM) + { + FindSetRightBit (IRQM, Local0) + INTR = (Local0 - 0x01) + } + Else + { + INTR = 0x00 + } + + If (DMAM) + { + FindSetRightBit (DMAM, Local0) + DMCH = (Local0 - 0x01) + } + Else + { + DMCH = 0x04 + } + + EXFG () + DCNT (Arg1, 0x01) + Local2 = Arg1 + If ((Local2 > 0x00)) + { + Local2 -= 0x01 + } + } + } + + Method (DSR2, 2, NotSerialized) + { + CreateWordField (Arg0, 0x11, IRQE) + CreateByteField (Arg0, 0x14, DMAE) + CreateWordField (Arg0, 0x02, IO21) + CreateWordField (Arg0, 0x0A, IO31) + ENFG (CGLD (Arg1)) + IOAL = (IO21 & 0xFF) + IOAH = (IO21 >> 0x08) + IOL2 = (IO31 & 0xFF) + IOH2 = (IO31 >> 0x08) + If (IRQE) + { + FindSetRightBit (IRQE, Local0) + INTR = (Local0 - 0x01) + } + Else + { + INTR = 0x00 + } + + If (DMAE) + { + FindSetRightBit (DMAE, Local0) + DMCH = (Local0 - 0x01) + } + Else + { + DMCH = 0x04 + } + + EXFG () + DCNT (Arg1, 0x01) + Local2 = Arg1 + If ((Local2 > 0x00)) + { + Local2 -= 0x01 + } + } + + Name (PMFG, 0x00) + Method (SIOS, 1, NotSerialized) + { + Debug = "SIOS" + If ((0x05 != Arg0)) + { + ENFG (0x0A) + OPT9 = 0xFF + CKCF |= 0x40 + RGE0 |= 0x03 + RGE6 |= 0x80 + OPT3 &= 0xBF + If (KBFG) + { + OPTB |= 0x02 + } + Else + { + OPTB &= 0xFD + } + + If (MSFG) + { + OPTB |= 0x01 + } + Else + { + OPTB &= 0xFE + } + + ENFG (0x0B) + RGE0 |= 0x08 + EXFG () + } + } + + Method (SIOW, 1, NotSerialized) + { + Debug = "SIOW" + ENFG (0x0A) + PMFG = OPT9 /* \_SB_.PCI0.LPC0.SIO1.OPT9 */ + OPT9 = 0xFF + OPTB = 0x00 + OPTC = 0x00 + EXFG () + If (RTCS){} + Else + { + Notify (PWRB, 0x02) // Device Wake + } + + If ((Arg0 == 0x03)) + { + SMIC = NCPW /* \NCPW */ + Sleep (0x02) + SMIC = NCRT /* \NCRT */ + Sleep (0x02) + SMIC = NCSW /* \NCSW */ + Sleep (0x02) + SMIC = NCPS /* \NCPS */ + Sleep (0x02) + } + } + + Method (SIOH, 0, NotSerialized) + { + If ((PMFG & 0x08)){} + If ((PMFG & 0x10)){} + } + } + + Device (UAR1) + { + Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID + Name (_UID, 0x00) // _UID: Unique ID + Name (LDN, 0x02) + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (^^SIO1.DSTA (0x00)) + } + + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device + { + ^^SIO1.DCNT (0x00, 0x00) + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Return (^^SIO1.DCRS (0x00, 0x00)) + } + + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + ^^SIO1.DSRS (Arg0, 0x00) + } + + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings + { + StartDependentFn (0x00, 0x00) + { + IO (Decode16, + 0x03F8, // Range Minimum + 0x03F8, // Range Maximum + 0x01, // Alignment + 0x08, // Length + ) + IRQNoFlags () + {4} + DMA (Compatibility, NotBusMaster, Transfer8, ) + {} + } + StartDependentFnNoPri () + { + IO (Decode16, + 0x03F8, // Range Minimum + 0x03F8, // Range Maximum + 0x01, // Alignment + 0x08, // Length + ) + IRQNoFlags () + {3,4,5,7,9,10,11,12} + DMA (Compatibility, NotBusMaster, Transfer8, ) + {} + } + StartDependentFnNoPri () + { + IO (Decode16, + 0x02F8, // Range Minimum + 0x02F8, // Range Maximum + 0x01, // Alignment + 0x08, // Length + ) + IRQNoFlags () + {3,4,5,7,9,10,11,12} + DMA (Compatibility, NotBusMaster, Transfer8, ) + {} + } + StartDependentFnNoPri () + { + IO (Decode16, + 0x03E8, // Range Minimum + 0x03E8, // Range Maximum + 0x01, // Alignment + 0x08, // Length + ) + IRQNoFlags () + {3,4,5,7,9,10,11,12} + DMA (Compatibility, NotBusMaster, Transfer8, ) + {} + } + StartDependentFnNoPri () + { + IO (Decode16, + 0x02E8, // Range Minimum + 0x02E8, // Range Maximum + 0x01, // Alignment + 0x08, // Length + ) + IRQNoFlags () + {3,4,5,7,9,10,11,12} + DMA (Compatibility, NotBusMaster, Transfer8, ) + {} + } + EndDependentFn () + }) + } + + Device (PS2K) + { + Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID + Name (_UID, 0x00) // _UID: Unique ID + Name (LDN, 0x05) + Name (_CID, EisaId ("PNP030B")) // _CID: Compatible ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((IOST & 0x0400)) + { + Return (0x0F) + } + Else + { + Return (0x00) + } + } + + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x0060, // Range Minimum + 0x0060, // Range Maximum + 0x00, // Alignment + 0x01, // Length + ) + IO (Decode16, + 0x0064, // Range Minimum + 0x0064, // Range Maximum + 0x00, // Alignment + 0x01, // Length + ) + IRQNoFlags () + {1} + }) + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings + { + StartDependentFn (0x00, 0x00) + { + IO (Decode16, + 0x0060, // Range Minimum + 0x0060, // Range Maximum + 0x00, // Alignment + 0x01, // Length + ) + IO (Decode16, + 0x0064, // Range Minimum + 0x0064, // Range Maximum + 0x00, // Alignment + 0x01, // Length + ) + IRQNoFlags () + {1} + } + EndDependentFn () + }) + Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake + { + KBFG = Arg0 + } + + Scope (\) + { + Name (KBFG, 0x01) + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x0A, 0x03)) + } + } + + Device (PS2M) + { + Name (_HID, EisaId ("PNP0F03") /* Microsoft PS/2-style Mouse */) // _HID: Hardware ID + Name (_UID, 0x00) // _UID: Unique ID + Name (LDN, 0x05) + Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((IOST & 0x4000)) + { + Return (0x0F) + } + Else + { + Return (0x00) + } + } + + Name (CRS1, ResourceTemplate () + { + IRQNoFlags () + {12} + }) + Name (CRS2, ResourceTemplate () + { + IO (Decode16, + 0x0060, // Range Minimum + 0x0060, // Range Maximum + 0x00, // Alignment + 0x01, // Length + ) + IO (Decode16, + 0x0064, // Range Minimum + 0x0064, // Range Maximum + 0x00, // Alignment + 0x01, // Length + ) + IRQNoFlags () + {12} + }) + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + If ((IOST & 0x0400)) + { + Return (CRS1) /* \_SB_.PCI0.LPC0.PS2M.CRS1 */ + } + Else + { + Return (CRS2) /* \_SB_.PCI0.LPC0.PS2M.CRS2 */ + } + } + + Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings + { + StartDependentFn (0x00, 0x00) + { + IRQNoFlags () + {12} + } + EndDependentFn () + }) + Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake + { + MSFG = Arg0 + } + + Scope (\) + { + Name (MSFG, 0x01) + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x0A, 0x03)) + } + } + + Device (SGPI) + { + Name (_HID, EisaId ("PNP0C08") /* ACPI Core Hardware */) // _HID: Hardware ID + Name (_UID, 0x00) // _UID: Unique ID + Name (LDN, 0x08) + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x00) + } + } + + Device (SCPI) + { + Name (_HID, EisaId ("PNP0C08") /* ACPI Core Hardware */) // _HID: Hardware ID + Name (_UID, 0x01) // _UID: Unique ID + Name (LDN, 0x0A) + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x00) + } + } + + Device (IOEC) + { + Name (_HID, EisaId ("PNP0C08") /* ACPI Core Hardware */) // _HID: Hardware ID + Name (_UID, 0x02) // _UID: Unique ID + Name (LDN, 0x0B) + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x00) + } + } + } + + Device (SAT2) + { + Name (_ADR, 0x001F0002) // _ADR: Address + OperationRegion (GPOZ, SystemIO, 0x050C, 0x04) + Field (GPOZ, ByteAcc, NoLock, Preserve) + { + , 18, + GPO8, 1 + } + + OperationRegion (GPOY, SystemIO, 0x0538, 0x04) + Field (GPOY, ByteAcc, NoLock, Preserve) + { + , 18, + GPO0, 1, + , 3, + GPO4, 1 + } + + OperationRegion (GNVS, SystemMemory, 0xFFFF0000, 0xAA55) + Field (GNVS, AnyAcc, Lock, Preserve) + { + Offset (0x11D), + S0ID, 8, + Offset (0x214), + DVS0, 8, + DVS1, 8, + DVS2, 8, + DVS3, 8, + Offset (0x29E), + PEPC, 16 + } + + Name (FDEV, Zero) + Name (FDRP, Zero) + Method (_DEP, 0, NotSerialized) // _DEP: Dependencies + { + If ((OSYS >= 0x07DD)) + { + If (((S0ID == 0x01) && ((PEPC & 0x03) != 0x00))) + { + Return (Package (0x00){}) + } + } + + Return (Package (0x00){}) + } + + Device (PRT0) + { + Name (_ADR, 0xFFFF) // _ADR: Address + Method (_SDD, 1, Serialized) // _SDD: Set Device Data + { + CreateByteField (Arg0, 0x9D, BFDS) + ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT2.FDEV */ + CreateByteField (Arg0, 0x9A, BFRP) + ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT2.FDRP */ + } + + Method (_GTF, 0, Serialized) // _GTF: Get Task File + { + If ((((DVS0 == 0x01) && ((FDEV & 0x01) == 0x01)) && + ((FDRP & 0x80) == 0x80))) + { + Name (PIB1, Buffer (0x07) + { + 0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF // ....... + }) + Return (PIB1) /* \_SB_.PCI0.SAT2.PRT0._GTF.PIB1 */ + } + + Name (PIB2, Buffer (0x07) + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ....... + }) + Return (PIB2) /* \_SB_.PCI0.SAT2.PRT0._GTF.PIB2 */ + } + + Method (XEJ0, 1, NotSerialized) + { + GPO0 = 0x00 + Sleep (0x14) + GPO0 = 0x01 + Sleep (0x14) + Return (Zero) + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + } + + Device (PRT1) + { + Name (_ADR, 0x0001FFFF) // _ADR: Address + Name (FDEV, Zero) + Name (FDRP, Zero) + Method (_SDD, 1, Serialized) // _SDD: Set Device Data + { + CreateByteField (Arg0, 0x9D, BFDS) + ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT2.PRT1.FDEV */ + CreateByteField (Arg0, 0x9A, BFRP) + ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT2.PRT1.FDRP */ + } + + Method (_GTF, 0, Serialized) // _GTF: Get Task File + { + If ((((DVS1 == 0x01) && ((FDEV & 0x01) == 0x01)) && + ((FDRP & 0x80) == 0x80))) + { + Name (PIB1, Buffer (0x07) + { + 0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF // ....... + }) + Return (PIB1) /* \_SB_.PCI0.SAT2.PRT1._GTF.PIB1 */ + } + + Name (PIB2, Buffer (0x07) + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ....... + }) + Return (PIB2) /* \_SB_.PCI0.SAT2.PRT1._GTF.PIB2 */ + } + + Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=0-9 + { + GPO4 = 0x00 + Sleep (0x14) + GPO4 = 0x01 + Sleep (0x14) + Return (Zero) + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + } + + Device (PRT2) + { + Name (_ADR, 0x0002FFFF) // _ADR: Address + Name (FDEV, Zero) + Name (FDRP, Zero) + Method (_SDD, 1, Serialized) // _SDD: Set Device Data + { + CreateByteField (Arg0, 0x9D, BFDS) + ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT2.PRT2.FDEV */ + CreateByteField (Arg0, 0x9A, BFRP) + ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT2.PRT2.FDRP */ + } + + Method (_GTF, 0, Serialized) // _GTF: Get Task File + { + If ((((DVS2 == 0x01) && ((FDEV & 0x01) == 0x01)) && + ((FDRP & 0x80) == 0x80))) + { + Name (PIB1, Buffer (0x07) + { + 0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF // ....... + }) + Return (PIB1) /* \_SB_.PCI0.SAT2.PRT2._GTF.PIB1 */ + } + + Name (PIB2, Buffer (0x07) + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ....... + }) + Return (PIB2) /* \_SB_.PCI0.SAT2.PRT2._GTF.PIB2 */ + } + } + + Device (PRT3) + { + Name (_ADR, 0x0003FFFF) // _ADR: Address + Name (FDEV, Zero) + Name (FDRP, Zero) + Method (_SDD, 1, Serialized) // _SDD: Set Device Data + { + CreateByteField (Arg0, 0x9D, BFDS) + ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT2.PRT3.FDEV */ + CreateByteField (Arg0, 0x9A, BFRP) + ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT2.PRT3.FDRP */ + } + + Method (_GTF, 0, Serialized) // _GTF: Get Task File + { + If ((((DVS3 == 0x01) && ((FDEV & 0x01) == 0x01)) && + ((FDRP & 0x80) == 0x80))) + { + Name (PIB1, Buffer (0x07) + { + 0x10, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xEF // ....... + }) + Return (PIB1) /* \_SB_.PCI0.SAT2.PRT3._GTF.PIB1 */ + } + + Name (PIB2, Buffer (0x07) + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ....... + }) + Return (PIB2) /* \_SB_.PCI0.SAT2.PRT3._GTF.PIB2 */ + } + } + } + + Device (SAT1) + { + Name (_ADR, 0x001F0005) // _ADR: Address + } + + Device (SMBS) + { + Name (_ADR, 0x001F0003) // _ADR: Address + } + + Device (TERM) + { + Name (_ADR, 0x001F0006) // _ADR: Address + } + + Device (XHCI) + { + Name (_ADR, 0x00140000) // _ADR: Address + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x0D, 0x04)) + } + + Name (OPAC, 0x00) + Name (XRST, 0x00) + Name (XUSB, 0x00) + OperationRegion (BOID, SystemIO, GPBS, 0x50) + Field (BOID, ByteAcc, NoLock, Preserve) + { + Offset (0x48), + P410, 8 + } + + OperationRegion (XPRT, PCI_Config, 0x74, 0x6C) + Field (XPRT, DWordAcc, NoLock, Preserve) + { + Offset (0x01), + PMEE, 1, + , 6, + PMES, 1, + Offset (0x5C), + PR2, 32, + PR2M, 32, + PR3, 32, + PR3M, 32 + } + + Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake + { + If (Arg0) + { + PMEE = 0x01 + } + Else + { + PMEE = 0x00 + } + } + + Method (_REG, 2, NotSerialized) // _REG: Region Availability + { + If ((Arg0 == 0x02)) + { + If ((Arg1 == 0x01)) + { + OPAC = 0x01 + } + Else + { + OPAC = 0x00 + } + } + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + If ((OPAC == 0x01)) + { + PMES = 0x01 + PMEE = 0x00 + } + } + + Method (POSC, 3, NotSerialized) + { + IO80 = 0x81 + CreateDWordField (Arg2, 0x00, CDW1) + CreateDWordField (Arg2, 0x04, CDW2) + CreateDWordField (Arg2, 0x08, CDW3) + If (((OSYS >= 0x09) && (OSYS <= 0x0C))) + { + If ((Arg0 < 0x02)) + { + CDW1 |= 0x08 + IO80 = 0x82 + } + } + ElseIf ((Arg0 != 0x01)) + { + CDW1 |= 0x08 + IO80 = 0x82 + } + + If ((XHMD == 0x00)) + { + CDW1 |= 0x02 + IO80 = 0x83 + } + + If (((CDW1 & 0x0E) == 0x00)) + { + If (!(CDW1 & 0x01)) + { + If ((CDW3 & 0x01)) + { + ESEL () + IO80 = 0x85 + XHMD = 0x00 + } + + If ((CDW2 & 0x01)) + { + XSEL (0x00) + IO80 = 0x84 + } + Else + { + ESEL () + IO80 = 0x85 + } + } + } + + Return (Arg2) + } + + Method (XSEL, 1, Serialized) + { + If ((((XHMD == 0x02) || (XHMD == 0x03)) || Arg0)) + { + If ((XHMD == 0x03)) + { + ^^LPC0.XSMB = 0x01 + } + + XUSB = 0x01 + XRST = 0x01 + Local0 = 0x00 + Local0 = (PR3 & 0xFFFFFFC0) + PR3 = (Local0 | PR3M) /* \_SB_.PCI0.XHCI.PR3M */ + Local0 = 0x00 + Local0 = (PR2 & 0xFFFF8000) + PR2 = (Local0 | PR2M) /* \_SB_.PCI0.XHCI.PR2M */ + } + } + + Method (ESEL, 0, Serialized) + { + If (((XHMD == 0x02) || (XHMD == 0x03))) + { + PR3 &= 0xFFFFFFC0 + PR2 &= 0xFFFF8000 + XUSB = 0x00 + XRST = 0x00 + } + } + + Method (XWAK, 0, Serialized) + { + If (((XUSB == 0x01) || (XRST == 0x01))) + { + XSEL (0x01) + Notify (XHCI, 0x00) // Bus Check + } + } + + Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State + { + Return (0x02) + } + + Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State + { + Return (0x02) + } + + Device (RHUB) + { + Name (_ADR, 0x00) // _ADR: Address + Device (HS01) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + If ((\PLAT == 0x1B)) + { + UPCP [0x00] = 0x00 + } + } + Else + { + UPCP [0x00] = 0x00 + If (((\PLAT == 0x00) || (\PLAT == 0x01))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x11) || (\PLAT == 0x12))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x03) || (\PLAT == 0x04))) + { + UPCP [0x00] = 0xFF + } + + If ((\PLAT == 0x05)) + { + UPCP [0x00] = 0xFF + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS01._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x00) || (\PLAT == 0x01))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x11) || (\PLAT == 0x12))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + PANL = 0x08 + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + VISB = One + PANL = 0x18 + } + + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x24 + } + + If (((\PLAT == 0x03) || (\PLAT == 0x04))) + { + VISB = One + PANL = 0x28 + } + + If ((\PLAT == 0x05)) + { + VISB = One + PANL = 0x28 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS01._PLD.PLDP */ + } + } + + Device (HS02) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)){} + Else + { + UPCP [0x00] = 0x00 + If (((\PLAT == 0x00) || (\PLAT == 0x01))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x11) || (\PLAT == 0x12))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x03) || (\PLAT == 0x04))) + { + UPCP [0x00] = 0xFF + } + + If ((\PLAT == 0x05)) + { + UPCP [0x00] = 0xFF + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS02._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x00) || (\PLAT == 0x01))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x11) || (\PLAT == 0x12))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + VISB = One + PANL = 0x18 + } + + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x24 + } + + If (((\PLAT == 0x03) || (\PLAT == 0x04))) + { + VISB = One + PANL = 0x28 + } + + If ((\PLAT == 0x05)) + { + VISB = One + PANL = 0x28 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS02._PLD.PLDP */ + } + } + + Device (HS03) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + Switch (ToInteger (\PLAT)) + { + Case (0x03) + { + UPCP [0x00] = 0x00 + } + Case (0x04) + { + UPCP [0x00] = 0x00 + } + + } + } + Else + { + UPCP [0x00] = 0x00 + If (((\PLAT == 0x00) || (\PLAT == 0x01))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x11) || (\PLAT == 0x12))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + UPCP [0x00] = 0xFF + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS03._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x81, 0x01, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x00) || (\PLAT == 0x01))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + VISB = One + PANL = 0x20 + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + VISB = One + PANL = 0x20 + } + + If (((\PLAT == 0x11) || (\PLAT == 0x12))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + VISB = One + PANL = 0x18 + } + + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x24 + } + + If ((\PLAT == 0x05)) + { + VISB = One + PANL = 0x28 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS03._PLD.PLDP */ + } + } + + Device (HS04) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + Switch (ToInteger (\PLAT)) + { + Case (0x00) + { + UPCP [0x00] = 0x00 + } + + } + } + Else + { + UPCP [0x00] = 0x00 + If ((\PLAT == 0x01)) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x11) || (\PLAT == 0x12))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + UPCP [0x00] = 0xFF + } + + If (((\PLAT == 0x03) || (\PLAT == 0x04))) + { + UPCP [0x00] = 0xFF + } + + If ((\PLAT == 0x05)) + { + UPCP [0x00] = 0xFF + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS04._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If ((\PLAT == 0x01)) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + VISB = One + PANL = 0x20 + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + VISB = One + PANL = 0x20 + } + + If (((\PLAT == 0x11) || (\PLAT == 0x12))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x24 + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + VISB = One + PANL = 0x18 + } + + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + PANL = 0x18 + } + + If (((\PLAT == 0x03) || (\PLAT == 0x04))) + { + VISB = One + PANL = 0x28 + } + + If ((\PLAT == 0x05)) + { + VISB = One + PANL = 0x28 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS04._PLD.PLDP */ + } + } + + Device (HS05) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)){} + If (((P410 & 0x0F) == 0x03)) + { + UPCP [0x00] = 0xFF + } + Else + { + UPCP [0x00] = 0x00 + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS05._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x82, 0x02, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + If (((P410 & 0x0F) == 0x03)) + { + VISB = 0x00 + PANL = 0x08 + } + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS05._PLD.PLDP */ + } + + Device (PRT1) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + If (((P410 & 0x0F) == 0x03)) + { + UPCP [0x00] = 0x00 + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS05.PRT1._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x82, 0x02, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x12 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS05.PRT1._PLD.PLDP */ + } + } + + Device (PRT2) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS05.PRT2._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x82, 0x02, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x12 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS05.PRT2._PLD.PLDP */ + } + } + + Device (PRT3) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS05.PRT3._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x82, 0x02, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x12 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS05.PRT3._PLD.PLDP */ + } + } + + Device (PRT4) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS05.PRT4._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x82, 0x02, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x12 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS05.PRT4._PLD.PLDP */ + } + } + } + + Device (HS06) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0x00, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS06._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x83, 0x02, 0x00, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + PANL = 0x12 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS06._PLD.PLDP */ + } + } + + Device (HS07) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + Switch (ToInteger (\PLAT)) + { + Case (0x11) + { + UPCP [0x00] = 0x00 + } + Case (0x12) + { + UPCP [0x00] = 0x00 + } + Case (0x07) + { + If (0x00) + { + UPCP [0x00] = 0x00 + } + } + Case (0x08) + { + If (0x00) + { + UPCP [0x00] = 0x00 + } + } + Case (0x03) + { + UPCP [0x00] = 0x00 + } + Case (0x04) + { + UPCP [0x00] = 0x00 + } + Case (0x05) + { + UPCP [0x00] = 0x00 + } + Case (0x00) + { + UPCP [0x00] = 0x00 + } + + } + } + Else + { + UPCP [0x00] = 0x00 + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + UPCP [0x00] = 0xFF + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS07._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x83, 0x03, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If ((\PLAT == 0x01)) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + VISB = One + PANL = 0x20 + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + VISB = One + PANL = 0x18 + } + + If (0x01) + { + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x08 + } + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS07._PLD.PLDP */ + } + } + + Device (HS08) + { + Name (_ADR, 0x08) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + Switch (ToInteger (\PLAT)) + { + Case (0x11) + { + UPCP [0x00] = 0x00 + } + Case (0x12) + { + UPCP [0x00] = 0x00 + } + Case (0x00) + { + UPCP [0x00] = 0x00 + } + + } + } + Else + { + UPCP [0x00] = 0x00 + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + UPCP [0x00] = 0xFF + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS08._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If ((\PLAT == 0x01)) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + VISB = One + PANL = 0x18 + } + + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + VISB = One + PANL = 0x20 + } + + If (((\PLAT == 0x03) || (\PLAT == 0x04))) + { + PANL = 0x08 + } + + If ((\PLAT == 0x05)) + { + PANL = 0x08 + } + + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + PANL = 0x08 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS08._PLD.PLDP */ + } + } + + Device (HS09) + { + Name (_ADR, 0x09) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS09._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x41, 0xC1, 0x84, 0x04, 0x01, 0x00, 0x00, 0x00, // A....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS09._PLD.PLDP */ + } + } + + Device (HS10) + { + Name (_ADR, 0x0A) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS10._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x41, 0x41, 0x05, 0x05, 0x01, 0x00, 0x00, 0x00, // AA...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS10._PLD.PLDP */ + } + } + + Device (HS11) + { + Name (_ADR, 0x0B) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + Switch (ToInteger (\PLAT)) + { + Case (0x11) + { + UPCP [0x00] = 0x00 + } + Case (0x12) + { + UPCP [0x00] = 0x00 + } + Case (0x07) + { + If (0x01) + { + UPCP [0x00] = 0x00 + } + } + Case (0x08) + { + If (0x01) + { + UPCP [0x00] = 0x00 + } + } + + } + } + Else + { + UPCP [0x00] = 0x00 + If (((\PLAT == 0x00) || (\PLAT == 0x01))) + { + UPCP [0x00] = 0xFF + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS11._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x85, 0x05, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x00) || (\PLAT == 0x01))) + { + VISB = One + PANL = 0x20 + } + + If (((\PLAT == 0x03) || (\PLAT == 0x04))) + { + VISB = One + PANL = 0x08 + } + + If ((\PLAT == 0x05)) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + VISB = One + PANL = 0x28 + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + VISB = One + PANL = 0x28 + } + + If (0x00) + { + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x08 + } + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + PANL = 0x08 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS11._PLD.PLDP */ + } + } + + Device (HS12) + { + Name (_ADR, 0x0C) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + Switch (ToInteger (\PLAT)) + { + Case (0x11) + { + UPCP [0x00] = 0x00 + } + Case (0x12) + { + UPCP [0x00] = 0x00 + } + + } + } + Else + { + UPCP [0x00] = 0x00 + If (0x01) + { + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + UPCP [0x00] = 0xFF + } + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS12._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x06, 0x06, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x00) || (\PLAT == 0x01))) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x03) || (\PLAT == 0x04))) + { + PANL = 0x08 + } + + If ((\PLAT == 0x05)) + { + PANL = 0x08 + } + + If (((\PLAT == 0x13) || (\PLAT == 0x16))) + { + VISB = One + PANL = 0x20 + } + + If (((\PLAT == 0x14) || (\PLAT == 0x15))) + { + VISB = One + PANL = 0x20 + } + + If (((\PLAT == 0x0A) || (\PLAT == 0x0B))) + { + VISB = One + PANL = 0x08 + } + + If (0x01) + { + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x20 + } + } + ElseIf (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x08 + } + + If (((\PLAT == 0x0F) || (\PLAT == 0x10))) + { + VISB = One + PANL = 0x08 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS12._PLD.PLDP */ + } + } + + Device (HS13) + { + Name (_ADR, 0x0D) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS13._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x41, 0xC1, 0x86, 0x06, 0x01, 0x00, 0x00, 0x00, // A....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + If (((P410 & 0x0F) == 0x03)) + { + VISB = One + PANL = 0x20 + } + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS13._PLD.PLDP */ + } + } + + Device (HS14) + { + Name (_ADR, 0x0E) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.HS14._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x41, 0x41, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, // AA...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + If (((P410 & 0x0F) == 0x03)) + { + VISB = One + PANL = 0x20 + } + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.HS14._PLD.PLDP */ + } + } + + Device (SSP1) + { + Name (_ADR, 0x10) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP1._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateField (DerefOf (PLDP [0x00]), 0x4F, 0x08, GTOK) + CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x24 + GTOK = 0x01 + GPOS = 0x01 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP1._PLD.PLDP */ + } + } + + Device (SSP2) + { + Name (_ADR, 0x11) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP2._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateField (DerefOf (PLDP [0x00]), 0x4F, 0x08, GTOK) + CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x24 + GTOK = 0x02 + GPOS = 0x02 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP2._PLD.PLDP */ + } + } + + Device (SSP3) + { + Name (_ADR, 0x12) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP3._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateField (DerefOf (PLDP [0x00]), 0x4F, 0x08, GTOK) + CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x24 + GTOK = 0x03 + GPOS = 0x03 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP3._PLD.PLDP */ + } + } + + Device (SSP4) + { + Name (_ADR, 0x13) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP4._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateField (DerefOf (PLDP [0x00]), 0x4F, 0x08, GTOK) + CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x24 + GTOK = 0x04 + GPOS = 0x04 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP4._PLD.PLDP */ + } + } + + Device (SSP5) + { + Name (_ADR, 0x14) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0x00, + 0xFF, + 0x00, + 0x00 + }) + If (((P410 & 0x0F) == 0x03)) + { + UPCP [0x00] = 0xFF + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP5._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateField (DerefOf (PLDP [0x00]), 0x4F, 0x08, GTOK) + CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + If (((P410 & 0x0F) == 0x03)) + { + VISB = One + PANL = 0x20 + GTOK = 0x0D + GPOS = 0x0D + } + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP5._PLD.PLDP */ + } + + Device (PRT1) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + If (((P410 & 0x0F) == 0x03)) + { + UPCP [0x00] = 0x00 + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP5.PRT1._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x82, 0x02, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x12 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP5.PRT1._PLD.PLDP */ + } + } + + Device (PRT2) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + If (((P410 & 0x0F) == 0x03)) + { + UPCP [0x00] = 0x00 + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP5.PRT2._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x82, 0x02, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x12 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP5.PRT2._PLD.PLDP */ + } + } + + Device (PRT3) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + If (((P410 & 0x0F) == 0x03)) + { + UPCP [0x00] = 0x00 + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP5.PRT3._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x82, 0x02, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x12 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP5.PRT3._PLD.PLDP */ + } + } + + Device (PRT4) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0x03, + 0x00, + 0x00 + }) + If ((OSYS >= 0x0D)) + { + If (((P410 & 0x0F) == 0x03)) + { + UPCP [0x00] = 0x00 + } + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP5.PRT4._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0xC1, 0x82, 0x02, 0x01, 0x00, 0x00, 0x00, // @....... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + VISB = One + PANL = 0x12 + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP5.PRT4._PLD.PLDP */ + } + } + } + + Device (SSP6) + { + Name (_ADR, 0x15) // _ADR: Address + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0x00, + 0xFF, + 0x00, + 0x00 + }) + If (((P410 & 0x0F) == 0x03)) + { + UPCP [0x00] = 0xFF + } + + Return (UPCP) /* \_SB_.PCI0.XHCI.RHUB.SSP6._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x14) + { + /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x40, 0x41, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // @A...... + /* 0010 */ 0xFF, 0xFF, 0xFF, 0xFF // .... + } + }) + CreateField (DerefOf (PLDP [0x00]), 0x43, 0x03, PANL) + CreateField (DerefOf (PLDP [0x00]), 0x4F, 0x08, GTOK) + CreateField (DerefOf (PLDP [0x00]), 0x57, 0x08, GPOS) + CreateBitField (DerefOf (PLDP [0x00]), 0x40, VISB) + If (((\PLAT == 0x07) || (\PLAT == 0x08))) + { + If (((P410 & 0x0F) == 0x03)) + { + VISB = One + PANL = 0x20 + GTOK = 0x0E + GPOS = 0x0E + } + Else + { + PANL = 0x12 + } + } + + Return (PLDP) /* \_SB_.PCI0.XHCI.RHUB.SSP6._PLD.PLDP */ + } + } + } + } + + Device (EHC1) + { + Name (_ADR, 0x001D0000) // _ADR: Address + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x0D, 0x04)) + } + + Name (OPAC, 0x00) + OperationRegion (PWKE, PCI_Config, 0x54, 0x18) + Field (PWKE, DWordAcc, NoLock, Preserve) + { + Offset (0x01), + PMEE, 1, + , 6, + PMES, 1, + Offset (0x0E), + , 1, + PWUC, 10 + } + + Method (_REG, 2, NotSerialized) // _REG: Region Availability + { + If ((Arg0 == 0x02)) + { + If ((Arg1 == 0x01)) + { + OPAC = One + } + Else + { + OPAC = One + } + } + } + + Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake + { + If (Arg0) + { + PWUC = Ones + } + Else + { + PWUC = 0x00 + } + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + If ((OPAC == One)) + { + PMES = 0x01 + PMEE = 0x00 + } + } + + Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State + { + Return (0x02) + } + + Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State + { + Return (0x02) + } + + Device (HUBN) + { + Name (_ADR, Zero) // _ADR: Address + Device (PR01) + { + Name (_ADR, One) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCA, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + Return (UPCA) /* \_SB_.PCI0.EHC1.HUBN.PR01._UPC.UPCA */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0....... + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01._PLD.PLDP */ + } + + Device (PR11) + { + Name (_ADR, One) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._PLD.PLDP */ + } + } + + Device (PR12) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._PLD.PLDP */ + } + } + + Device (PR13) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR13._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR13._PLD.PLDP */ + } + } + + Device (PR14) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._PLD.PLDP */ + } + + Alias (SBV1, SDGV) + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + If ((Arg1 == 0x01)) + { + Return (Buffer (0x01) + { + 0x07 // . + }) + } + Else + { + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + Case (0x01) + { + If ((SDGV == 0xFF)) + { + Return (0x00) + } + Else + { + Return (0x01) + } + } + Case (0x02) + { + Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14.SDGV */ + } + + } + } + + Return (0x00) + } + } + + Device (PR15) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._PLD.PLDP */ + } + + Alias (SBV2, SDGV) + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + If ((Arg1 == 0x01)) + { + Return (Buffer (0x01) + { + 0x07 // . + }) + } + Else + { + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + Case (0x01) + { + If ((SDGV == 0xFF)) + { + Return (0x00) + } + Else + { + Return (0x01) + } + } + Case (0x02) + { + Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15.SDGV */ + } + + } + } + + Return (0x00) + } + } + + Device (PR16) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._PLD.PLDP */ + } + + Alias (SBV1, SDGV) + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + If ((Arg1 == 0x01)) + { + Return (Buffer (0x01) + { + 0x07 // . + }) + } + Else + { + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + Case (0x01) + { + If ((SDGV == 0xFF)) + { + Return (0x00) + } + Else + { + Return (0x01) + } + } + Case (0x02) + { + Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.SDGV */ + } + + } + } + + Return (0x00) + } + } + + Device (PR17) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._PLD.PLDP */ + } + + Alias (SBV2, SDGV) + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + If ((Arg1 == 0x01)) + { + Return (Buffer (0x01) + { + 0x07 // . + }) + } + Else + { + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + Case (0x01) + { + If ((SDGV == 0xFF)) + { + Return (0x00) + } + Else + { + Return (0x01) + } + } + Case (0x02) + { + Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17.SDGV */ + } + + } + } + + Return (0x00) + } + } + + Device (PR18) + { + Name (_ADR, 0x08) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._PLD.PLDP */ + } + } + } + } + } + + Device (EHC2) + { + Name (_ADR, 0x001A0000) // _ADR: Address + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x0D, 0x04)) + } + + Name (OPAC, 0x00) + OperationRegion (PWKE, PCI_Config, 0x54, 0x18) + Field (PWKE, DWordAcc, NoLock, Preserve) + { + Offset (0x01), + PMEE, 1, + , 6, + PMES, 1, + Offset (0x0E), + , 1, + PWUC, 10 + } + + Method (_REG, 2, NotSerialized) // _REG: Region Availability + { + If ((Arg0 == 0x02)) + { + If ((Arg1 == 0x01)) + { + OPAC = One + } + Else + { + OPAC = One + } + } + } + + Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake + { + If (Arg0) + { + PWUC = Ones + } + Else + { + PWUC = 0x00 + } + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + If ((OPAC == One)) + { + PMES = 0x01 + PMEE = 0x00 + } + } + + Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State + { + Return (0x02) + } + + Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State + { + Return (0x02) + } + + Device (HUBN) + { + Name (_ADR, Zero) // _ADR: Address + Device (PR01) + { + Name (_ADR, One) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCA, Package (0x04) + { + 0xFF, + 0x00, + 0x00, + 0x00 + }) + Return (UPCA) /* \_SB_.PCI0.EHC2.HUBN.PR01._UPC.UPCA */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0....... + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01._PLD.PLDP */ + } + + Device (PR11) + { + Name (_ADR, One) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR11._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR11._PLD.PLDP */ + } + } + + Device (PR12) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12._PLD.PLDP */ + } + + Alias (SBV1, SDGV) + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + If ((Arg1 == 0x01)) + { + Return (Buffer (0x01) + { + 0x07 // . + }) + } + Else + { + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + Case (0x01) + { + If ((SDGV == 0xFF)) + { + Return (0x00) + } + Else + { + Return (0x01) + } + } + Case (0x02) + { + Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12.SDGV */ + } + + } + } + + Return (0x00) + } + } + + Device (PR13) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13._PLD.PLDP */ + } + + Alias (SBV2, SDGV) + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + If ((Arg1 == 0x01)) + { + Return (Buffer (0x01) + { + 0x07 // . + }) + } + Else + { + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + Case (0x01) + { + If ((SDGV == 0xFF)) + { + Return (0x00) + } + Else + { + Return (0x01) + } + } + Case (0x02) + { + Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13.SDGV */ + } + + } + } + + Return (0x00) + } + } + + Device (PR14) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR14._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR14._PLD.PLDP */ + } + } + + Device (PR15) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR15._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR15._PLD.PLDP */ + } + } + + Device (PR16) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities + { + Name (UPCP, Package (0x04) + { + 0xFF, + 0xFF, + 0x00, + 0x00 + }) + Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR16._UPC.UPCP */ + } + + Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device + { + Name (PLDP, Package (0x01) + { + Buffer (0x10) + { + /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + } + }) + Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR16._PLD.PLDP */ + } + } + } + } + } + + Device (ALZA) + { + Name (_ADR, 0x001B0000) // _ADR: Address + } + + Device (HECI) + { + Name (_ADR, 0x00160000) // _ADR: Address + } + + Device (HEC2) + { + Name (_ADR, 0x00160001) // _ADR: Address + } + + Device (IDER) + { + Name (_ADR, 0x00160002) // _ADR: Address + } + + Device (MEKT) + { + Name (_ADR, 0x00160003) // _ADR: Address + } + + Device (RP01) + { + Name (_ADR, 0x001C0000) // _ADR: Address + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AG13) /* \_SB_.AG13 */ + } + + Return (PG13) /* \_SB_.PG13 */ + } + + Device (D07B) + { + Name (_ADR, 0xFFFF) // _ADR: Address + } + } + + Device (RP02) + { + Name (_ADR, 0x001C0001) // _ADR: Address + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AG14) /* \_SB_.AG14 */ + } + + Return (PG14) /* \_SB_.PG14 */ + } + + Device (BR78) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AR1F) /* \_SB_.AR1F */ + } + + Return (PR1F) /* \_SB_.PR1F */ + } + + Device (D07D) + { + Name (_ADR, 0xFFFF) // _ADR: Address + } + } + } + + Device (RP03) + { + Name (_ADR, 0x001C0002) // _ADR: Address + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RP04) + { + Name (_ADR, 0x001C0003) // _ADR: Address + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RP05) + { + Name (_ADR, 0x001C0004) // _ADR: Address + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AG17) /* \_SB_.AG17 */ + } + + Return (PG17) /* \_SB_.PG17 */ + } + + Device (D07E) + { + Name (_ADR, 0xFFFF) // _ADR: Address + } + } + + Device (RP06) + { + Name (_ADR, 0x001C0005) // _ADR: Address + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RP07) + { + Name (_ADR, 0x001C0006) // _ADR: Address + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RP08) + { + Name (_ADR, 0x001C0007) // _ADR: Address + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (EVMR) + { + Name (_ADR, 0x00110000) // _ADR: Address + } + + Device (EVS0) + { + Name (_ADR, 0x00110001) // _ADR: Address + } + + Device (EVS1) + { + Name (_ADR, 0x00110002) // _ADR: Address + } + + Device (EVS2) + { + Name (_ADR, 0x00110003) // _ADR: Address + } + + Device (EVSS) + { + Name (_ADR, 0x00110004) // _ADR: Address + } + + Device (DMI0) + { + Name (_ADR, 0x00) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80000188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.DMI0.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.DMI0.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.DMI0.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.DMI0.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.DMI0.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.DMI0.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.DMI0.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.DMI0.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.DMI0.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.DMI0.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.DMI0.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.DMI0.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.DMI0.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.DMI0.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.DMI0.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.DMI0.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.DMI0.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.DMI0.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.DMI0.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.DMI0.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.DMI0.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.DMI0.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.DMI0.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.DMI0.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.DMI0.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + } + + Device (BR1A) + { + Name (_ADR, 0x00010000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80008188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR1A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR1A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR1A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR1A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR1A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR1A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR1A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR1A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR1A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR1A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR1A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR1A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR1A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR1A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR1A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR1A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR1A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR1A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR1A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR1A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR1A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR1A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR1A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR1A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR1A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AG23) /* \_SB_.AG23 */ + } + + Return (PG23) /* \_SB_.PG23 */ + } + } + + Device (BR1B) + { + Name (_ADR, 0x00010001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80009188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR1B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR1B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR1B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR1B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR1B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR1B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR1B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR1B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR1B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR1B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR1B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR1B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR1B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR1B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR1B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR1B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR1B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR1B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR1B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR1B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR1B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR1B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR1B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR1B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR1B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AG24) /* \_SB_.AG24 */ + } + + Return (PG24) /* \_SB_.PG24 */ + } + + Device (D07F) + { + Name (_ADR, 0xFFFF) // _ADR: Address + } + } + + Device (BR2A) + { + Name (_ADR, 0x00020000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80010188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR2A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR2A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR2A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR2A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR2A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR2A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR2A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR2A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR2A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR2A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR2A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR2A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR2A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR2A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR2A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR2A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR2A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR2A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AG25) /* \_SB_.AG25 */ + } + + Return (PG25) /* \_SB_.PG25 */ + } + + Device (D07A) + { + Name (_ADR, 0xFFFF) // _ADR: Address + } + } + + Device (BR2B) + { + Name (_ADR, 0x00020001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80011188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR2B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR2B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR2B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR2B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR2B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR2B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR2B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR2B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR2B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR2B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR2B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR2B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR2B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR2B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR2B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR2B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR2B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR2B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (BR2C) + { + Name (_ADR, 0x00020002) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80012188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR2C.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2C.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2C.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR2C.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR2C.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR2C.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR2C.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2C.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR2C.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR2C.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR2C.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR2C.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2C.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR2C.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR2C.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR2C.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR2C.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR2C.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2C.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR2C.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2C.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR2C.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2C.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR2C.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR2C.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (BR2D) + { + Name (_ADR, 0x00020003) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80013188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR2D.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2D.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2D.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR2D.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR2D.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR2D.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR2D.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2D.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR2D.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR2D.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR2D.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR2D.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR2D.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR2D.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR2D.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR2D.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR2D.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR2D.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2D.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR2D.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2D.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR2D.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR2D.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR2D.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR2D.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (BR3A) + { + Name (_ADR, 0x00030000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80018188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR3A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR3A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR3A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR3A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR3A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR3A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR3A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR3A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR3A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR3A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR3A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR3A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR3A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR3A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR3A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR3A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR3A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR3A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AG29) /* \_SB_.AG29 */ + } + + Return (PG29) /* \_SB_.PG29 */ + } + + Device (D07C) + { + Name (_ADR, 0xFFFF) // _ADR: Address + } + } + + Device (BR3B) + { + Name (_ADR, 0x00030001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80019188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR3B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR3B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR3B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR3B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR3B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR3B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR3B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR3B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR3B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR3B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR3B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR3B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR3B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR3B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR3B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR3B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR3B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR3B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (BR3C) + { + Name (_ADR, 0x00030002) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x8001A188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR3C.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3C.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3C.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR3C.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR3C.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR3C.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR3C.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3C.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR3C.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR3C.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR3C.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR3C.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3C.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR3C.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR3C.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR3C.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR3C.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR3C.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3C.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR3C.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3C.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR3C.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3C.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR3C.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR3C.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (BR3D) + { + Name (_ADR, 0x00030003) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x8001B188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI0.BR3D.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3D.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3D.SCTL */ + Local0 &= ALMK /* \_SB_.PCI0.BR3D.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI0.BR3D.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI0.BR3D.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI0.BR3D.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3D.SCTL */ + Local0 &= PLMK /* \_SB_.PCI0.BR3D.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI0.BR3D.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI0.BR3D.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI0.BR3D.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI0.BR3D.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI0.BR3D.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI0.BR3D.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI0.BR3D.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI0.BR3D.ALMK */ + Local0 |= ALBL /* \_SB_.PCI0.BR3D.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3D.SCTL */ + Local0 |= SPOF /* \_SB_.PCI0.BR3D.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3D.SCTL */ + Local0 |= PLOF /* \_SB_.PCI0.BR3D.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI0.BR3D.SCTL */ + Local0 |= ALOF /* \_SB_.PCI0.BR3D.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI0.BR3D.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (CB0A) + { + Name (_ADR, 0x00040000) // _ADR: Address + } + + Device (CB0B) + { + Name (_ADR, 0x00040001) // _ADR: Address + } + + Device (CB0C) + { + Name (_ADR, 0x00040002) // _ADR: Address + } + + Device (CB0D) + { + Name (_ADR, 0x00040003) // _ADR: Address + } + + Device (CB0E) + { + Name (_ADR, 0x00040004) // _ADR: Address + } + + Device (CB0F) + { + Name (_ADR, 0x00040005) // _ADR: Address + } + + Device (CB0G) + { + Name (_ADR, 0x00040006) // _ADR: Address + } + + Device (CB0H) + { + Name (_ADR, 0x00040007) // _ADR: Address + } + + Device (GBE0) + { + Name (_ADR, 0x00190000) // _ADR: Address + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x0D, 0x04)) + } + } + } + + Device (PCI1) + { + Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID + Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID + Name (_ADR, 0xFFFF) // _ADR: Address + Method (^BN80, 0, NotSerialized) + { + Return (0x80) + } + + Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number + { + Return (BN80 ()) + } + + Name (_UID, 0x80) // _UID: Unique ID + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (AR80) /* \_SB_.AR80 */ + } + + Return (PR80) /* \_SB_.PR80 */ + } + + Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities + { + Name (SUPP, 0x00) + Name (CTRL, 0x00) + CreateDWordField (Arg3, 0x00, CDW1) + CreateDWordField (Arg3, 0x04, CDW2) + If ((Arg2 > 0x02)) + { + CreateDWordField (Arg3, 0x08, CDW3) + } + + If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */)) + { + Return (^^PCI0.XHCI.POSC (Arg1, Arg2, Arg3)) + } + ElseIf ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) + { + SUPP = CDW2 /* \_SB_.PCI1._OSC.CDW2 */ + CTRL = CDW3 /* \_SB_.PCI1._OSC.CDW3 */ + If ((AHPE || ((SUPP & 0x16) != 0x16))) + { + CTRL &= 0x1E + } + Else + { + } + + CTRL &= 0x1D + If (!PEPM) + { + CTRL &= 0x1B + } + + If (!PEER) + { + CTRL &= 0x15 + } + + If (!PECS) + { + CTRL &= 0x0F + } + + Local0 = _BBN () + If ((Local0 == 0x00)) + { + If (~(CDW1 & 0x01)) + { + If ((CTRL & 0x01)) + { + ^^PCI0.BR1A.OSHP () + ^^PCI0.BR1B.OSHP () + ^^PCI0.BR2A.OSHP () + ^^PCI0.BR2B.OSHP () + ^^PCI0.BR2C.OSHP () + ^^PCI0.BR2D.OSHP () + ^^PCI0.BR3A.OSHP () + ^^PCI0.BR3B.OSHP () + ^^PCI0.BR3C.OSHP () + ^^PCI0.BR3D.OSHP () + ^QRP0.OSHP () + ^QR1A.OSHP () + ^QR1B.OSHP () + ^QR2A.OSHP () + ^QR2B.OSHP () + ^QR2C.OSHP () + ^QR2D.OSHP () + ^QR3A.OSHP () + ^QR3B.OSHP () + ^QR3C.OSHP () + ^QR3D.OSHP () + ^^PCI2.RRP0.OSHP () + ^^PCI2.RR1A.OSHP () + ^^PCI2.RR1B.OSHP () + ^^PCI2.RR2A.OSHP () + ^^PCI2.RR2B.OSHP () + ^^PCI2.RR2C.OSHP () + ^^PCI2.RR2D.OSHP () + ^^PCI2.RR3A.OSHP () + ^^PCI2.RR3B.OSHP () + ^^PCI2.RR3C.OSHP () + ^^PCI2.RR3D.OSHP () + ^^PCI3.SRP0.OSHP () + ^^PCI3.SR1A.OSHP () + ^^PCI3.SR1B.OSHP () + ^^PCI3.SR2A.OSHP () + ^^PCI3.SR2B.OSHP () + ^^PCI3.SR2C.OSHP () + ^^PCI3.SR2D.OSHP () + ^^PCI3.SR3A.OSHP () + ^^PCI3.SR3B.OSHP () + ^^PCI3.SR3C.OSHP () + ^^PCI3.SR3D.OSHP () + GPSH = 0x01 + } + } + } + + If ((Arg1 != One)) + { + CDW1 |= 0x08 + } + + If ((CDW3 != CTRL)) + { + CDW1 |= 0x10 + } + + CDW3 = CTRL /* \_SB_.PCI1._OSC.CTRL */ + Return (Arg3) + } + Else + { + CDW1 |= 0x04 + Return (Arg3) + } + } + + Method (BN40, 0, NotSerialized) + { + Return (BBI1) /* \BBI1 */ + } + + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x01) + } + Else + { + Return (0x02) + } + } + + Device (IIOP) + { + Name (_ADR, 0x00) // _ADR: Address + Name (_UID, "IIO1PRES") // _UID: Unique ID + OperationRegion (IIOR, PCI_Config, 0x00, 0x02) + Field (IIOR, ByteAcc, NoLock, Preserve) + { + VID0, 16 + } + + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("d8c1a3a6-be9b-4c9b-91bf-c3cb81fc5daf") /* Dynamic Enumeration */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + Return (Buffer (0x01) + { + 0x1F // . + }) + } + Case (0x01) + { + Return (Buffer (0x025C) + { + /* 0000 */ 0x44, 0x52, 0x48, 0x31, 0x00, 0x00, 0x00, 0x00, // DRH1.... + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0080 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0088 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0100 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0108 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0110 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0118 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0120 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0128 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0130 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0138 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0140 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0148 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0150 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0158 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0160 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0168 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0170 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0178 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0180 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0188 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0190 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0198 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0200 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0208 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0210 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0218 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0220 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0228 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0230 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0238 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0240 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0248 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0250 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0258 */ 0x00, 0x00, 0x00, 0x00 // .... + }) + } + Case (0x02) + { + Return (Buffer (0xCC) + { + /* 0000 */ 0x41, 0x54, 0x53, 0x31, 0x00, 0x00, 0x00, 0x00, // ATS1.... + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0080 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0088 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C8 */ 0x00, 0x00, 0x00, 0x00 // .... + }) + } + Case (0x03) + { + Return (Buffer (0x68) + { + /* 0000 */ 0x52, 0x48, 0x53, 0x31, 0x00, 0x00, 0x00, 0x00, // RHS1.... + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + }) + } + Default + { + } + + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local1 = (IIOH >> 0x01) + Local1 &= 0x01 + If ((Local1 == 0x00)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Name (P1RS, ResourceTemplate () + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Granularity + 0x0000, // Range Minimum + 0x00FE, // Range Maximum + 0x0000, // Translation Offset + 0x00FF, // Length + ,, ) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Granularity + 0x00000000, // Range Minimum + 0x00000000, // Range Maximum + 0x00000000, // Translation Offset + 0x00000000, // Length + ,, , AddressRangeMemory, TypeStatic) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x4158, // Range Minimum + 0x0000, // Range Maximum + 0x0000, // Translation Offset + 0x0001, // Length + ,, , TypeStatic, DenseTranslation) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x5758, // Range Minimum + 0x0000, // Range Maximum + 0x0000, // Translation Offset + 0x0000, // Length + ,, , TypeStatic, DenseTranslation) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x5858, // Range Minimum + 0x0000, // Range Maximum + 0x0000, // Translation Offset + 0x0000, // Length + ,, , TypeStatic, DenseTranslation) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, + 0x00000000, // Granularity + 0x00000000, // Range Minimum + 0x00000000, // Range Maximum + 0x00000000, // Translation Offset + 0x00000000, // Length + ,, , AddressRangeMemory, TypeStatic) + QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, + 0x0000000000000000, // Granularity + 0x0000000000000000, // Range Minimum + 0x0000000000000000, // Range Maximum + 0x0000000000000000, // Translation Offset + 0x0000000000000000, // Length + ,, , AddressRangeMemory, TypeStatic) + }) + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Return (P1RS) /* \_SB_.PCI1.P1RS */ + } + + Device (MHP0) + { + Name (_ADR, 0x00050001) // _ADR: Address + Name (_UID, "01-00") // _UID: Unique ID + OperationRegion (MHP0, PCI_Config, 0x0E, 0x02) + Field (MHP0, ByteAcc, NoLock, Preserve) + { + STM2, 7 + } + } + + Device (MHP1) + { + Name (_ADR, 0x00050001) // _ADR: Address + Name (_UID, "01-01") // _UID: Unique ID + OperationRegion (MHP1, PCI_Config, 0x1E, 0x02) + Field (MHP1, ByteAcc, NoLock, Preserve) + { + STM3, 7 + } + } + + Name (_EJD, "\\_SB.SCK1") // _EJD: Ejection Dependent Device + Device (QR1A) + { + Name (_ADR, 0x00010000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80000188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR1A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR1A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR1A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR1A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR1A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR1A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR1A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR1A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR1A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR1A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR1A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR1A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR1A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR1A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR1A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR1A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR1A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR1A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR1A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR1A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR1A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR1A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR1A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR1A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR1A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (QR1B) + { + Name (_ADR, 0x00010001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80008188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR1B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR1B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR1B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR1B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR1B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR1B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR1B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR1B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR1B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR1B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR1B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR1B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR1B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR1B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR1B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR1B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR1B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR1B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR1B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR1B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR1B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR1B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR1B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR1B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR1B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (QR2A) + { + Name (_ADR, 0x00020000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80009188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR2A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR2A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR2A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR2A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR2A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR2A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR2A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR2A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR2A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR2A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR2A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR2A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR2A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR2A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR2A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR2A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR2A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR2A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (QR2B) + { + Name (_ADR, 0x00020001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80010188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR2B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR2B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR2B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR2B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR2B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR2B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR2B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR2B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR2B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR2B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR2B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR2B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR2B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR2B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR2B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR2B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR2B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR2B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (QR2C) + { + Name (_ADR, 0x00020002) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80011188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR2C.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2C.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2C.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR2C.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR2C.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR2C.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR2C.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2C.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR2C.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR2C.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR2C.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR2C.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2C.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR2C.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR2C.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR2C.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR2C.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR2C.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2C.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR2C.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2C.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR2C.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2C.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR2C.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR2C.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (QR2D) + { + Name (_ADR, 0x00020003) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80012188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR2D.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2D.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2D.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR2D.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR2D.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR2D.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR2D.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2D.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR2D.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR2D.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR2D.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR2D.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR2D.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR2D.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR2D.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR2D.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR2D.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR2D.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2D.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR2D.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2D.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR2D.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR2D.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR2D.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR2D.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (QR3A) + { + Name (_ADR, 0x00030000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80013188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR3A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR3A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR3A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR3A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR3A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR3A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR3A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR3A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR3A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR3A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR3A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR3A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR3A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR3A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR3A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR3A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR3A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR3A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (QR3B) + { + Name (_ADR, 0x00030001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80018188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR3B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR3B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR3B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR3B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR3B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR3B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR3B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR3B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR3B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR3B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR3B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR3B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR3B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR3B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR3B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR3B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR3B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR3B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (QR3C) + { + Name (_ADR, 0x00030002) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80019188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR3C.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3C.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3C.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR3C.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR3C.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR3C.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR3C.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3C.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR3C.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR3C.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR3C.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR3C.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3C.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR3C.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR3C.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR3C.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR3C.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR3C.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3C.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR3C.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3C.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR3C.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3C.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR3C.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR3C.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (QR3D) + { + Name (_ADR, 0x00030003) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x8001A188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QR3D.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3D.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3D.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QR3D.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QR3D.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QR3D.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QR3D.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3D.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QR3D.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QR3D.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QR3D.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QR3D.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QR3D.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QR3D.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QR3D.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QR3D.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QR3D.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QR3D.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3D.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QR3D.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3D.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QR3D.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QR3D.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QR3D.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QR3D.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (CB1A) + { + Name (_ADR, 0x00040000) // _ADR: Address + } + + Device (CB1B) + { + Name (_ADR, 0x00040001) // _ADR: Address + } + + Device (CB1C) + { + Name (_ADR, 0x00040002) // _ADR: Address + } + + Device (CB1D) + { + Name (_ADR, 0x00040003) // _ADR: Address + } + + Device (CB1E) + { + Name (_ADR, 0x00040004) // _ADR: Address + } + + Device (CB1F) + { + Name (_ADR, 0x00040005) // _ADR: Address + } + + Device (CB1G) + { + Name (_ADR, 0x00040006) // _ADR: Address + } + + Device (CB1H) + { + Name (_ADR, 0x00040007) // _ADR: Address + } + + Device (QRP0) + { + Name (_ADR, 0x00) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x8001B188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI1.QRP0.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QRP0.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QRP0.SCTL */ + Local0 &= ALMK /* \_SB_.PCI1.QRP0.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI1.QRP0.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI1.QRP0.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI1.QRP0.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QRP0.SCTL */ + Local0 &= PLMK /* \_SB_.PCI1.QRP0.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI1.QRP0.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI1.QRP0.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI1.QRP0.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI1.QRP0.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI1.QRP0.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI1.QRP0.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI1.QRP0.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI1.QRP0.ALMK */ + Local0 |= ALBL /* \_SB_.PCI1.QRP0.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QRP0.SCTL */ + Local0 |= SPOF /* \_SB_.PCI1.QRP0.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QRP0.SCTL */ + Local0 |= PLOF /* \_SB_.PCI1.QRP0.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI1.QRP0.SCTL */ + Local0 |= ALOF /* \_SB_.PCI1.QRP0.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI1.QRP0.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI1") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + } + + Device (PCI2) + { + Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID + Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID + Name (_ADR, 0xFFFF) // _ADR: Address + Method (^BNC0, 0, NotSerialized) + { + Return (0xC0) + } + + Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number + { + Return (BNC0 ()) + } + + Name (_UID, 0xC0) // _UID: Unique ID + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (ARC0) /* \_SB_.ARC0 */ + } + + Return (PRC0) /* \_SB_.PRC0 */ + } + + Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities + { + Name (SUPP, 0x00) + Name (CTRL, 0x00) + CreateDWordField (Arg3, 0x00, CDW1) + CreateDWordField (Arg3, 0x04, CDW2) + If ((Arg2 > 0x02)) + { + CreateDWordField (Arg3, 0x08, CDW3) + } + + If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */)) + { + Return (^^PCI0.XHCI.POSC (Arg1, Arg2, Arg3)) + } + ElseIf ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) + { + SUPP = CDW2 /* \_SB_.PCI2._OSC.CDW2 */ + CTRL = CDW3 /* \_SB_.PCI2._OSC.CDW3 */ + If ((AHPE || ((SUPP & 0x16) != 0x16))) + { + CTRL &= 0x1E + } + Else + { + } + + CTRL &= 0x1D + If (!PEPM) + { + CTRL &= 0x1B + } + + If (!PEER) + { + CTRL &= 0x15 + } + + If (!PECS) + { + CTRL &= 0x0F + } + + Local0 = _BBN () + If ((Local0 == 0x00)) + { + If (~(CDW1 & 0x01)) + { + If ((CTRL & 0x01)) + { + ^^PCI0.BR1A.OSHP () + ^^PCI0.BR1B.OSHP () + ^^PCI0.BR2A.OSHP () + ^^PCI0.BR2B.OSHP () + ^^PCI0.BR2C.OSHP () + ^^PCI0.BR2D.OSHP () + ^^PCI0.BR3A.OSHP () + ^^PCI0.BR3B.OSHP () + ^^PCI0.BR3C.OSHP () + ^^PCI0.BR3D.OSHP () + ^^PCI1.QRP0.OSHP () + ^^PCI1.QR1A.OSHP () + ^^PCI1.QR1B.OSHP () + ^^PCI1.QR2A.OSHP () + ^^PCI1.QR2B.OSHP () + ^^PCI1.QR2C.OSHP () + ^^PCI1.QR2D.OSHP () + ^^PCI1.QR3A.OSHP () + ^^PCI1.QR3B.OSHP () + ^^PCI1.QR3C.OSHP () + ^^PCI1.QR3D.OSHP () + ^RRP0.OSHP () + ^RR1A.OSHP () + ^RR1B.OSHP () + ^RR2A.OSHP () + ^RR2B.OSHP () + ^RR2C.OSHP () + ^RR2D.OSHP () + ^RR3A.OSHP () + ^RR3B.OSHP () + ^RR3C.OSHP () + ^RR3D.OSHP () + ^^PCI3.SRP0.OSHP () + ^^PCI3.SR1A.OSHP () + ^^PCI3.SR1B.OSHP () + ^^PCI3.SR2A.OSHP () + ^^PCI3.SR2B.OSHP () + ^^PCI3.SR2C.OSHP () + ^^PCI3.SR2D.OSHP () + ^^PCI3.SR3A.OSHP () + ^^PCI3.SR3B.OSHP () + ^^PCI3.SR3C.OSHP () + ^^PCI3.SR3D.OSHP () + GPSH = 0x01 + } + } + } + + If ((Arg1 != One)) + { + CDW1 |= 0x08 + } + + If ((CDW3 != CTRL)) + { + CDW1 |= 0x10 + } + + CDW3 = CTRL /* \_SB_.PCI2._OSC.CTRL */ + Return (Arg3) + } + Else + { + CDW1 |= 0x04 + Return (Arg3) + } + } + + Method (BN80, 0, NotSerialized) + { + Return (BBI2) /* \BBI2 */ + } + + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x02) + } + Else + { + Return (0x04) + } + } + + Device (IIOP) + { + Name (_ADR, 0x00) // _ADR: Address + Name (_UID, "IIO2PRES") // _UID: Unique ID + OperationRegion (IIOR, PCI_Config, 0x00, 0x02) + Field (IIOR, ByteAcc, NoLock, Preserve) + { + VID0, 16 + } + + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("d8c1a3a6-be9b-4c9b-91bf-c3cb81fc5daf") /* Dynamic Enumeration */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + Return (Buffer (0x01) + { + 0x1F // . + }) + } + Case (0x01) + { + Return (Buffer (0x025C) + { + /* 0000 */ 0x44, 0x52, 0x48, 0x32, 0x00, 0x00, 0x00, 0x00, // DRH2.... + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0080 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0088 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0100 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0108 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0110 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0118 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0120 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0128 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0130 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0138 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0140 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0148 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0150 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0158 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0160 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0168 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0170 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0178 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0180 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0188 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0190 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0198 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0200 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0208 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0210 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0218 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0220 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0228 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0230 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0238 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0240 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0248 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0250 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0258 */ 0x00, 0x00, 0x00, 0x00 // .... + }) + } + Case (0x02) + { + Return (Buffer (0xCC) + { + /* 0000 */ 0x41, 0x54, 0x53, 0x32, 0x00, 0x00, 0x00, 0x00, // ATS2.... + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0080 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0088 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C8 */ 0x00, 0x00, 0x00, 0x00 // .... + }) + } + Case (0x03) + { + Return (Buffer (0x68) + { + /* 0000 */ 0x52, 0x48, 0x53, 0x32, 0x00, 0x00, 0x00, 0x00, // RHS2.... + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + }) + } + Default + { + } + + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local1 = (IIOH >> 0x02) + Local1 &= 0x01 + If ((Local1 == 0x00)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Name (P2RS, ResourceTemplate () + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Granularity + 0x0000, // Range Minimum + 0x00FE, // Range Maximum + 0x0000, // Translation Offset + 0x00FF, // Length + ,, ) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Granularity + 0x00000000, // Range Minimum + 0x00000000, // Range Maximum + 0x00000000, // Translation Offset + 0x00000000, // Length + ,, , AddressRangeMemory, TypeStatic) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x4558, // Range Minimum + 0x0000, // Range Maximum + 0x0000, // Translation Offset + 0x0001, // Length + ,, , TypeStatic, DenseTranslation) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x4259, // Range Minimum + 0x0000, // Range Maximum + 0x0000, // Translation Offset + 0x0000, // Length + ,, , TypeStatic, DenseTranslation) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x4359, // Range Minimum + 0x0000, // Range Maximum + 0x0000, // Translation Offset + 0x0000, // Length + ,, , TypeStatic, DenseTranslation) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, + 0x00000000, // Granularity + 0x00000000, // Range Minimum + 0x00000000, // Range Maximum + 0x00000000, // Translation Offset + 0x00000000, // Length + ,, , AddressRangeMemory, TypeStatic) + QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, + 0x0000000000000000, // Granularity + 0x0000000000000000, // Range Minimum + 0x0000000000000000, // Range Maximum + 0x0000000000000000, // Translation Offset + 0x0000000000000000, // Length + ,, , AddressRangeMemory, TypeStatic) + }) + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Return (P2RS) /* \_SB_.PCI2.P2RS */ + } + + Device (MHP0) + { + Name (_ADR, 0x00050001) // _ADR: Address + Name (_UID, "02-00") // _UID: Unique ID + OperationRegion (MHP0, PCI_Config, 0x0E, 0x02) + Field (MHP0, ByteAcc, NoLock, Preserve) + { + STM4, 7 + } + } + + Device (MHP1) + { + Name (_ADR, 0x00050001) // _ADR: Address + Name (_UID, "02-01") // _UID: Unique ID + OperationRegion (MHP1, PCI_Config, 0x1E, 0x02) + Field (MHP1, ByteAcc, NoLock, Preserve) + { + STM5, 7 + } + } + + Name (_EJD, "\\_SB.SCK2") // _EJD: Ejection Dependent Device + Device (RRP0) + { + Name (_ADR, 0x00) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80000188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RRP0.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RRP0.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RRP0.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RRP0.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RRP0.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RRP0.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RRP0.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RRP0.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RRP0.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RRP0.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RRP0.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RRP0.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RRP0.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RRP0.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RRP0.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RRP0.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RRP0.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RRP0.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RRP0.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RRP0.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RRP0.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RRP0.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RRP0.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RRP0.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RRP0.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR1A) + { + Name (_ADR, 0x00010000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80008188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR1A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR1A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR1A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR1A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR1A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR1A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR1A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR1A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR1A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR1A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR1A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR1A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR1A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR1A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR1A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR1A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR1A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR1A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR1A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR1A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR1A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR1A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR1A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR1A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR1A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR1B) + { + Name (_ADR, 0x00010001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80009188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR1B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR1B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR1B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR1B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR1B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR1B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR1B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR1B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR1B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR1B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR1B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR1B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR1B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR1B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR1B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR1B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR1B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR1B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR1B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR1B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR1B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR1B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR1B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR1B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR1B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR2A) + { + Name (_ADR, 0x00020000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80010188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR2A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR2A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR2A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR2A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR2A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR2A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR2A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR2A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR2A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR2A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR2A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR2A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR2A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR2A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR2A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR2A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR2A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR2A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR2B) + { + Name (_ADR, 0x00020001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80011188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR2B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR2B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR2B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR2B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR2B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR2B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR2B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR2B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR2B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR2B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR2B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR2B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR2B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR2B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR2B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR2B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR2B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR2B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR2C) + { + Name (_ADR, 0x00020002) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80012188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR2C.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2C.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2C.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR2C.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR2C.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR2C.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR2C.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2C.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR2C.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR2C.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR2C.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR2C.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2C.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR2C.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR2C.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR2C.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR2C.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR2C.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2C.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR2C.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2C.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR2C.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2C.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR2C.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR2C.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR2D) + { + Name (_ADR, 0x00020003) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80013188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR2D.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2D.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2D.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR2D.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR2D.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR2D.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR2D.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2D.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR2D.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR2D.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR2D.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR2D.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR2D.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR2D.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR2D.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR2D.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR2D.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR2D.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2D.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR2D.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2D.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR2D.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR2D.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR2D.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR2D.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR3A) + { + Name (_ADR, 0x00030000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80018188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR3A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR3A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR3A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR3A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR3A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR3A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR3A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR3A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR3A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR3A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR3A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR3A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR3A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR3A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR3A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR3A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR3A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR3A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR3B) + { + Name (_ADR, 0x00030001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80019188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR3B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR3B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR3B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR3B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR3B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR3B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR3B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR3B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR3B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR3B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR3B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR3B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR3B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR3B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR3B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR3B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR3B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR3B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR3C) + { + Name (_ADR, 0x00030002) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x8001A188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR3C.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3C.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3C.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR3C.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR3C.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR3C.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR3C.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3C.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR3C.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR3C.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR3C.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR3C.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3C.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR3C.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR3C.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR3C.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR3C.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR3C.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3C.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR3C.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3C.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR3C.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3C.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR3C.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR3C.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (RR3D) + { + Name (_ADR, 0x00030003) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x8001B188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI2.RR3D.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3D.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3D.SCTL */ + Local0 &= ALMK /* \_SB_.PCI2.RR3D.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI2.RR3D.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI2.RR3D.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI2.RR3D.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3D.SCTL */ + Local0 &= PLMK /* \_SB_.PCI2.RR3D.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI2.RR3D.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI2.RR3D.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI2.RR3D.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI2.RR3D.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI2.RR3D.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI2.RR3D.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI2.RR3D.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI2.RR3D.ALMK */ + Local0 |= ALBL /* \_SB_.PCI2.RR3D.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3D.SCTL */ + Local0 |= SPOF /* \_SB_.PCI2.RR3D.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3D.SCTL */ + Local0 |= PLOF /* \_SB_.PCI2.RR3D.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI2.RR3D.SCTL */ + Local0 |= ALOF /* \_SB_.PCI2.RR3D.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI2.RR3D.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI2") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (CB2A) + { + Name (_ADR, 0x00040000) // _ADR: Address + } + + Device (CB2B) + { + Name (_ADR, 0x00040001) // _ADR: Address + } + + Device (CB2C) + { + Name (_ADR, 0x00040002) // _ADR: Address + } + + Device (CB2D) + { + Name (_ADR, 0x00040003) // _ADR: Address + } + + Device (CB2E) + { + Name (_ADR, 0x00040004) // _ADR: Address + } + + Device (CB2F) + { + Name (_ADR, 0x00040005) // _ADR: Address + } + + Device (CB2G) + { + Name (_ADR, 0x00040006) // _ADR: Address + } + + Device (CB2H) + { + Name (_ADR, 0x00040007) // _ADR: Address + } + } + + Device (PCI3) + { + Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID + Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID + Name (_ADR, 0xFFFF) // _ADR: Address + Method (^BNE0, 0, NotSerialized) + { + Return (0xE0) + } + + Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number + { + Return (BNE0 ()) + } + + Name (_UID, 0xE0) // _UID: Unique ID + Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table + { + If (PICM) + { + Return (ARE0) /* \_SB_.ARE0 */ + } + + Return (PRE0) /* \_SB_.PRE0 */ + } + + Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities + { + Name (SUPP, 0x00) + Name (CTRL, 0x00) + CreateDWordField (Arg3, 0x00, CDW1) + CreateDWordField (Arg3, 0x04, CDW2) + If ((Arg2 > 0x02)) + { + CreateDWordField (Arg3, 0x08, CDW3) + } + + If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */)) + { + Return (^^PCI0.XHCI.POSC (Arg1, Arg2, Arg3)) + } + ElseIf ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) + { + SUPP = CDW2 /* \_SB_.PCI3._OSC.CDW2 */ + CTRL = CDW3 /* \_SB_.PCI3._OSC.CDW3 */ + If ((AHPE || ((SUPP & 0x16) != 0x16))) + { + CTRL &= 0x1E + } + Else + { + } + + CTRL &= 0x1D + If (!PEPM) + { + CTRL &= 0x1B + } + + If (!PEER) + { + CTRL &= 0x15 + } + + If (!PECS) + { + CTRL &= 0x0F + } + + Local0 = _BBN () + If ((Local0 == 0x00)) + { + If (~(CDW1 & 0x01)) + { + If ((CTRL & 0x01)) + { + ^^PCI0.BR1A.OSHP () + ^^PCI0.BR1B.OSHP () + ^^PCI0.BR2A.OSHP () + ^^PCI0.BR2B.OSHP () + ^^PCI0.BR2C.OSHP () + ^^PCI0.BR2D.OSHP () + ^^PCI0.BR3A.OSHP () + ^^PCI0.BR3B.OSHP () + ^^PCI0.BR3C.OSHP () + ^^PCI0.BR3D.OSHP () + ^^PCI1.QRP0.OSHP () + ^^PCI1.QR1A.OSHP () + ^^PCI1.QR1B.OSHP () + ^^PCI1.QR2A.OSHP () + ^^PCI1.QR2B.OSHP () + ^^PCI1.QR2C.OSHP () + ^^PCI1.QR2D.OSHP () + ^^PCI1.QR3A.OSHP () + ^^PCI1.QR3B.OSHP () + ^^PCI1.QR3C.OSHP () + ^^PCI1.QR3D.OSHP () + ^^PCI2.RRP0.OSHP () + ^^PCI2.RR1A.OSHP () + ^^PCI2.RR1B.OSHP () + ^^PCI2.RR2A.OSHP () + ^^PCI2.RR2B.OSHP () + ^^PCI2.RR2C.OSHP () + ^^PCI2.RR2D.OSHP () + ^^PCI2.RR3A.OSHP () + ^^PCI2.RR3B.OSHP () + ^^PCI2.RR3C.OSHP () + ^^PCI2.RR3D.OSHP () + ^SRP0.OSHP () + ^SR1A.OSHP () + ^SR1B.OSHP () + ^SR2A.OSHP () + ^SR2B.OSHP () + ^SR2C.OSHP () + ^SR2D.OSHP () + ^SR3A.OSHP () + ^SR3B.OSHP () + ^SR3C.OSHP () + ^SR3D.OSHP () + GPSH = 0x01 + } + } + } + + If ((Arg1 != One)) + { + CDW1 |= 0x08 + } + + If ((CDW3 != CTRL)) + { + CDW1 |= 0x10 + } + + CDW3 = CTRL /* \_SB_.PCI3._OSC.CTRL */ + Return (Arg3) + } + Else + { + CDW1 |= 0x04 + Return (Arg3) + } + } + + Method (BNC0, 0, NotSerialized) + { + Return (BBI3) /* \BBI3 */ + } + + Method (_PXM, 0, NotSerialized) // _PXM: Device Proximity + { + If ((CLOD == 0x00)) + { + Return (0x03) + } + Else + { + Return (0x06) + } + } + + Device (IIOP) + { + Name (_ADR, 0x00) // _ADR: Address + Name (_UID, "IIO3PRES") // _UID: Unique ID + OperationRegion (IIOR, PCI_Config, 0x00, 0x02) + Field (IIOR, ByteAcc, NoLock, Preserve) + { + VID0, 16 + } + + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("d8c1a3a6-be9b-4c9b-91bf-c3cb81fc5daf") /* Dynamic Enumeration */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + Return (Buffer (0x01) + { + 0x1F // . + }) + } + Case (0x01) + { + Return (Buffer (0x025C) + { + /* 0000 */ 0x44, 0x52, 0x48, 0x33, 0x00, 0x00, 0x00, 0x00, // DRH3.... + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0080 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0088 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0100 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0108 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0110 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0118 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0120 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0128 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0130 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0138 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0140 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0148 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0150 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0158 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0160 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0168 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0170 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0178 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0180 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0188 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0190 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0198 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01E0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01E8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01F0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 01F8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0200 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0208 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0210 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0218 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0220 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0228 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0230 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0238 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0240 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0248 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0250 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0258 */ 0x00, 0x00, 0x00, 0x00 // .... + }) + } + Case (0x02) + { + Return (Buffer (0xCC) + { + /* 0000 */ 0x41, 0x54, 0x53, 0x33, 0x00, 0x00, 0x00, 0x00, // ATS3.... + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0080 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0088 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 00C8 */ 0x00, 0x00, 0x00, 0x00 // .... + }) + } + Case (0x03) + { + Return (Buffer (0x68) + { + /* 0000 */ 0x52, 0x48, 0x53, 0x33, 0x00, 0x00, 0x00, 0x00, // RHS3.... + /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ + /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ + }) + } + Default + { + } + + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local1 = (IIOH >> 0x03) + Local1 &= 0x01 + If ((Local1 == 0x00)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Name (P3RS, ResourceTemplate () + { + WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, + 0x0000, // Granularity + 0x0000, // Range Minimum + 0x00FE, // Range Maximum + 0x0000, // Translation Offset + 0x00FF, // Length + ,, ) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, + 0x00000000, // Granularity + 0x00000000, // Range Minimum + 0x00000000, // Range Maximum + 0x00000000, // Translation Offset + 0x00000000, // Length + ,, , AddressRangeMemory, TypeStatic) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x4958, // Range Minimum + 0x0000, // Range Maximum + 0x0000, // Translation Offset + 0x0001, // Length + ,, , TypeStatic, DenseTranslation) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x4559, // Range Minimum + 0x0000, // Range Maximum + 0x0000, // Translation Offset + 0x0000, // Length + ,, , TypeStatic, DenseTranslation) + WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, + 0x0000, // Granularity + 0x4659, // Range Minimum + 0x0000, // Range Maximum + 0x0000, // Translation Offset + 0x0000, // Length + ,, , TypeStatic, DenseTranslation) + DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, + 0x00000000, // Granularity + 0x00000000, // Range Minimum + 0x00000000, // Range Maximum + 0x00000000, // Translation Offset + 0x00000000, // Length + ,, , AddressRangeMemory, TypeStatic) + QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, + 0x0000000000000000, // Granularity + 0x0000000000000000, // Range Minimum + 0x0000000000000000, // Range Maximum + 0x0000000000000000, // Translation Offset + 0x0000000000000000, // Length + ,, , AddressRangeMemory, TypeStatic) + }) + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Return (P3RS) /* \_SB_.PCI3.P3RS */ + } + + Device (MHP0) + { + Name (_ADR, 0x00050001) // _ADR: Address + Name (_UID, "03-00") // _UID: Unique ID + OperationRegion (MHP0, PCI_Config, 0x0E, 0x02) + Field (MHP0, ByteAcc, NoLock, Preserve) + { + STM6, 7 + } + } + + Device (MHP1) + { + Name (_ADR, 0x00050001) // _ADR: Address + Name (_UID, "03-01") // _UID: Unique ID + OperationRegion (MHP1, PCI_Config, 0x1E, 0x02) + Field (MHP1, ByteAcc, NoLock, Preserve) + { + STM7, 7 + } + } + + Name (_EJD, "\\_SB.SCK3") // _EJD: Ejection Dependent Device + Device (SRP0) + { + Name (_ADR, 0x00) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80000188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SRP0.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SRP0.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SRP0.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SRP0.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SRP0.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SRP0.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SRP0.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SRP0.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SRP0.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SRP0.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SRP0.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SRP0.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SRP0.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SRP0.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SRP0.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SRP0.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SRP0.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SRP0.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SRP0.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SRP0.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SRP0.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SRP0.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SRP0.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SRP0.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SRP0.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR1A) + { + Name (_ADR, 0x00010000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80008188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR1A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR1A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR1A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR1A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR1A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR1A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR1A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR1A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR1A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR1A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR1A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR1A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR1A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR1A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR1A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR1A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR1A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR1A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR1A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR1A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR1A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR1A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR1A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR1A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR1A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR1B) + { + Name (_ADR, 0x00010001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80009188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR1B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR1B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR1B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR1B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR1B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR1B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR1B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR1B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR1B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR1B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR1B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR1B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR1B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR1B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR1B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR1B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR1B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR1B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR1B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR1B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR1B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR1B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR1B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR1B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR1B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR2A) + { + Name (_ADR, 0x00020000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80010188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR2A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR2A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR2A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR2A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR2A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR2A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR2A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR2A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR2A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR2A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR2A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR2A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR2A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR2A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR2A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR2A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR2A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR2A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR2B) + { + Name (_ADR, 0x00020001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80011188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR2B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR2B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR2B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR2B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR2B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR2B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR2B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR2B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR2B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR2B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR2B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR2B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR2B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR2B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR2B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR2B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR2B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR2B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR2C) + { + Name (_ADR, 0x00020002) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80012188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR2C.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2C.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2C.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR2C.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR2C.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR2C.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR2C.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2C.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR2C.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR2C.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR2C.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR2C.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2C.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR2C.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR2C.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR2C.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR2C.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR2C.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2C.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR2C.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2C.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR2C.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2C.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR2C.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR2C.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR2D) + { + Name (_ADR, 0x00020003) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80013188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR2D.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2D.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2D.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR2D.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR2D.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR2D.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR2D.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2D.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR2D.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR2D.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR2D.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR2D.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR2D.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR2D.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR2D.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR2D.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR2D.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR2D.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2D.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR2D.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2D.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR2D.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR2D.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR2D.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR2D.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR3A) + { + Name (_ADR, 0x00030000) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80018188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR3A.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3A.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3A.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR3A.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR3A.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR3A.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR3A.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3A.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR3A.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR3A.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR3A.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR3A.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3A.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR3A.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR3A.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR3A.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR3A.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR3A.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3A.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR3A.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3A.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR3A.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3A.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR3A.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR3A.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR3B) + { + Name (_ADR, 0x00030001) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x80019188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR3B.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3B.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3B.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR3B.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR3B.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR3B.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR3B.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3B.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR3B.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR3B.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR3B.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR3B.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3B.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR3B.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR3B.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR3B.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR3B.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR3B.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3B.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR3B.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3B.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR3B.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3B.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR3B.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR3B.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR3C) + { + Name (_ADR, 0x00030002) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x8001A188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR3C.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3C.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3C.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR3C.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR3C.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR3C.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR3C.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3C.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR3C.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR3C.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR3C.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR3C.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3C.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR3C.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR3C.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR3C.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR3C.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR3C.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3C.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR3C.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3C.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR3C.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3C.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR3C.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR3C.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (SR3D) + { + Name (_ADR, 0x00030003) // _ADR: Address + OperationRegion (MCTL, SystemMemory, 0x8001B188, 0x04) + Field (MCTL, ByteAcc, NoLock, Preserve) + { + , 3, + HGPE, 1, + , 7, + , 8, + , 8 + } + + Method (_INI, 0, NotSerialized) // _INI: Initialize + { + HGPE = 0x01 + } + + Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters + { + 0x08, + 0x40, + 0x01, + 0x00 + }) + Name (SHPC, 0x40) + Name (SPDS, 0x40) + Name (MRLS, 0x00) + Name (CCOM, 0x10) + Name (SPDC, 0x08) + Name (MRLC, 0x04) + Name (SPFD, 0x02) + Name (SABP, 0x01) + Name (SPOF, 0x10) + Name (SPON, 0x0F) + Name (ALMK, 0x1C) + Name (ALON, 0x01) + Name (ALBL, 0x02) + Name (ALOF, 0x03) + Name (PLMK, 0x13) + Name (PLON, 0x04) + Name (PLBL, 0x08) + Name (PLOF, 0x0C) + Name (HPEV, 0x0F) + OperationRegion (PPA4, PCI_Config, 0x00, 0x0100) + Field (PPA4, ByteAcc, NoLock, Preserve) + { + Offset (0xA0), + , 4, + LDIS, 1, + Offset (0xA2), + Offset (0xA4), + ATBP, 1, + , 1, + MRSP, 1, + ATIP, 1, + PWIP, 1, + HPSR, 1, + HPCP, 1, + , 12, + PSNM, 13, + ABIE, 1, + PFIE, 1, + MSIE, 1, + PDIE, 1, + CCIE, 1, + HPIE, 1, + SCTL, 5, + Offset (0xAA), + SSTS, 7, + Offset (0xAB), + Offset (0xB0), + Offset (0xB2), + PMES, 1, + PMEP, 1, + Offset (0xB4) + } + + Method (ATID, 0, NotSerialized) + { + Return ((SCTL & 0x03)) + } + + Method (PWID, 0, NotSerialized) + { + Return (((SCTL & 0x0C) >> 0x02)) + } + + Method (PWCC, 0, NotSerialized) + { + Return (((SCTL & 0x10) >> 0x04)) + } + + Method (ABPS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x01 + } + + Return ((SSTS & 0x01)) + } + + Method (PFDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x02 + } + + Return (((SSTS & 0x02) >> 0x01)) + } + + Method (MSCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x04 + } + + Return (((SSTS & 0x04) >> 0x02)) + } + + Method (PDCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x08 + } + + Return (((SSTS & 0x08) >> 0x03)) + } + + Method (CMCS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x10 + } + + Return (((SSTS & 0x10) >> 0x04)) + } + + Method (MSSC, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x20 + } + + Return (((SSTS & 0x20) >> 0x05)) + } + + Method (PRDS, 1, NotSerialized) + { + If ((Arg0 == 0x01)) + { + SSTS |= 0x40 + } + + Return (((SSTS & 0x40) >> 0x06)) + } + + Method (OSHP, 0, NotSerialized) + { + SSTS = SSTS /* \_SB_.PCI3.SR3D.SSTS */ + HGPE = 0x00 + } + + Method (HPCC, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3D.SCTL */ + Local1 = 0x00 + If ((Arg0 != Local0)) + { + SCTL = Arg0 + While ((!CMCS (0x00) && (0x64 != Local1))) + { + IO80 = 0xFB + Sleep (0x02) + Local1 += 0x02 + } + + CMCS (0x01) + } + } + + Method (ATCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3D.SCTL */ + Local0 &= ALMK /* \_SB_.PCI3.SR3D.ALMK */ + If ((Arg0 == 0x01)) + { + Local0 |= ALON /* \_SB_.PCI3.SR3D.ALON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= ALBL /* \_SB_.PCI3.SR3D.ALBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= ALOF /* \_SB_.PCI3.SR3D.ALOF */ + } + + HPCC (Local0) + } + + Method (PWCM, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3D.SCTL */ + Local0 &= PLMK /* \_SB_.PCI3.SR3D.PLMK */ + If ((Arg0 == 0x01)) + { + Local0 |= PLON /* \_SB_.PCI3.SR3D.PLON */ + } + + If ((Arg0 == 0x02)) + { + Local0 |= PLBL /* \_SB_.PCI3.SR3D.PLBL */ + } + + If ((Arg0 == 0x03)) + { + Local0 |= PLOF /* \_SB_.PCI3.SR3D.PLOF */ + } + + HPCC (Local0) + } + + Method (PWSL, 1, NotSerialized) + { + Local0 = SCTL /* \_SB_.PCI3.SR3D.SCTL */ + If (Arg0) + { + Local0 &= SPON /* \_SB_.PCI3.SR3D.SPON */ + } + Else + { + Local0 |= SPOF /* \_SB_.PCI3.SR3D.SPOF */ + } + + HPCC (Local0) + } + + Method (_OST, 3, Serialized) // _OST: OSPM Status Indication + { + Switch ((Arg0 & 0xFF)) + { + Case (0x03) + { + Switch (ToInteger (Arg1)) + { + Case (Package (0x04) + { + 0x80, + 0x81, + 0x82, + 0x83 + } + +) + { + If (!PWCC ()) + { + PWCM (0x01) + ABIE = 0x01 + } + } + + } + } + + } + } + + Method (EJ0L, 1, NotSerialized) + { + IO80 = 0xFF + Local0 = SCTL /* \_SB_.PCI3.SR3D.SCTL */ + If ((ATID () != 0x01)) + { + Local0 &= ALMK /* \_SB_.PCI3.SR3D.ALMK */ + Local0 |= ALBL /* \_SB_.PCI3.SR3D.ALBL */ + } + + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3D.SCTL */ + Local0 |= SPOF /* \_SB_.PCI3.SR3D.SPOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3D.SCTL */ + Local0 |= PLOF /* \_SB_.PCI3.SR3D.PLOF */ + HPCC (Local0) + Local0 = SCTL /* \_SB_.PCI3.SR3D.SCTL */ + Local0 |= ALOF /* \_SB_.PCI3.SR3D.ALOF */ + HPCC (Local0) + } + + Method (PMEH, 1, NotSerialized) + { + If ((HPEV & SSTS)) + { + If (ABPS (0x00)) + { + ABPS (0x01) + Sleep (0xC8) + } + } + + Return (0xFF) + } + + Method (HPEH, 1, NotSerialized) + { + If (!HPCP) + { + Return (0xFF) + } + + IO80 = 0xFE + Sleep (0x64) + CCIE = 0x00 + If ((HPEV & SSTS)) + { + IO80 = 0xFD + Sleep (0x0A) + Local0 = PPXH (0x00) + Return (Local0) + } + Else + { + Return (0xFF) + } + + IO80 = 0xFC + Sleep (0x0A) + } + + Method (PPXH, 1, NotSerialized) + { + Sleep (0xC8) + If (ABPS (0x00)) + { + If (!PRDS (0x00)) + { + LDIS = 0x01 + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + ABPS (0x01) + Sleep (0xC8) + Return (0xFF) + } + + ABIE = 0x00 + ABPS (0x01) + Sleep (0xC8) + If (PWCC ()) + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABIE = 0x01 + ATCM (0x03) + PWCM (0x02) + Sleep (0x0258) + LDIS = 0x00 + PWSL (0x01) + Sleep (0x01F4) + If (!PFDS (0x00)) + { + PWCM (0x01) + Local1 = 0x00 + ABIE = 0x01 + } + Else + { + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Local1 = 0x03 + ABIE = 0x01 + } + + ABPS (0x01) + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + Else + { + ATCM (0x02) + Sleep (0x0258) + Local0 = 0x0258 + ABPS (0x01) + Sleep (0xC8) + While (!ABPS (0x00)) + { + Sleep (0xC8) + Local0 += 0xC8 + If ((0x1388 == Local0)) + { + ABPS (0x01) + ATCM (0x03) + PWCM (0x02) + Sleep (0xC8) + ABIE = 0x01 + LDIS = 0x01 + PWCM (0x03) + Return (0x03) + } + } + + PWCM (0x01) + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Return (0xFF) + } + } + + If (PFDS (0x00)) + { + PFDS (0x01) + PWSL (0x00) + PWCM (0x03) + ATCM (0x01) + LDIS = 0x01 + Return (0x03) + } + + If (PDCS (0x00)) + { + PDCS (0x01) + If (!PRDS (0x00)) + { + PWSL (0x00) + PWCM (0x03) + If ((MSSC (0x00) == MRLS)) + { + ATCM (0x02) + } + Else + { + ATCM (0x03) + } + + LDIS = 0x01 + Return (0xFF) + } + Else + { + LDIS = 0x00 + ABPS (0x01) + Sleep (0xC8) + ABIE = 0x01 + Sleep (0xC8) + Return (Local1) + } + } + + Return (0xFF) + } + + Method (SNUM, 0, Serialized) + { + Local0 = PSNM /* \_SB_.PCI3.SR3D.PSNM */ + Return (Local0) + } + + Device (H000) + { + Name (_ADR, 0x00) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H001) + { + Name (_ADR, 0x01) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H002) + { + Name (_ADR, 0x02) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H003) + { + Name (_ADR, 0x03) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H004) + { + Name (_ADR, 0x04) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H005) + { + Name (_ADR, 0x05) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H006) + { + Name (_ADR, 0x06) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Device (H007) + { + Name (_ADR, 0x07) // _ADR: Address + Method (_SUN, 0, NotSerialized) // _SUN: Slot User Number + { + Return (SNUM ()) + } + } + + Name (_EJD, "\\_SB.PCI3") // _EJD: Ejection Dependent Device + OperationRegion (PXCS, PCI_Config, 0x00, 0xE0) + Field (PXCS, AnyAcc, NoLock, Preserve) + { + VDID, 32, + Offset (0x54), + , 6, + HPCE, 1, + Offset (0x5A), + ABPX, 1, + , 2, + PDCX, 1, + , 2, + PDSX, 1, + Offset (0x5B), + Offset (0x60), + Offset (0x62), + PMEX, 1, + Offset (0xDC), + , 31, + PMCS, 1 + } + + Method (DEVS, 0, NotSerialized) + { + If ((VDID == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + Return (0x0F) + } + } + + Method (HPME, 0, Serialized) + { + If (PMEX) + { + Local0 = 0xC8 + While (Local0) + { + PMEX = 0x01 + If (PMEX) + { + Local0-- + } + Else + { + Local0 = 0x00 + } + } + + PMCS = 0x01 + } + } + + Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake + { + Return (GPRW (0x09, 0x04)) + } + } + + Device (CB3A) + { + Name (_ADR, 0x00040000) // _ADR: Address + } + + Device (CB3B) + { + Name (_ADR, 0x00040001) // _ADR: Address + } + + Device (CB3C) + { + Name (_ADR, 0x00040002) // _ADR: Address + } + + Device (CB3D) + { + Name (_ADR, 0x00040003) // _ADR: Address + } + + Device (CB3E) + { + Name (_ADR, 0x00040004) // _ADR: Address + } + + Device (CB3F) + { + Name (_ADR, 0x00040005) // _ADR: Address + } + + Device (CB3G) + { + Name (_ADR, 0x00040006) // _ADR: Address + } + + Device (CB3H) + { + Name (_ADR, 0x00040007) // _ADR: Address + } + } + } + + Scope (_GPE) + { + Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF + { + Notify (\_SB.PCI0.XHCI, 0x02) // Device Wake + Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake + Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake + Notify (\_SB.PCI0.GBE0, 0x02) // Device Wake + Notify (\_SB.PWRB, 0x02) // Device Wake + } + } + + Scope (_SB) + { + Device (PWRB) + { + Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID + Name (_UID, 0xAA) // _UID: Unique ID + Name (_STA, 0x0B) // _STA: Status + } + } + + Name (_S0, Package (0x04) // _S0_: S0 System State + { + 0x00, + 0x00, + 0x00, + 0x00 + }) + Name (_S3, Package (0x04) // _S3_: S3 System State + { + 0x05, + 0x00, + 0x00, + 0x00 + }) + Name (_S4, Package (0x04) // _S4_: S4 System State + { + 0x06, + 0x00, + 0x00, + 0x00 + }) + Name (_S5, Package (0x04) // _S5_: S5 System State + { + 0x07, + 0x00, + 0x00, + 0x00 + }) + Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep + { + If (Arg0) + { + RPOP (Arg0) + \_SB.PCI0.LPC0.SIO1.SIOS (Arg0) + \_SB.PCI0.LPC0.SPTS (Arg0) + IPTS (Arg0) + TBPS (Arg0) + \_SB.TPM.TPTS (Arg0) + } + } + + Method (_WAK, 1, NotSerialized) // _WAK: Wake + { + TBWK (Arg0) + IWAK (Arg0) + \_SB.PCI0.LPC0.SWAK (Arg0) + \_SB.PCI0.LPC0.SIO1.SIOW (Arg0) + Return (WAKP) /* \WAKP */ + } + + OperationRegion (ABNV, SystemMemory, 0x7BABC000, 0x0013) + Field (ABNV, AnyAcc, Lock, Preserve) + { + ABMA, 64, + ABMS, 8, + ABIA, 16, + ABIL, 16, + ABRA, 32, + ABRS, 16 + } + + Scope (_GPE) + { + OperationRegion (TCOS, SystemIO, 0x0464, 0x02) + Field (TCOS, ByteAcc, NoLock, WriteAsZeros) + { + Offset (0x01), + , 1, + DSCI, 1 + } + + Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF + { + Sleep (0xC8) + IO80 = 0x01 + Sleep (0x0A) + Local1 = 0x00 + If ((\_SB.PCI0.BR1A.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR1A.PMEH (0x09) + } + Else + { + Local0 = \_SB.PCI0.BR1A.HPEH (0x09) + If ((ToInteger (TBRP) == 0x22)) + { + Local0 = 0xFF + Local1 = 0x01 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x01 + Notify (\_SB.PCI0.BR1A.H000, Local0) + Notify (\_SB.PCI0.BR1A.H001, Local0) + Notify (\_SB.PCI0.BR1A.H002, Local0) + Notify (\_SB.PCI0.BR1A.H003, Local0) + Notify (\_SB.PCI0.BR1A.H004, Local0) + Notify (\_SB.PCI0.BR1A.H005, Local0) + Notify (\_SB.PCI0.BR1A.H006, Local0) + Notify (\_SB.PCI0.BR1A.H007, Local0) + } + + If ((\_SB.PCI0.BR1B.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR1B.PMEH (0x09) + } + Else + { + Local0 = \_SB.PCI0.BR1B.HPEH (0x09) + If ((ToInteger (TBRP) == 0x23)) + { + Local0 = 0xFF + Local1 = 0x01 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x02 + Notify (\_SB.PCI0.BR1B.H000, Local0) + Notify (\_SB.PCI0.BR1B.H001, Local0) + Notify (\_SB.PCI0.BR1B.H002, Local0) + Notify (\_SB.PCI0.BR1B.H003, Local0) + Notify (\_SB.PCI0.BR1B.H004, Local0) + Notify (\_SB.PCI0.BR1B.H005, Local0) + Notify (\_SB.PCI0.BR1B.H006, Local0) + Notify (\_SB.PCI0.BR1B.H007, Local0) + } + + If ((\_SB.PCI0.BR2A.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR2A.PMEH (0x01) + } + Else + { + Local0 = \_SB.PCI0.BR2A.HPEH (0x01) + If ((ToInteger (TBRP) == 0x24)) + { + Local0 = 0xFF + Local1 = 0x01 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x03 + Notify (\_SB.PCI0.BR2A.H000, Local0) + Notify (\_SB.PCI0.BR2A.H001, Local0) + Notify (\_SB.PCI0.BR2A.H002, Local0) + Notify (\_SB.PCI0.BR2A.H003, Local0) + Notify (\_SB.PCI0.BR2A.H004, Local0) + Notify (\_SB.PCI0.BR2A.H005, Local0) + Notify (\_SB.PCI0.BR2A.H006, Local0) + Notify (\_SB.PCI0.BR2A.H007, Local0) + } + + If ((\_SB.PCI0.BR2B.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR2B.PMEH (0x02) + } + Else + { + Local0 = \_SB.PCI0.BR2B.HPEH (0x02) + If ((ToInteger (TBRP) == 0x25)) + { + Local0 = 0xFF + Local1 = 0x02 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x04 + Notify (\_SB.PCI0.BR2B.H000, Local0) + Notify (\_SB.PCI0.BR2B.H001, Local0) + Notify (\_SB.PCI0.BR2B.H002, Local0) + Notify (\_SB.PCI0.BR2B.H003, Local0) + Notify (\_SB.PCI0.BR2B.H004, Local0) + Notify (\_SB.PCI0.BR2B.H005, Local0) + Notify (\_SB.PCI0.BR2B.H006, Local0) + Notify (\_SB.PCI0.BR2B.H007, Local0) + } + + If ((\_SB.PCI0.BR2C.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR2C.PMEH (0x03) + } + Else + { + Local0 = \_SB.PCI0.BR2C.HPEH (0x03) + If ((ToInteger (TBRP) == 0x26)) + { + Local0 = 0xFF + Local1 = 0x03 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x05 + Notify (\_SB.PCI0.BR2C.H000, Local0) + Notify (\_SB.PCI0.BR2C.H001, Local0) + Notify (\_SB.PCI0.BR2C.H002, Local0) + Notify (\_SB.PCI0.BR2C.H003, Local0) + Notify (\_SB.PCI0.BR2C.H004, Local0) + Notify (\_SB.PCI0.BR2C.H005, Local0) + Notify (\_SB.PCI0.BR2C.H006, Local0) + Notify (\_SB.PCI0.BR2C.H007, Local0) + } + + If ((\_SB.PCI0.BR2D.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR2D.PMEH (0x04) + } + Else + { + Local0 = \_SB.PCI0.BR2D.HPEH (0x04) + If ((ToInteger (TBRP) == 0x27)) + { + Local0 = 0xFF + Local1 = 0x04 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x06 + Notify (\_SB.PCI0.BR2D.H000, Local0) + Notify (\_SB.PCI0.BR2D.H001, Local0) + Notify (\_SB.PCI0.BR2D.H002, Local0) + Notify (\_SB.PCI0.BR2D.H003, Local0) + Notify (\_SB.PCI0.BR2D.H004, Local0) + Notify (\_SB.PCI0.BR2D.H005, Local0) + Notify (\_SB.PCI0.BR2D.H006, Local0) + Notify (\_SB.PCI0.BR2D.H007, Local0) + } + + If ((\_SB.PCI0.BR3A.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR3A.PMEH (0x05) + } + Else + { + Local0 = \_SB.PCI0.BR3A.HPEH (0x05) + If ((ToInteger (TBRP) == 0x28)) + { + Local0 = 0xFF + Local1 = 0x05 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x07 + Notify (\_SB.PCI0.BR3A.H000, Local0) + Notify (\_SB.PCI0.BR3A.H001, Local0) + Notify (\_SB.PCI0.BR3A.H002, Local0) + Notify (\_SB.PCI0.BR3A.H003, Local0) + Notify (\_SB.PCI0.BR3A.H004, Local0) + Notify (\_SB.PCI0.BR3A.H005, Local0) + Notify (\_SB.PCI0.BR3A.H006, Local0) + Notify (\_SB.PCI0.BR3A.H007, Local0) + } + + If ((\_SB.PCI0.BR3B.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR3B.PMEH (0x06) + } + Else + { + Local0 = \_SB.PCI0.BR3B.HPEH (0x06) + If ((ToInteger (TBRP) == 0x29)) + { + Local0 = 0xFF + Local1 = 0x06 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x08 + Notify (\_SB.PCI0.BR3B.H000, Local0) + Notify (\_SB.PCI0.BR3B.H001, Local0) + Notify (\_SB.PCI0.BR3B.H002, Local0) + Notify (\_SB.PCI0.BR3B.H003, Local0) + Notify (\_SB.PCI0.BR3B.H004, Local0) + Notify (\_SB.PCI0.BR3B.H005, Local0) + Notify (\_SB.PCI0.BR3B.H006, Local0) + Notify (\_SB.PCI0.BR3B.H007, Local0) + } + + If ((\_SB.PCI0.BR3C.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR3C.PMEH (0x07) + } + Else + { + Local0 = \_SB.PCI0.BR3C.HPEH (0x07) + If ((ToInteger (TBRP) == 0x2A)) + { + Local0 = 0xFF + Local1 = 0x07 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x09 + Notify (\_SB.PCI0.BR3C.H000, Local0) + Notify (\_SB.PCI0.BR3C.H001, Local0) + Notify (\_SB.PCI0.BR3C.H002, Local0) + Notify (\_SB.PCI0.BR3C.H003, Local0) + Notify (\_SB.PCI0.BR3C.H004, Local0) + Notify (\_SB.PCI0.BR3C.H005, Local0) + Notify (\_SB.PCI0.BR3C.H006, Local0) + Notify (\_SB.PCI0.BR3C.H007, Local0) + } + + If ((\_SB.PCI0.BR3D.PMEP == 0x01)) + { + Local0 = \_SB.PCI0.BR3D.PMEH (0x08) + } + Else + { + Local0 = \_SB.PCI0.BR3D.HPEH (0x08) + If ((ToInteger (TBRP) == 0x2B)) + { + Local0 = 0xFF + Local1 = 0x08 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x0A + Notify (\_SB.PCI0.BR3D.H000, Local0) + Notify (\_SB.PCI0.BR3D.H001, Local0) + Notify (\_SB.PCI0.BR3D.H002, Local0) + Notify (\_SB.PCI0.BR3D.H003, Local0) + Notify (\_SB.PCI0.BR3D.H004, Local0) + Notify (\_SB.PCI0.BR3D.H005, Local0) + Notify (\_SB.PCI0.BR3D.H006, Local0) + Notify (\_SB.PCI0.BR3D.H007, Local0) + } + + If ((\_SB.PCI1.QRP0.PMEP == 0x01)) + { + Local0 = \_SB.PCI1.QRP0.PMEH (0x09) + } + Else + { + Local0 = \_SB.PCI1.QRP0.HPEH (0x09) + If ((ToInteger (TBRP) == 0x30)) + { + Local0 = 0xFF + Local1 = 0x09 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x10 + Notify (\_SB.PCI1.QRP0.H000, Local0) + Notify (\_SB.PCI1.QRP0.H001, Local0) + Notify (\_SB.PCI1.QRP0.H002, Local0) + Notify (\_SB.PCI1.QRP0.H003, Local0) + Notify (\_SB.PCI1.QRP0.H004, Local0) + Notify (\_SB.PCI1.QRP0.H005, Local0) + Notify (\_SB.PCI1.QRP0.H006, Local0) + Notify (\_SB.PCI1.QRP0.H007, Local0) + } + + If ((\_SB.PCI1.QR2A.PMEP == 0x01)) + { + Local0 = \_SB.PCI1.QR2A.PMEH (0x01) + } + Else + { + Local0 = \_SB.PCI1.QR2A.HPEH (0x01) + If ((ToInteger (TBRP) == 0x34)) + { + Local0 = 0xFF + Local1 = 0x01 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x11 + Notify (\_SB.PCI1.QR2A.H000, Local0) + Notify (\_SB.PCI1.QR2A.H001, Local0) + Notify (\_SB.PCI1.QR2A.H002, Local0) + Notify (\_SB.PCI1.QR2A.H003, Local0) + Notify (\_SB.PCI1.QR2A.H004, Local0) + Notify (\_SB.PCI1.QR2A.H005, Local0) + Notify (\_SB.PCI1.QR2A.H006, Local0) + Notify (\_SB.PCI1.QR2A.H007, Local0) + } + + If ((\_SB.PCI1.QR2B.PMEP == 0x01)) + { + Local0 = \_SB.PCI1.QR2B.PMEH (0x02) + } + Else + { + Local0 = \_SB.PCI1.QR2B.HPEH (0x02) + If ((ToInteger (TBRP) == 0x35)) + { + Local0 = 0xFF + Local1 = 0x02 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x12 + Notify (\_SB.PCI1.QR2B.H000, Local0) + Notify (\_SB.PCI1.QR2B.H001, Local0) + Notify (\_SB.PCI1.QR2B.H002, Local0) + Notify (\_SB.PCI1.QR2B.H003, Local0) + Notify (\_SB.PCI1.QR2B.H004, Local0) + Notify (\_SB.PCI1.QR2B.H005, Local0) + Notify (\_SB.PCI1.QR2B.H006, Local0) + Notify (\_SB.PCI1.QR2B.H007, Local0) + } + + If ((\_SB.PCI1.QR2C.PMEP == 0x01)) + { + Local0 = \_SB.PCI1.QR2C.PMEH (0x03) + } + Else + { + Local0 = \_SB.PCI1.QR2C.HPEH (0x03) + If ((ToInteger (TBRP) == 0x36)) + { + Local0 = 0xFF + Local1 = 0x03 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x13 + Notify (\_SB.PCI1.QR2C.H000, Local0) + Notify (\_SB.PCI1.QR2C.H001, Local0) + Notify (\_SB.PCI1.QR2C.H002, Local0) + Notify (\_SB.PCI1.QR2C.H003, Local0) + Notify (\_SB.PCI1.QR2C.H004, Local0) + Notify (\_SB.PCI1.QR2C.H005, Local0) + Notify (\_SB.PCI1.QR2C.H006, Local0) + Notify (\_SB.PCI1.QR2C.H007, Local0) + } + + If ((\_SB.PCI1.QR2D.PMEP == 0x01)) + { + Local0 = \_SB.PCI1.QR2D.PMEH (0x04) + } + Else + { + Local0 = \_SB.PCI1.QR2D.HPEH (0x04) + If ((ToInteger (TBRP) == 0x37)) + { + Local0 = 0xFF + Local1 = 0x04 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x14 + Notify (\_SB.PCI1.QR2D.H000, Local0) + Notify (\_SB.PCI1.QR2D.H001, Local0) + Notify (\_SB.PCI1.QR2D.H002, Local0) + Notify (\_SB.PCI1.QR2D.H003, Local0) + Notify (\_SB.PCI1.QR2D.H004, Local0) + Notify (\_SB.PCI1.QR2D.H005, Local0) + Notify (\_SB.PCI1.QR2D.H006, Local0) + Notify (\_SB.PCI1.QR2D.H007, Local0) + } + + If ((\_SB.PCI1.QR3A.PMEP == 0x01)) + { + Local0 = \_SB.PCI1.QR3A.PMEH (0x05) + } + Else + { + Local0 = \_SB.PCI1.QR3A.HPEH (0x05) + If ((ToInteger (TBRP) == 0x38)) + { + Local0 = 0xFF + Local1 = 0x05 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x15 + Notify (\_SB.PCI1.QR3A.H000, Local0) + Notify (\_SB.PCI1.QR3A.H001, Local0) + Notify (\_SB.PCI1.QR3A.H002, Local0) + Notify (\_SB.PCI1.QR3A.H003, Local0) + Notify (\_SB.PCI1.QR3A.H004, Local0) + Notify (\_SB.PCI1.QR3A.H005, Local0) + Notify (\_SB.PCI1.QR3A.H006, Local0) + Notify (\_SB.PCI1.QR3A.H007, Local0) + } + + If ((\_SB.PCI1.QR3B.PMEP == 0x01)) + { + Local0 = \_SB.PCI1.QR3B.PMEH (0x06) + } + Else + { + Local0 = \_SB.PCI1.QR3B.HPEH (0x06) + If ((ToInteger (TBRP) == 0x39)) + { + Local0 = 0xFF + Local1 = 0x06 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x16 + Notify (\_SB.PCI1.QR3B.H000, Local0) + Notify (\_SB.PCI1.QR3B.H001, Local0) + Notify (\_SB.PCI1.QR3B.H002, Local0) + Notify (\_SB.PCI1.QR3B.H003, Local0) + Notify (\_SB.PCI1.QR3B.H004, Local0) + Notify (\_SB.PCI1.QR3B.H005, Local0) + Notify (\_SB.PCI1.QR3B.H006, Local0) + Notify (\_SB.PCI1.QR3B.H007, Local0) + } + + If ((\_SB.PCI1.QR3C.PMEP == 0x01)) + { + Local0 = \_SB.PCI1.QR3C.PMEH (0x07) + } + Else + { + Local0 = \_SB.PCI1.QR3C.HPEH (0x07) + If ((ToInteger (TBRP) == 0x3A)) + { + Local0 = 0xFF + Local1 = 0x07 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x17 + Notify (\_SB.PCI1.QR3C.H000, Local0) + Notify (\_SB.PCI1.QR3C.H001, Local0) + Notify (\_SB.PCI1.QR3C.H002, Local0) + Notify (\_SB.PCI1.QR3C.H003, Local0) + Notify (\_SB.PCI1.QR3C.H004, Local0) + Notify (\_SB.PCI1.QR3C.H005, Local0) + Notify (\_SB.PCI1.QR3C.H006, Local0) + Notify (\_SB.PCI1.QR3C.H007, Local0) + } + + If ((\_SB.PCI1.QR3D.PMEP == 0x01)) + { + Local0 = \_SB.PCI1.QR3D.PMEH (0x08) + } + Else + { + Local0 = \_SB.PCI1.QR3D.HPEH (0x08) + If ((ToInteger (TBRP) == 0x3B)) + { + Local0 = 0xFF + Local1 = 0x08 + } + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x18 + Notify (\_SB.PCI1.QR3D.H000, Local0) + Notify (\_SB.PCI1.QR3D.H001, Local0) + Notify (\_SB.PCI1.QR3D.H002, Local0) + Notify (\_SB.PCI1.QR3D.H003, Local0) + Notify (\_SB.PCI1.QR3D.H004, Local0) + Notify (\_SB.PCI1.QR3D.H005, Local0) + Notify (\_SB.PCI1.QR3D.H006, Local0) + Notify (\_SB.PCI1.QR3D.H007, Local0) + } + + If ((\_SB.PCI2.RRP0.PMEP == 0x01)) + { + Local0 = \_SB.PCI2.RRP0.PMEH (0x09) + } + Else + { + Local0 = \_SB.PCI2.RRP0.HPEH (0x09) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x20 + Notify (\_SB.PCI2.RRP0.H000, Local0) + Notify (\_SB.PCI2.RRP0.H001, Local0) + Notify (\_SB.PCI2.RRP0.H002, Local0) + Notify (\_SB.PCI2.RRP0.H003, Local0) + Notify (\_SB.PCI2.RRP0.H004, Local0) + Notify (\_SB.PCI2.RRP0.H005, Local0) + Notify (\_SB.PCI2.RRP0.H006, Local0) + Notify (\_SB.PCI2.RRP0.H007, Local0) + } + + If ((\_SB.PCI2.RR2A.PMEP == 0x01)) + { + Local0 = \_SB.PCI2.RR2A.PMEH (0x01) + } + Else + { + Local0 = \_SB.PCI2.RR2A.HPEH (0x01) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x21 + Notify (\_SB.PCI2.RR2A.H000, Local0) + Notify (\_SB.PCI2.RR2A.H001, Local0) + Notify (\_SB.PCI2.RR2A.H002, Local0) + Notify (\_SB.PCI2.RR2A.H003, Local0) + Notify (\_SB.PCI2.RR2A.H004, Local0) + Notify (\_SB.PCI2.RR2A.H005, Local0) + Notify (\_SB.PCI2.RR2A.H006, Local0) + Notify (\_SB.PCI2.RR2A.H007, Local0) + } + + If ((\_SB.PCI2.RR2B.PMEP == 0x01)) + { + Local0 = \_SB.PCI2.RR2B.PMEH (0x02) + } + Else + { + Local0 = \_SB.PCI2.RR2B.HPEH (0x02) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x22 + Notify (\_SB.PCI2.RR2B.H000, Local0) + Notify (\_SB.PCI2.RR2B.H001, Local0) + Notify (\_SB.PCI2.RR2B.H002, Local0) + Notify (\_SB.PCI2.RR2B.H003, Local0) + Notify (\_SB.PCI2.RR2B.H004, Local0) + Notify (\_SB.PCI2.RR2B.H005, Local0) + Notify (\_SB.PCI2.RR2B.H006, Local0) + Notify (\_SB.PCI2.RR2B.H007, Local0) + } + + If ((\_SB.PCI2.RR2C.PMEP == 0x01)) + { + Local0 = \_SB.PCI2.RR2C.PMEH (0x03) + } + Else + { + Local0 = \_SB.PCI2.RR2C.HPEH (0x03) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x23 + Notify (\_SB.PCI2.RR2C.H000, Local0) + Notify (\_SB.PCI2.RR2C.H001, Local0) + Notify (\_SB.PCI2.RR2C.H002, Local0) + Notify (\_SB.PCI2.RR2C.H003, Local0) + Notify (\_SB.PCI2.RR2C.H004, Local0) + Notify (\_SB.PCI2.RR2C.H005, Local0) + Notify (\_SB.PCI2.RR2C.H006, Local0) + Notify (\_SB.PCI2.RR2C.H007, Local0) + } + + If ((\_SB.PCI2.RR2D.PMEP == 0x01)) + { + Local0 = \_SB.PCI2.RR2D.PMEH (0x04) + } + Else + { + Local0 = \_SB.PCI2.RR2D.HPEH (0x04) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x24 + Notify (\_SB.PCI2.RR2D.H000, Local0) + Notify (\_SB.PCI2.RR2D.H001, Local0) + Notify (\_SB.PCI2.RR2D.H002, Local0) + Notify (\_SB.PCI2.RR2D.H003, Local0) + Notify (\_SB.PCI2.RR2D.H004, Local0) + Notify (\_SB.PCI2.RR2D.H005, Local0) + Notify (\_SB.PCI2.RR2D.H006, Local0) + Notify (\_SB.PCI2.RR2D.H007, Local0) + } + + If ((\_SB.PCI2.RR3A.PMEP == 0x01)) + { + Local0 = \_SB.PCI2.RR3A.PMEH (0x05) + } + Else + { + Local0 = \_SB.PCI2.RR3A.HPEH (0x05) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x25 + Notify (\_SB.PCI2.RR3A.H000, Local0) + Notify (\_SB.PCI2.RR3A.H001, Local0) + Notify (\_SB.PCI2.RR3A.H002, Local0) + Notify (\_SB.PCI2.RR3A.H003, Local0) + Notify (\_SB.PCI2.RR3A.H004, Local0) + Notify (\_SB.PCI2.RR3A.H005, Local0) + Notify (\_SB.PCI2.RR3A.H006, Local0) + Notify (\_SB.PCI2.RR3A.H007, Local0) + } + + If ((\_SB.PCI2.RR3B.PMEP == 0x01)) + { + Local0 = \_SB.PCI2.RR3B.PMEH (0x06) + } + Else + { + Local0 = \_SB.PCI2.RR3B.HPEH (0x06) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x26 + Notify (\_SB.PCI2.RR3B.H000, Local0) + Notify (\_SB.PCI2.RR3B.H001, Local0) + Notify (\_SB.PCI2.RR3B.H002, Local0) + Notify (\_SB.PCI2.RR3B.H003, Local0) + Notify (\_SB.PCI2.RR3B.H004, Local0) + Notify (\_SB.PCI2.RR3B.H005, Local0) + Notify (\_SB.PCI2.RR3B.H006, Local0) + Notify (\_SB.PCI2.RR3B.H007, Local0) + } + + If ((\_SB.PCI2.RR3C.PMEP == 0x01)) + { + Local0 = \_SB.PCI2.RR3C.PMEH (0x07) + } + Else + { + Local0 = \_SB.PCI2.RR3C.HPEH (0x07) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x27 + Notify (\_SB.PCI2.RR3C.H000, Local0) + Notify (\_SB.PCI2.RR3C.H001, Local0) + Notify (\_SB.PCI2.RR3C.H002, Local0) + Notify (\_SB.PCI2.RR3C.H003, Local0) + Notify (\_SB.PCI2.RR3C.H004, Local0) + Notify (\_SB.PCI2.RR3C.H005, Local0) + Notify (\_SB.PCI2.RR3C.H006, Local0) + Notify (\_SB.PCI2.RR3C.H007, Local0) + } + + If ((\_SB.PCI2.RR3D.PMEP == 0x01)) + { + Local0 = \_SB.PCI2.RR3D.PMEH (0x08) + } + Else + { + Local0 = \_SB.PCI2.RR3D.HPEH (0x08) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x28 + Notify (\_SB.PCI2.RR3D.H000, Local0) + Notify (\_SB.PCI2.RR3D.H001, Local0) + Notify (\_SB.PCI2.RR3D.H002, Local0) + Notify (\_SB.PCI2.RR3D.H003, Local0) + Notify (\_SB.PCI2.RR3D.H004, Local0) + Notify (\_SB.PCI2.RR3D.H005, Local0) + Notify (\_SB.PCI2.RR3D.H006, Local0) + Notify (\_SB.PCI2.RR3D.H007, Local0) + } + + If ((\_SB.PCI3.SRP0.PMEP == 0x01)) + { + Local0 = \_SB.PCI3.SRP0.PMEH (0x00) + } + Else + { + Local0 = \_SB.PCI3.SRP0.HPEH (0x00) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x30 + Notify (\_SB.PCI3.SRP0.H000, Local0) + Notify (\_SB.PCI3.SRP0.H001, Local0) + Notify (\_SB.PCI3.SRP0.H002, Local0) + Notify (\_SB.PCI3.SRP0.H003, Local0) + Notify (\_SB.PCI3.SRP0.H004, Local0) + Notify (\_SB.PCI3.SRP0.H005, Local0) + Notify (\_SB.PCI3.SRP0.H006, Local0) + Notify (\_SB.PCI3.SRP0.H007, Local0) + } + + If ((\_SB.PCI3.SR2A.PMEP == 0x01)) + { + Local0 = \_SB.PCI3.SR2A.PMEH (0x01) + } + Else + { + Local0 = \_SB.PCI3.SR2A.HPEH (0x01) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x31 + Notify (\_SB.PCI3.SR2A.H000, Local0) + Notify (\_SB.PCI3.SR2A.H001, Local0) + Notify (\_SB.PCI3.SR2A.H002, Local0) + Notify (\_SB.PCI3.SR2A.H003, Local0) + Notify (\_SB.PCI3.SR2A.H004, Local0) + Notify (\_SB.PCI3.SR2A.H005, Local0) + Notify (\_SB.PCI3.SR2A.H006, Local0) + Notify (\_SB.PCI3.SR2A.H007, Local0) + } + + If ((\_SB.PCI3.SR2B.PMEP == 0x01)) + { + Local0 = \_SB.PCI3.SR2B.PMEH (0x02) + } + Else + { + Local0 = \_SB.PCI3.SR2B.HPEH (0x02) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x32 + Notify (\_SB.PCI3.SR2B.H000, Local0) + Notify (\_SB.PCI3.SR2B.H001, Local0) + Notify (\_SB.PCI3.SR2B.H002, Local0) + Notify (\_SB.PCI3.SR2B.H003, Local0) + Notify (\_SB.PCI3.SR2B.H004, Local0) + Notify (\_SB.PCI3.SR2B.H005, Local0) + Notify (\_SB.PCI3.SR2B.H006, Local0) + Notify (\_SB.PCI3.SR2B.H007, Local0) + } + + If ((\_SB.PCI3.SR2C.PMEP == 0x01)) + { + Local0 = \_SB.PCI3.SR2C.PMEH (0x03) + } + Else + { + Local0 = \_SB.PCI3.SR2C.HPEH (0x03) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x33 + Notify (\_SB.PCI3.SR2C.H000, Local0) + Notify (\_SB.PCI3.SR2C.H001, Local0) + Notify (\_SB.PCI3.SR2C.H002, Local0) + Notify (\_SB.PCI3.SR2C.H003, Local0) + Notify (\_SB.PCI3.SR2C.H004, Local0) + Notify (\_SB.PCI3.SR2C.H005, Local0) + Notify (\_SB.PCI3.SR2C.H006, Local0) + Notify (\_SB.PCI3.SR2C.H007, Local0) + } + + If ((\_SB.PCI3.SR2D.PMEP == 0x01)) + { + Local0 = \_SB.PCI3.SR2D.PMEH (0x04) + } + Else + { + Local0 = \_SB.PCI3.SR2D.HPEH (0x04) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x34 + Notify (\_SB.PCI3.SR2D.H000, Local0) + Notify (\_SB.PCI3.SR2D.H001, Local0) + Notify (\_SB.PCI3.SR2D.H002, Local0) + Notify (\_SB.PCI3.SR2D.H003, Local0) + Notify (\_SB.PCI3.SR2D.H004, Local0) + Notify (\_SB.PCI3.SR2D.H005, Local0) + Notify (\_SB.PCI3.SR2D.H006, Local0) + Notify (\_SB.PCI3.SR2D.H007, Local0) + } + + If ((\_SB.PCI3.SR3A.PMEP == 0x01)) + { + Local0 = \_SB.PCI3.SR3A.PMEH (0x05) + } + Else + { + Local0 = \_SB.PCI3.SR3A.HPEH (0x05) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x35 + Notify (\_SB.PCI3.SR3A.H000, Local0) + Notify (\_SB.PCI3.SR3A.H001, Local0) + Notify (\_SB.PCI3.SR3A.H002, Local0) + Notify (\_SB.PCI3.SR3A.H003, Local0) + Notify (\_SB.PCI3.SR3A.H004, Local0) + Notify (\_SB.PCI3.SR3A.H005, Local0) + Notify (\_SB.PCI3.SR3A.H006, Local0) + Notify (\_SB.PCI3.SR3A.H007, Local0) + } + + If ((\_SB.PCI3.SR3B.PMEP == 0x01)) + { + Local0 = \_SB.PCI3.SR3B.PMEH (0x06) + } + Else + { + Local0 = \_SB.PCI3.SR3B.HPEH (0x06) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x36 + Notify (\_SB.PCI3.SR3B.H000, Local0) + Notify (\_SB.PCI3.SR3B.H001, Local0) + Notify (\_SB.PCI3.SR3B.H002, Local0) + Notify (\_SB.PCI3.SR3B.H003, Local0) + Notify (\_SB.PCI3.SR3B.H004, Local0) + Notify (\_SB.PCI3.SR3B.H005, Local0) + Notify (\_SB.PCI3.SR3B.H006, Local0) + Notify (\_SB.PCI3.SR3B.H007, Local0) + } + + If ((\_SB.PCI3.SR3C.PMEP == 0x01)) + { + Local0 = \_SB.PCI3.SR3C.PMEH (0x07) + } + Else + { + Local0 = \_SB.PCI3.SR3C.HPEH (0x07) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x37 + Notify (\_SB.PCI3.SR3C.H000, Local0) + Notify (\_SB.PCI3.SR3C.H001, Local0) + Notify (\_SB.PCI3.SR3C.H002, Local0) + Notify (\_SB.PCI3.SR3C.H003, Local0) + Notify (\_SB.PCI3.SR3C.H004, Local0) + Notify (\_SB.PCI3.SR3C.H005, Local0) + Notify (\_SB.PCI3.SR3C.H006, Local0) + Notify (\_SB.PCI3.SR3C.H007, Local0) + } + + If ((\_SB.PCI3.SR3D.PMEP == 0x01)) + { + Local0 = \_SB.PCI3.SR3D.PMEH (0x08) + } + Else + { + Local0 = \_SB.PCI3.SR3D.HPEH (0x08) + } + + If ((Local0 != 0xFF)) + { + Local1 = 0x38 + Notify (\_SB.PCI3.SR3D.H000, Local0) + Notify (\_SB.PCI3.SR3D.H001, Local0) + Notify (\_SB.PCI3.SR3D.H002, Local0) + Notify (\_SB.PCI3.SR3D.H003, Local0) + Notify (\_SB.PCI3.SR3D.H004, Local0) + Notify (\_SB.PCI3.SR3D.H005, Local0) + Notify (\_SB.PCI3.SR3D.H006, Local0) + Notify (\_SB.PCI3.SR3D.H007, Local0) + } + + If ((Local0 != 0x00)) + { + If ((Local1 == 0x01)) + { + \_SB.PCI0.BR1A.PMES = 0x01 + \_SB.PCI0.BR1A.PMEP = 0x01 + } + + If ((Local1 == 0x02)) + { + \_SB.PCI0.BR1B.PMES = 0x01 + \_SB.PCI0.BR1B.PMEP = 0x01 + } + + If ((Local1 == 0x03)) + { + \_SB.PCI0.BR2A.PMES = 0x01 + \_SB.PCI0.BR2A.PMEP = 0x01 + } + + If ((Local1 == 0x04)) + { + \_SB.PCI0.BR2B.PMES = 0x01 + \_SB.PCI0.BR2B.PMEP = 0x01 + } + + If ((Local1 == 0x05)) + { + \_SB.PCI0.BR2C.PMES = 0x01 + \_SB.PCI0.BR2C.PMEP = 0x01 + } + + If ((Local1 == 0x06)) + { + \_SB.PCI0.BR2D.PMES = 0x01 + \_SB.PCI0.BR2D.PMEP = 0x01 + } + + If ((Local1 == 0x07)) + { + \_SB.PCI0.BR3A.PMES = 0x01 + \_SB.PCI0.BR3A.PMEP = 0x01 + } + + If ((Local1 == 0x08)) + { + \_SB.PCI0.BR3B.PMES = 0x01 + \_SB.PCI0.BR3B.PMEP = 0x01 + } + + If ((Local1 == 0x09)) + { + \_SB.PCI0.BR3C.PMES = 0x01 + \_SB.PCI0.BR3C.PMEP = 0x01 + } + + If ((Local1 == 0x0A)) + { + \_SB.PCI0.BR3D.PMES = 0x01 + \_SB.PCI0.BR3D.PMEP = 0x01 + } + + If ((Local1 == 0x10)) + { + \_SB.PCI1.QRP0.PMES = 0x01 + \_SB.PCI1.QRP0.PMEP = 0x01 + } + + If ((Local1 == 0x11)) + { + \_SB.PCI1.QR2A.PMES = 0x01 + \_SB.PCI1.QR2A.PMEP = 0x01 + } + + If ((Local1 == 0x12)) + { + \_SB.PCI1.QR2B.PMES = 0x01 + \_SB.PCI1.QR2B.PMEP = 0x01 + } + + If ((Local1 == 0x13)) + { + \_SB.PCI1.QR2C.PMES = 0x01 + \_SB.PCI1.QR2C.PMEP = 0x01 + } + + If ((Local1 == 0x14)) + { + \_SB.PCI1.QR2D.PMES = 0x01 + \_SB.PCI1.QR2D.PMEP = 0x01 + } + + If ((Local1 == 0x15)) + { + \_SB.PCI1.QR3A.PMES = 0x01 + \_SB.PCI1.QR3A.PMEP = 0x01 + } + + If ((Local1 == 0x16)) + { + \_SB.PCI1.QR3B.PMES = 0x01 + \_SB.PCI1.QR3B.PMEP = 0x01 + } + + If ((Local1 == 0x17)) + { + \_SB.PCI1.QR3C.PMES = 0x01 + \_SB.PCI1.QR3C.PMEP = 0x01 + } + + If ((Local1 == 0x18)) + { + \_SB.PCI1.QR3D.PMES = 0x01 + \_SB.PCI1.QR3D.PMEP = 0x01 + } + + If ((Local1 == 0x20)) + { + \_SB.PCI2.RRP0.PMES = 0x01 + \_SB.PCI2.RRP0.PMEP = 0x01 + } + + If ((Local1 == 0x21)) + { + \_SB.PCI2.RR2A.PMES = 0x01 + \_SB.PCI2.RR2A.PMEP = 0x01 + } + + If ((Local1 == 0x22)) + { + \_SB.PCI2.RR2B.PMES = 0x01 + \_SB.PCI2.RR2B.PMEP = 0x01 + } + + If ((Local1 == 0x23)) + { + \_SB.PCI2.RR2C.PMES = 0x01 + \_SB.PCI2.RR2C.PMEP = 0x01 + } + + If ((Local1 == 0x24)) + { + \_SB.PCI2.RR2D.PMES = 0x01 + \_SB.PCI2.RR2D.PMEP = 0x01 + } + + If ((Local1 == 0x25)) + { + \_SB.PCI2.RR3A.PMES = 0x01 + \_SB.PCI2.RR3A.PMEP = 0x01 + } + + If ((Local1 == 0x26)) + { + \_SB.PCI2.RR3B.PMES = 0x01 + \_SB.PCI2.RR3B.PMEP = 0x01 + } + + If ((Local1 == 0x27)) + { + \_SB.PCI2.RR3C.PMES = 0x01 + \_SB.PCI2.RR3C.PMEP = 0x01 + } + + If ((Local1 == 0x28)) + { + \_SB.PCI2.RR3D.PMES = 0x01 + \_SB.PCI2.RR3D.PMEP = 0x01 + } + + If ((Local1 == 0x30)) + { + \_SB.PCI3.SRP0.PMES = 0x01 + \_SB.PCI3.SRP0.PMEP = 0x01 + } + + If ((Local1 == 0x31)) + { + \_SB.PCI3.SR2A.PMES = 0x01 + \_SB.PCI3.SR2A.PMEP = 0x01 + } + + If ((Local1 == 0x32)) + { + \_SB.PCI3.SR2B.PMES = 0x01 + \_SB.PCI3.SR2B.PMEP = 0x01 + } + + If ((Local1 == 0x33)) + { + \_SB.PCI3.SR2C.PMES = 0x01 + \_SB.PCI3.SR2C.PMEP = 0x01 + } + + If ((Local1 == 0x34)) + { + \_SB.PCI3.SR2D.PMES = 0x01 + \_SB.PCI3.SR2D.PMEP = 0x01 + } + + If ((Local1 == 0x35)) + { + \_SB.PCI3.SR3A.PMES = 0x01 + \_SB.PCI3.SR3A.PMEP = 0x01 + } + + If ((Local1 == 0x36)) + { + \_SB.PCI3.SR3B.PMES = 0x01 + \_SB.PCI3.SR3B.PMEP = 0x01 + } + + If ((Local1 == 0x37)) + { + \_SB.PCI3.SR3C.PMES = 0x01 + \_SB.PCI3.SR3C.PMEP = 0x01 + } + + If ((Local1 == 0x38)) + { + \_SB.PCI3.SR3D.PMES = 0x01 + \_SB.PCI3.SR3D.PMEP = 0x01 + } + + PEES = 0x01 + PMEE = 0x00 + } + } + + Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF + { + If ((\_SB.PCI0.RP01.DEVS () != 0x00)) + { + \_SB.PCI0.RP01.HPME () + Notify (\_SB.PCI0.RP01, 0x02) // Device Wake + } + + If ((\_SB.PCI0.RP02.DEVS () != 0x00)) + { + \_SB.PCI0.RP02.HPME () + Notify (\_SB.PCI0.RP02, 0x02) // Device Wake + } + + If ((\_SB.PCI0.RP03.DEVS () != 0x00)) + { + \_SB.PCI0.RP03.HPME () + Notify (\_SB.PCI0.RP03, 0x02) // Device Wake + } + + If ((\_SB.PCI0.RP04.DEVS () != 0x00)) + { + \_SB.PCI0.RP04.HPME () + Notify (\_SB.PCI0.RP04, 0x02) // Device Wake + } + + If ((\_SB.PCI0.RP05.DEVS () != 0x00)) + { + \_SB.PCI0.RP05.HPME () + Notify (\_SB.PCI0.RP05, 0x02) // Device Wake + } + + If ((\_SB.PCI0.RP06.DEVS () != 0x00)) + { + \_SB.PCI0.RP06.HPME () + Notify (\_SB.PCI0.RP06, 0x02) // Device Wake + } + + If ((\_SB.PCI0.RP07.DEVS () != 0x00)) + { + \_SB.PCI0.RP07.HPME () + Notify (\_SB.PCI0.RP07, 0x02) // Device Wake + } + + If ((\_SB.PCI0.RP08.DEVS () != 0x00)) + { + \_SB.PCI0.RP08.HPME () + Notify (\_SB.PCI0.RP08, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR1A.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR1A, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR1B.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR1B, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR2A.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR2A, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR2B.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR2B, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR2C.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR2C, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR2D.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR2D, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR3A.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR3A, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR3B.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR3B, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR3C.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR3C, 0x02) // Device Wake + } + + If ((\_SB.PCI0.BR3D.DEVS () != 0x00)) + { + Notify (\_SB.PCI0.BR3D, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QRP0.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QRP0, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR1A.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR1A, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR1B.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR1B, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR2A.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR2A, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR2B.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR2B, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR2C.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR2C, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR2D.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR2D, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR3A.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR3A, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR3B.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR3B, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR3C.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR3C, 0x02) // Device Wake + } + + If ((\_SB.PCI1.QR3D.DEVS () != 0x00)) + { + Notify (\_SB.PCI1.QR3D, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RRP0.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RRP0, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR1A.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR1A, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR1B.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR1B, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR2A.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR2A, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR2B.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR2B, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR2C.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR2C, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR2D.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR2D, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR3A.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR3A, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR3B.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR3B, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR3C.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR3C, 0x02) // Device Wake + } + + If ((\_SB.PCI2.RR3D.DEVS () != 0x00)) + { + Notify (\_SB.PCI2.RR3D, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SRP0.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SRP0, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR1A.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR1A, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR1B.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR1B, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR2A.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR2A, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR2B.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR2B, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR2C.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR2C, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR2D.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR2D, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR3A.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR3A, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR3B.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR3B, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR3C.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR3C, 0x02) // Device Wake + } + + If ((\_SB.PCI3.SR3D.DEVS () != 0x00)) + { + Notify (\_SB.PCI3.SR3D, 0x02) // Device Wake + } + } + + OperationRegion (GPB1, SystemIO, GPBS, GPLN) + Field (GPB1, ByteAcc, NoLock, Preserve) + { + Offset (0x0C), + Offset (0x0E), + , 1, + , 1, + GP18, 1, + Offset (0x38), + Offset (0x3A), + , 1, + , 1, + GP50, 1, + , 1, + , 1, + , 1, + GP54, 1 + } + + Method (_L10, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF + { + OperationRegion (DEB0, SystemIO, 0x80, 0x01) + Field (DEB0, ByteAcc, NoLock, Preserve) + { + DBG8, 8 + } + + Notify (\_SB.PCI0.SAT2.PRT0, 0x03) // Eject Request + Sleep (0x01F4) + } + + Method (_L16, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF + { + OperationRegion (DEB0, SystemIO, 0x80, 0x01) + Field (DEB0, ByteAcc, NoLock, Preserve) + { + DBG8, 8 + } + + Notify (\_SB.PCI0.SAT2.PRT1, 0x03) // Eject Request + Sleep (0x01F4) + } + } + + Scope (_SB) + { + Name (\PCAP, 0x00010000) + Name (\PSSW, 0x9B) + Name (\HWPS, 0x00) + Name (\POSC, 0x00) + Name (NITL, 0x00) + OperationRegion (CMOS, SystemIO, 0x70, 0x04) + Field (CMOS, ByteAcc, NoLock, Preserve) + { + IDX0, 7, + Offset (0x01), + DAT0, 8, + IDX1, 7, + Offset (0x03), + DAT1, 8 + } + + IndexField (IDX1, DAT1, ByteAcc, NoLock, Preserve) + { + Offset (0x1B), + WIWH, 8 + } + + Method (SWWE, 1, NotSerialized) + { + SMIS = 0x00 + SMIC = Arg0 + } + + Device (WERR) + { + Name (_HID, EisaId ("PNP0C33") /* Error Device */) // _HID: Hardware ID + Name (_UID, 0x00) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((OSYS >= 0x0C)) + { + If (((PCAP & 0x00010000) && (WHEA == 0x01))) + { + Return (0x0F) + } + } + + Return (0x00) + } + } + + Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities + { + Local0 = Arg3 + CreateDWordField (Local0, 0x00, CPB1) + CreateDWordField (Local0, 0x04, CPB2) + If ((Arg0 == ToUUID ("ed855e0c-6c90-47bf-a62a-26de0fc5ad5c") /* Unknown UUID */)) + { + If ((CPB2 & 0x01)) + { + If (((PCAP & 0x00010000) && (WHEA == 0x01))) + { + If (~(CPB1 & 0x01)) + { + SWWE (0x9E) + } + } + Else + { + CPB2 &= 0xFFFFFFFE + CPB1 |= 0x10 + If (~(CPB1 & 0x01)){} + } + } + + Return (Local0) + } + ElseIf ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */)) + { + If (_OSI ("Windows 2015")) + { + If (((CPB2 & 0x60) == 0x60)) + { + HWPS = 0x01 + } + } + ElseIf (((CPB2 & 0x60) == 0x20)) + { + HWPS = 0x01 + } + + If (((CPB2 & 0x1000) == 0x1000)) + { + POSC = 0x01 + } + ElseIf ((((0x13 == \PLAT) || (0x16 == \PLAT)) || (( + 0x07 == \PLAT) || (0x14 == \PLAT)))) + { + If ((0x00 == NITR)) + { + If ((NITL == 0x00)) + { + NITL = 0x01 + LoadTable ("NITR", "LENOVO", "TC-S00 ", "", "", Zero) + } + } + } + + If ((CPB2 & 0x10)) + { + If (((PCAP & 0x00010000) && (WHEA == 0x01))) + { + WIWH = 0x1B + If (~(CPB1 & 0x01)) + { + SWWE (0x9E) + } + } + Else + { + CPB2 &= 0xFFFFFFEF + CPB1 |= 0x10 + If (~(CPB1 & 0x01)){} + } + } + + Return (Local0) + } + Else + { + If (_OSI ("Windows 2009")) + { + If ((((0x13 == \PLAT) || (0x16 == \PLAT)) || ((0x07 == + \PLAT) || (0x14 == \PLAT)))) + { + If ((0x00 == NITR)) + { + If ((NITL == 0x00)) + { + NITL = 0x01 + LoadTable ("NITR", "LENOVO", "TC-S00 ", "", "", Zero) + } + } + } + } + + Return (^PCI0._OSC (Arg0, Arg1, Arg2, Arg3)) + } + } + + Device (SRIO) + { + Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */) // _HID: Hardware ID + Name (_UID, 0x00) // _UID: Unique ID + Name (_WDG, Buffer (0x14) + { + /* 0000 */ 0xF2, 0xF9, 0x7A, 0x0E, 0xA1, 0x44, 0x6F, 0x4C, // ..z..DoL + /* 0008 */ 0xA4, 0xB0, 0xA7, 0x67, 0x84, 0x80, 0xDA, 0x61, // ...g...a + /* 0010 */ 0x41, 0x41, 0x01, 0x02 // AA.. + }) + Method (_STA, 0, NotSerialized) // _STA: Status + { + Return (0x0F) + } + + Method (WMAA, 3, NotSerialized) + { + Local0 = Arg2 + CreateWordField (Local0, 0x00, CPW0) + CreateByteField (Local0, 0x02, CPB2) + CreateByteField (Local0, 0x04, CPB4) + CreateByteField (Local0, 0x05, CPB5) + WSIS = CPW0 /* \_SB_.SRIO.WMAA.CPW0 */ + WSIB = CPB2 /* \_SB_.SRIO.WMAA.CPB2 */ + WSIF = CPB4 /* \_SB_.SRIO.WMAA.CPB4 */ + If ((Arg1 == 0x01)) + { + WSIC = 0x01 + SWWE (0x9B) + } + + If ((Arg1 == 0x02)) + { + WSIC = 0x02 + SWWE (0x9B) + } + + If ((Arg1 == 0x03)) + { + WSIC = 0x03 + SWWE (0x9B) + } + + Return (WSTS) /* \WSTS */ + } + } + } + + Device (_SB.TPM) + { + Method (_HID, 0, NotSerialized) // _HID: Hardware ID + { + If (TCMF) + { + Return (0x01013469) + } + ElseIf ((TTDP == 0x00)) + { + Return (0x310CD041) + } + Else + { + Return ("MSFT0101") + } + } + + Method (_STR, 0, NotSerialized) // _STR: Description String + { + If ((TTDP == 0x00)) + { + Return (Unicode ("TPM 1.2 Device")) + } + Else + { + Return (Unicode ("TPM 2.0 Device")) + } + } + + Name (_UID, 0x01) // _UID: Unique ID + Name (CRST, ResourceTemplate () + { + Memory32Fixed (ReadOnly, + 0x00000000, // Address Base + 0x00001000, // Address Length + _Y0C) + Memory32Fixed (ReadOnly, + 0xFED70000, // Address Base + 0x00001000, // Address Length + _Y0D) + }) + Name (CRSD, ResourceTemplate () + { + Memory32Fixed (ReadWrite, + 0xFED40000, // Address Base + 0x00005000, // Address Length + _Y0E) + }) + Name (CRSI, ResourceTemplate () + { + Memory32Fixed (ReadWrite, + 0xFED40000, // Address Base + 0x00005000, // Address Length + _Y0F) + }) + Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings + { + If ((AMDT == 0x01)) + { + CreateDWordField (CRST, \_SB.TPM._Y0C._BAS, MTFB) // _BAS: Base Address + CreateDWordField (CRST, \_SB.TPM._Y0C._LEN, LTFB) // _LEN: Length + MTFB = TPMB /* \TPMB */ + LTFB = 0x1000 + CreateDWordField (CRST, \_SB.TPM._Y0D._BAS, MTFC) // _BAS: Base Address + CreateDWordField (CRST, \_SB.TPM._Y0D._LEN, LTFC) // _LEN: Length + MTFC = TPMC /* \TPMC */ + LTFC = 0x1000 + Return (CRST) /* \_SB_.TPM_.CRST */ + } + Else + { + If ((DTPT == 0x01)) + { + CreateDWordField (CRSD, \_SB.TPM._Y0E._BAS, MTFE) // _BAS: Base Address + CreateDWordField (CRSD, \_SB.TPM._Y0E._LEN, LTFE) // _LEN: Length + MTFE = 0xFED40000 + LTFE = 0x0880 + Return (CRSD) /* \_SB_.TPM_.CRSD */ + } + ElseIf ((TTPF == 0x01)) + { + CreateDWordField (CRSI, \_SB.TPM._Y0F._BAS, MTFD) // _BAS: Base Address + CreateDWordField (CRSI, \_SB.TPM._Y0F._LEN, LTFD) // _LEN: Length + MTFD = 0xFED40000 + LTFD = 0x5000 + Return (CRSI) /* \_SB_.TPM_.CRSI */ + } + ElseIf ((TTPF == 0x00)) + { + CreateDWordField (CRSI, \_SB.TPM._Y0F._BAS, MTFF) // _BAS: Base Address + MTFF = TPMM /* \TPMM */ + Return (CRSI) /* \_SB_.TPM_.CRSI */ + } + + MTFE = 0x00 + LTFE = 0x00 + Return (CRSI) /* \_SB_.TPM_.CRSI */ + } + + Return (CRSI) /* \_SB_.TPM_.CRSI */ + } + + OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x5000) + Field (TMMB, ByteAcc, Lock, Preserve) + { + Offset (0x04), + LCST, 32, + Offset (0x40), + CREQ, 32, + CSTS, 32, + Offset (0x4C), + SCMD, 32 + } + + OperationRegion (CRBD, SystemMemory, TPMM, 0x48) + Field (CRBD, AnyAcc, NoLock, Preserve) + { + Offset (0x04), + HERR, 32, + Offset (0x40), + HCMD, 32, + HSTS, 32 + } + + Method (_STA, 0, NotSerialized) // _STA: Status + { + If ((TTDP == 0x00)) + { + If (TPMF) + { + Return (0x0F) + } + + Return (0x00) + } + ElseIf ((TTDP == 0x01)) + { + If (TPMF) + { + Return (0x0F) + } + + Return (0x00) + } + + Return (0x00) + } + + Method (STRT, 3, Serialized) + { + OperationRegion (TPMR, SystemMemory, FTPM, 0x1000) + Field (TPMR, AnyAcc, NoLock, Preserve) + { + Offset (0x04), + FERR, 32, + Offset (0x0C), + BEGN, 32 + } + + Name (TIMR, 0x00) + If ((ToInteger (Arg0) != 0x00)){} + Switch (ToInteger (Arg1)) + { + Case (0x00) + { + Return (Buffer (0x01) + { + 0x03 // . + }) + } + Case (0x01) + { + TIMR = 0x00 + If ((AMDT == 0x01)) + { + While (((BEGN == One) && (TIMR < 0x0200))) + { + If ((BEGN == One)) + { + Sleep (0x01) + TIMR++ + } + } + } + ElseIf ((((HSTS & 0x02) | (HSTS & 0x01) + ) == 0x03)) + { + HCMD = 0x01 + } + Else + { + FERR = 0x01 + BEGN = 0x00 + } + + Return (Zero) + } + + } + + Return (0x01) + } + + Method (CRYF, 3, Serialized) + { + If ((ToInteger (Arg0) != 0x01)){} + Switch (ToInteger (Arg1)) + { + Case (0x00) + { + Return (Buffer (0x01) + { + 0x03 // . + }) + } + Case (0x01) + { + Name (TPMV, Package (0x02) + { + 0x01, + Package (0x02) + { + 0x01, + 0x20 + } + }) + If ((_STA () == 0x00)) + { + Return (Package (0x01) + { + 0x00 + }) + } + + Return (TPMV) /* \_SB_.TPM_.CRYF.TPMV */ + } + + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Scope (_SB.TPM) + { + OperationRegion (TSMI, SystemIO, SMIA, 0x02) + Field (TSMI, WordAcc, NoLock, Preserve) + { + SMI, 16 + } + + OperationRegion (ATNV, SystemMemory, PPIM, PPIL) + Field (ATNV, AnyAcc, NoLock, Preserve) + { + RQST, 32, + RCNT, 32, + ERRO, 32, + FLAG, 32, + MISC, 32, + OPTN, 32, + SRSP, 32 + } + + Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + Return (Buffer (0x02) + { + 0xFF, 0x01 // .. + }) + } + Case (0x01) + { + If ((PPIV == 0x00)) + { + Return ("1.2") + } + Else + { + Return ("1.3") + } + } + Case (0x02) + { + RQST = DerefOf (Arg3 [0x00]) + SRSP = 0x00 + FLAG = 0x02 + TMF1 = OFST /* \OFST */ + SRSP = 0x00 + SMI = TMF1 /* \TMF1 */ + Return (SRSP) /* \_SB_.TPM_.SRSP */ + } + Case (0x03) + { + Name (PPI1, Package (0x02) + { + 0x00, + 0x00 + }) + PPI1 [0x01] = RQST /* \_SB_.TPM_.RQST */ + Return (PPI1) /* \_SB_.TPM_._DSM.PPI1 */ + } + Case (0x04) + { + Return (TRST) /* \TRST */ + } + Case (0x05) + { + Name (PPI2, Package (0x03) + { + 0x00, + 0x00, + 0x00 + }) + SRSP = 0x00 + FLAG = 0x05 + SMI = OFST /* \OFST */ + PPI2 [0x01] = RCNT /* \_SB_.TPM_.RCNT */ + PPI2 [0x02] = ERRO /* \_SB_.TPM_.ERRO */ + Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */ + } + Case (0x06) + { + Return (0x03) + } + Case (0x07) + { + RQST = DerefOf (Arg3 [0x00]) + FLAG = 0x07 + OPTN = 0x00 + If ((RQST == 0x17)) + { + ToInteger (DerefOf (Arg3 [0x01]), OPTN) /* \_SB_.TPM_.OPTN */ + } + + TMF1 = OFST /* \OFST */ + SRSP = 0x00 + SMI = TMF1 /* \TMF1 */ + Return (SRSP) /* \_SB_.TPM_.SRSP */ + } + Case (0x08) + { + RQST = DerefOf (Arg3 [0x00]) + FLAG = 0x08 + TMF1 = OFST /* \OFST */ + SRSP = 0x00 + SMI = TMF1 /* \TMF1 */ + Return (SRSP) /* \_SB_.TPM_.SRSP */ + } + Default + { + } + + } + } + ElseIf ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d") /* Unknown UUID */)) + { + Switch (ToInteger (Arg2)) + { + Case (0x00) + { + Return (Buffer (0x01) + { + 0x03 // . + }) + } + Case (0x01) + { + RQST = DerefOf (Arg3 [0x00]) + FLAG = 0x09 + TMF1 = OFST /* \OFST */ + SRSP = 0x00 + SMI = TMF1 /* \TMF1 */ + Return (SRSP) /* \_SB_.TPM_.SRSP */ + } + Default + { + } + + } + } + + If ((Arg0 == ToUUID ("cf8e16a5-c1e8-4e25-b712-4f54a96702c8") /* Unknown UUID */)) + { + Return (CRYF (Arg1, Arg2, Arg3)) + } + + If ((Arg0 == ToUUID ("6bbf6cab-5463-4714-b7cd-f0203c0368d4") /* Unknown UUID */)) + { + Return (STRT (Arg1, Arg2, Arg3)) + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + + Method (TPTS, 1, NotSerialized) + { + } + } + + Scope (\) + { + Mutex (OSUM, 0x00) + Event (WFEV) + Name (PEMA, 0xE0000000) + Name (TBRP, 0x04) + Name (TBUS, 0xFF) + Name (TBHR, 0xFF) + Name (TBMV, 0xFF) + Name (RPR6, 0x00) + Name (RPR7, 0x00) + Name (RPR8, 0x00) + Name (RPR9, 0x00) + Name (RPRA, 0x00) + Name (RPRB, 0x00) + OperationRegion (TBNV, SystemMemory, 0xFFFF0000, 0x7B7B) + Field (TBNV, AnyAcc, Lock, Preserve) + { + ATSF, 8, + TBHS, 8, + THRS, 8, + TBWS, 8, + G5FE, 8 + } + + OperationRegion (SPRT, SystemIO, 0xB2, 0x02) + Field (SPRT, ByteAcc, Lock, Preserve) + { + SSMP, 8 + } + + Method (TBWK, 1, NotSerialized) + { + \_SB.PCI0.RP05.TWAK (Arg0) + } + + Method (TBPS, 1, NotSerialized) + { + \_SB.PCI0.RP05.TPTS (Arg0) + } + } + + Scope (_SB) + { + Method (TBFP, 1, NotSerialized) + { + OperationRegion (GPR, SystemIO, GPBS, 0x0400) + Field (GPR, ByteAcc, NoLock, Preserve) + { + , 15, + Offset (0x04), + , 15, + Offset (0x0C), + , 15, + TBFG, 1 + } + + If (Arg0) + { + TBFG |= 0x01 + } + Else + { + TBFG &= 0x00 + } + } + + Device (WMTF) + { + Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */) // _HID: Hardware ID + Name (_UID, "TBFP") // _UID: Unique ID + Name (_WDG, Buffer (0x14) + { + /* 0000 */ 0x48, 0xFD, 0xCC, 0x86, 0x5E, 0x20, 0x77, 0x4A, // H...^ wJ + /* 0008 */ 0x9C, 0x48, 0x20, 0x21, 0xCB, 0xED, 0xE3, 0x41, // .H !...A + /* 0010 */ 0x54, 0x46, 0x01, 0x02 // TF.. + }) + Method (WMTF, 3, NotSerialized) + { + CreateByteField (Arg2, 0x00, FP) + If (FP) + { + TBFP (0x01) + } + Else + { + TBFP (0x00) + } + } + } + } + + Scope (_GPE) + { + Method (OSUP, 1, NotSerialized) + { + Local0 = (Arg0 + 0x0548) + OperationRegion (PXVD, SystemMemory, Local0, 0x08) + Field (PXVD, DWordAcc, NoLock, Preserve) + { + TB2P, 32, + P2TB, 32 + } + + Local1 = 0x64 + P2TB = 0x0D + While ((Local1 > 0x00)) + { + Local1 = (Local1 - 0x01) + Local2 = TB2P /* \_GPE.OSUP.TB2P */ + If ((Local2 == 0xFFFFFFFF)) + { + Return (0x02) + } + + If ((Local2 & 0x01)) + { + Break + } + + Sleep (0x32) + } + + P2TB = 0x00 + Return (0x01) + } + + Method (TSXE, 0, NotSerialized) + { + DBG8 = 0x14 + Local0 = MMTB () + OperationRegion (PXVD, SystemMemory, Local0, 0x0550) + Field (PXVD, DWordAcc, NoLock, Preserve) + { + VIDI, 32, + Offset (0x548), + TB2P, 32, + P2TB, 32 + } + + P2TB = 0x09 + Local1 = 0x64 + While ((Local1 > 0x00)) + { + Local1 = (Local1 - 0x01) + Local2 = TB2P /* \_GPE.TSXE.TB2P */ + If ((Local2 == 0xFFFFFFFF)) + { + Return (Zero) + } + + If ((Local2 & 0x01)) + { + Break + } + + Sleep (0x32) + } + + P2TB = 0x00 + Local1 = 0x01F4 + While ((Local1 > 0x00)) + { + Local1 = (Local1 - 0x01) + Local2 = VIDI /* \_GPE.TSXE.VIDI */ + If ((Local2 != 0xFFFFFFFF)) + { + Return (0x00) + } + + Sleep (0x32) + } + + Return (Zero) + } + + Method (MMRP, 0, NotSerialized) + { + Local0 = PEMA /* \PEMA */ + If ((ToInteger (TBRP) < 0x08)) + { + Local0 += 0x000E0000 + Local1 = ToInteger (TBRP) + Local1 *= 0x1000 + Local0 += Local1 + } + Else + { + If (((ToInteger (TBRP) & 0x30) == 0x30)) + { + Local0 += 0x08000000 + } + + Local1 = (ToInteger (TBRP) & 0x0F) + If ((Local1 != 0x00)) + { + Local0 += 0x8000 + If ((Local1 < 0x04)) + { + Divide (Local1, 0x02, Local5, Local4) + Local5 *= 0x1000 + Local0 += Local5 + } + Else + { + Divide (Local1, 0x04, Local5, Local4) + Local4 *= 0x8000 + Local0 += Local4 + Local5 *= 0x1000 + Local0 += Local5 + } + } + } + + Return (Local0) + } + + Method (MMTB, 0, NotSerialized) + { + Local0 = MMRP () + OperationRegion (MMMM, SystemMemory, Local0, 0x1A) + Field (MMMM, AnyAcc, NoLock, Preserve) + { + Offset (0x19), + SBUS, 8 + } + + Local2 = SBUS /* \_GPE.MMTB.SBUS */ + Local0 = PEMA /* \PEMA */ + Local2 *= 0x00100000 + Local0 += Local2 + Return (Local0) + } + + Method (GDRP, 0, NotSerialized) + { + Local0 = MMRP () + OperationRegion (RP_X, SystemMemory, Local0, 0x0100) + Field (RP_X, AnyAcc, NoLock, Preserve) + { + Offset (0x84), + NBPS, 2, + Offset (0xA4), + PSD3, 2, + Offset (0xE4), + HNPS, 2 + } + + If ((ToInteger (TBRP) < 0x20)) + { + PSD3 = 0x00 + Return (PSD3) /* \_GPE.GDRP.PSD3 */ + } + Else + { + HNPS = 0x00 + Return (HNPS) /* \_GPE.GDRP.HNPS */ + } + } + + Method (RPDX, 1, NotSerialized) + { + Local0 = MMRP () + OperationRegion (RP_X, SystemMemory, Local0, 0x0100) + Field (RP_X, AnyAcc, NoLock, Preserve) + { + Offset (0x84), + NBPS, 2, + Offset (0xA4), + PSD3, 2, + Offset (0xE4), + HNPS, 2 + } + + If ((ToInteger (TBRP) < 0x20)) + { + PSD3 = Arg0 + } + Else + { + HNPS = Arg0 + } + + Sleep (0x64) + } + + Method (TBAC, 0, NotSerialized) + { + Acquire (OSUM, 0xFFFF) + Local0 = MMRP () + OperationRegion (RP_X, SystemMemory, Local0, 0x0100) + Field (RP_X, AnyAcc, NoLock, Preserve) + { + Offset (0x08), + RDCC, 32, + Offset (0x18), + PBUS, 8, + SBUS, 8, + SUBS, 8, + Offset (0x84), + NBPS, 2, + Offset (0xA4), + PSD3, 2, + Offset (0xE4), + HNPS, 2 + } + + Local1 = 0x00 + While (0x01) + { + If (((RDCC != 0xFFFFFFFF) && (SBUS != 0xFF))) + { + If (((ToInteger (TBRP) < 0x10) && (PSD3 == 0x00))) + { + Break + } + + If (((ToInteger (TBRP) >= 0x10) && (HNPS == 0x00))) + { + Break + } + } + Else + { + Local1 += 0x01 + If ((Local1 > 0x03E8)) + { + DBG9 = 0x7BAC + Sleep (0x03E8) + Break + } + Else + { + Sleep (0x10) + } + } + } + + Release (OSUM) + } + + Method (NTFY, 0, Serialized) + { + Sleep (0x64) + Switch (ToInteger (TBRP)) + { + Case (0x00) + { + Notify (\_SB.PCI0.RP01, 0x00) // Bus Check + } + Case (0x01) + { + Notify (\_SB.PCI0.RP02, 0x00) // Bus Check + } + Case (0x02) + { + Notify (\_SB.PCI0.RP03, 0x00) // Bus Check + } + Case (0x03) + { + Notify (\_SB.PCI0.RP04, 0x00) // Bus Check + } + Case (0x04) + { + Notify (\_SB.PCI0.RP05, 0x00) // Bus Check + } + Case (0x05) + { + Notify (\_SB.PCI0.RP06, 0x00) // Bus Check + } + Case (0x06) + { + Notify (\_SB.PCI0.RP07, 0x00) // Bus Check + } + Case (0x07) + { + Notify (\_SB.PCI0.RP08, 0x00) // Bus Check + } + Case (0x22) + { + Notify (\_SB.PCI0.BR1A, 0x00) // Bus Check + } + Case (0x23) + { + Notify (\_SB.PCI0.BR1B, 0x00) // Bus Check + } + Case (0x24) + { + Notify (\_SB.PCI0.BR2A, 0x00) // Bus Check + } + Case (0x25) + { + Notify (\_SB.PCI0.BR2B, 0x00) // Bus Check + } + Case (0x26) + { + Notify (\_SB.PCI0.BR2C, 0x00) // Bus Check + } + Case (0x27) + { + Notify (\_SB.PCI0.BR2D, 0x00) // Bus Check + } + Case (0x28) + { + Notify (\_SB.PCI0.BR3A, 0x00) // Bus Check + } + Case (0x29) + { + Notify (\_SB.PCI0.BR3B, 0x00) // Bus Check + } + Case (0x2A) + { + Notify (\_SB.PCI0.BR3C, 0x00) // Bus Check + } + Case (0x2B) + { + Notify (\_SB.PCI0.BR3D, 0x00) // Bus Check + } + Case (0x30) + { + Notify (\_SB.PCI1.QRP0, 0x00) // Bus Check + } + Case (0x32) + { + Notify (\_SB.PCI1.QR1A, 0x00) // Bus Check + } + Case (0x33) + { + Notify (\_SB.PCI1.QR1B, 0x00) // Bus Check + } + Case (0x34) + { + Notify (\_SB.PCI1.QR2A, 0x00) // Bus Check + } + Case (0x35) + { + Notify (\_SB.PCI1.QR2B, 0x00) // Bus Check + } + Case (0x36) + { + Notify (\_SB.PCI1.QR2C, 0x00) // Bus Check + } + Case (0x37) + { + Notify (\_SB.PCI1.QR2D, 0x00) // Bus Check + } + Case (0x38) + { + Notify (\_SB.PCI1.QR3A, 0x00) // Bus Check + } + Case (0x39) + { + Notify (\_SB.PCI1.QR3B, 0x00) // Bus Check + } + Case (0x3A) + { + Notify (\_SB.PCI1.QR3C, 0x00) // Bus Check + } + Case (0x3B) + { + Notify (\_SB.PCI1.QR3C, 0x00) // Bus Check + } + + } + } + + Method (TBFF, 0, NotSerialized) + { + Local0 = MMTB () + OperationRegion (PXVD, SystemMemory, Local0, 0x04) + Field (PXVD, DWordAcc, NoLock, Preserve) + { + VEDI, 32 + } + + Local1 = VEDI /* \_GPE.TBFF.VEDI */ + If ((Local1 == 0xFFFFFFFF)) + { + Return (OSUP (Local0)) + } + Else + { + Return (0x00) + } + } + + Method (GP5F, 0, NotSerialized) + { + Local0 = G5FE /* \G5FE */ + Return (Local0) + } + + Method (GNIS, 0, NotSerialized) + { + If (!GP5F ()) + { + Return (0x00) + } + + Local0 = (MMTB () + 0x0544) + OperationRegion (PXVD, SystemMemory, Local0, 0x08) + Field (PXVD, DWordAcc, NoLock, Preserve) + { + VR15, 1, + Offset (0x04), + TB2P, 32 + } + + Local1 = TB2P /* \_GPE.GNIS.TB2P */ + If ((Local1 == 0xFFFFFFFF)) + { + Return (0x00) + } + + Local2 = VR15 /* \_GPE.GNIS.VR15 */ + If ((Local2 == 0x01)) + { + VR15 = 0x00 + Return (0x00) + } + + Return (0x01) + } + + Method (DMSI, 0, NotSerialized) + { + Local0 = (MMTB () + 0x0548) + OperationRegion (PXVD, SystemMemory, Local0, 0x08) + Field (PXVD, DWordAcc, NoLock, Preserve) + { + TB2P, 32, + P2TB, 32 + } + + Local1 = TB2P /* \_GPE.DMSI.TB2P */ + If ((Local1 == 0x25)) + { + P2TB = 0x25 + Local2 = 0x64 + While ((Local2 > 0x00)) + { + Local2 = (Local2 - 0x01) + Local1 = TB2P /* \_GPE.DMSI.TB2P */ + If ((Local1 == 0xFFFFFFFF)) + { + Return (0x00) + } + + If ((Local1 == 0x24)) + { + Break + } + + Sleep (0x32) + } + + P2TB = 0x00 + Return (0x01) + } + + Return (0x00) + } + + Method (OE1X, 0, NotSerialized) + { + Name (TSNE, 0xFF) + If ((OSVR < 0x0E)) + { + Return (Zero) + } + + Wait (WFEV, 0xFFFF) + Signal (WFEV) + TBAC () + Acquire (OSUM, 0xFFFF) + If ((TBHR != 0x01)) + { + If (GNIS ()) + { + Return (Zero) + } + + If (DMSI ()) + { + Return (Zero) + } + + Local0 = TBFF () + If ((Local0 == 0x01)) + { + Sleep (0x10) + Release (OSUM) + Return (Zero) + } + + If ((Local0 == 0x02)) + { + If ((TSNE & 0x02)) + { + Sleep (0x10) + NTFY () + } + + DBG8 = 0x7D + Release (OSUM) + Return (Zero) + } + } + + If ((TSNE & 0x01)) + { + SSMP = TBSW /* \TBSW */ + } + + If ((TSNE & 0x02)) + { + NTFY () + } + + Sleep (0x10) + Release (OSUM) + } + } + + Scope (_SB.PCI0.RP05) + { + Method (TINI, 0, NotSerialized) + { + If ((OSVR < 0x0E)) + { + Return (Zero) + } + + If (((TBHR != 0xFF) && (TBHR != 0x01))) + { + Acquire (OSUM, 0xFFFF) + DBG8 = 0x51 + \_GPE.TBAC () + Local3 = \_GPE.MMTB () + \_GPE.OSUP (Local3) + Release (OSUM) + Signal (WFEV) + } + } + + Method (TWAK, 1, NotSerialized) + { + Name (RPL1, 0x00) + Name (RPL6, 0x00) + Name (RPL7, 0x00) + Name (RPL8, 0x00) + Name (RPL9, 0x00) + Name (RPLA, 0x00) + Name (RPLB, 0x00) + If ((OSVR < 0x0E)) + { + Return (Zero) + } + + If (((TBHR != 0xFF) && (TBHR != 0x01))) + { + Acquire (OSUM, 0xFFFF) + \_GPE.TBAC () + If ((ToInteger (THRS) == 0x01)) + { + If ((ToInteger (TBWS) == 0x00)) + { + Sleep (0x01F4) + } + + \_GPE.TSXE () + If ((ToInteger (TBRP) > 0x0F)) + { + Sleep (0x0258) + } + } + + Local0 = \_GPE.MMRP () + OperationRegion (RP_X, SystemMemory, Local0, 0x34) + Field (RP_X, DWordAcc, NoLock, Preserve) + { + REG0, 32, + REG1, 32, + REG2, 32, + REG3, 32, + REG4, 32, + REG5, 32, + REG6, 32, + REG7, 32, + REG8, 32, + REG9, 32, + REGA, 32, + REGB, 32, + REGC, 32 + } + + RPL1 = REG1 /* \_SB_.PCI0.RP05.TWAK.REG1 */ + RPL6 = REG6 /* \_SB_.PCI0.RP05.TWAK.REG6 */ + RPL7 = REG7 /* \_SB_.PCI0.RP05.TWAK.REG7 */ + RPL8 = REG8 /* \_SB_.PCI0.RP05.TWAK.REG8 */ + RPL9 = REG9 /* \_SB_.PCI0.RP05.TWAK.REG9 */ + RPLA = REGA /* \_SB_.PCI0.RP05.TWAK.REGA */ + RPLB = REGB /* \_SB_.PCI0.RP05.TWAK.REGB */ + REG6 = RPR6 /* \RPR6 */ + REG7 = RPR7 /* \RPR7 */ + REG8 = RPR8 /* \RPR8 */ + REG9 = RPR9 /* \RPR9 */ + REGA = RPRA /* \RPRA */ + REGB = RPRB /* \RPRB */ + REG1 = 0x00100007 + Local2 = \_GPE.GDRP () + \_GPE.RPDX (Zero) + Local3 = \_GPE.MMTB () + \_GPE.OSUP (Local3) + SSMP = TBSW /* \TBSW */ + REG1 = RPL1 /* \_SB_.PCI0.RP05.TWAK.RPL1 */ + REG6 = RPL6 /* \_SB_.PCI0.RP05.TWAK.RPL6 */ + REG7 = RPL7 /* \_SB_.PCI0.RP05.TWAK.RPL7 */ + REG8 = RPL8 /* \_SB_.PCI0.RP05.TWAK.RPL8 */ + REG9 = RPL9 /* \_SB_.PCI0.RP05.TWAK.RPL9 */ + REGA = RPLA /* \_SB_.PCI0.RP05.TWAK.RPLA */ + REGB = RPLB /* \_SB_.PCI0.RP05.TWAK.RPLB */ + \_GPE.RPDX (Local2) + Release (OSUM) + If ((ToInteger (TBRP) >= 0x20)) + { + \_GPE.NTFY () + } + } + + Signal (WFEV) + } + + Method (TPTS, 1, NotSerialized) + { + If ((OSVR < 0x0E)) + { + Return (Zero) + } + + If (((TBHR != 0xFF) && (TBHR != 0x01))) + { + Acquire (OSUM, 0xFFFF) + Local0 = \_GPE.MMRP () + OperationRegion (RP_X, SystemMemory, Local0, 0x34) + Field (RP_X, DWordAcc, NoLock, Preserve) + { + REG0, 32, + REG1, 32, + REG2, 32, + REG3, 32, + REG4, 32, + REG5, 32, + REG6, 32, + REG7, 32, + REG8, 32, + REG9, 32, + REGA, 32, + REGB, 32, + REGC, 32 + } + + RPR6 = REG6 /* \_SB_.PCI0.RP05.TPTS.REG6 */ + RPR7 = REG7 /* \_SB_.PCI0.RP05.TPTS.REG7 */ + RPR8 = REG8 /* \_SB_.PCI0.RP05.TPTS.REG8 */ + RPR9 = REG9 /* \_SB_.PCI0.RP05.TPTS.REG9 */ + RPRA = REGA /* \_SB_.PCI0.RP05.TPTS.REGA */ + RPRB = REGB /* \_SB_.PCI0.RP05.TPTS.REGB */ + Release (OSUM) + } + + Reset (WFEV) + } + } + + OperationRegion (_SB.PCI0.LPC0.PIX0, PCI_Config, 0x60, 0x0C) + Field (\_SB.PCI0.LPC0.PIX0, ByteAcc, NoLock, Preserve) + { + PIRA, 8, + PIRB, 8, + PIRC, 8, + PIRD, 8, + Offset (0x08), + PIRE, 8, + PIRF, 8, + PIRG, 8, + PIRH, 8 + } + + Scope (_SB) + { + Name (BUFA, ResourceTemplate () + { + IRQ (Level, ActiveLow, Shared, _Y10) + {15} + }) + CreateWordField (BUFA, \_SB._Y10._INT, IRA0) // _INT: Interrupts + Device (LNKA) + { + Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID + Name (_UID, 0x01) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local0 = (PIRA & 0x80) + If (Local0) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + + Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings + { + Return (PRSA) /* \_SB_.PRSA */ + } + + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device + { + PIRA |= 0x80 + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Local0 = (PIRA & 0x0F) + IRA0 = (0x01 << Local0) + Return (BUFA) /* \_SB_.BUFA */ + } + + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + CreateWordField (Arg0, 0x01, IRA) + FindSetRightBit (IRA, Local0) + Local0-- + PIRA = Local0 + } + } + + Device (LNKB) + { + Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID + Name (_UID, 0x02) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local0 = (PIRB & 0x80) + If (Local0) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + + Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings + { + Return (PRSB) /* \_SB_.PRSB */ + } + + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device + { + PIRB |= 0x80 + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Local0 = (PIRB & 0x0F) + IRA0 = (0x01 << Local0) + Return (BUFA) /* \_SB_.BUFA */ + } + + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + CreateWordField (Arg0, 0x01, IRA) + FindSetRightBit (IRA, Local0) + Local0-- + PIRB = Local0 + } + } + + Device (LNKC) + { + Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID + Name (_UID, 0x03) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local0 = (PIRC & 0x80) + If (Local0) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + + Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings + { + Return (PRSC) /* \_SB_.PRSC */ + } + + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device + { + PIRC |= 0x80 + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Local0 = (PIRC & 0x0F) + IRA0 = (0x01 << Local0) + Return (BUFA) /* \_SB_.BUFA */ + } + + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + CreateWordField (Arg0, 0x01, IRA) + FindSetRightBit (IRA, Local0) + Local0-- + PIRC = Local0 + } + } + + Device (LNKD) + { + Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID + Name (_UID, 0x04) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local0 = (PIRD & 0x80) + If (Local0) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + + Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings + { + Return (PRSD) /* \_SB_.PRSD */ + } + + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device + { + PIRD |= 0x80 + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Local0 = (PIRD & 0x0F) + IRA0 = (0x01 << Local0) + Return (BUFA) /* \_SB_.BUFA */ + } + + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + CreateWordField (Arg0, 0x01, IRA) + FindSetRightBit (IRA, Local0) + Local0-- + PIRD = Local0 + } + } + + Device (LNKE) + { + Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID + Name (_UID, 0x05) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local0 = (PIRE & 0x80) + If (Local0) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + + Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings + { + Return (PRSE) /* \_SB_.PRSE */ + } + + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device + { + PIRE |= 0x80 + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Local0 = (PIRE & 0x0F) + IRA0 = (0x01 << Local0) + Return (BUFA) /* \_SB_.BUFA */ + } + + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + CreateWordField (Arg0, 0x01, IRA) + FindSetRightBit (IRA, Local0) + Local0-- + PIRE = Local0 + } + } + + Device (LNKF) + { + Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID + Name (_UID, 0x06) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local0 = (PIRF & 0x80) + If (Local0) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + + Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings + { + Return (PRSF) /* \_SB_.PRSF */ + } + + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device + { + PIRF |= 0x80 + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Local0 = (PIRF & 0x0F) + IRA0 = (0x01 << Local0) + Return (BUFA) /* \_SB_.BUFA */ + } + + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + CreateWordField (Arg0, 0x01, IRA) + FindSetRightBit (IRA, Local0) + Local0-- + PIRF = Local0 + } + } + + Device (LNKG) + { + Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID + Name (_UID, 0x07) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local0 = (PIRG & 0x80) + If (Local0) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + + Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings + { + Return (PRSG) /* \_SB_.PRSG */ + } + + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device + { + PIRG |= 0x80 + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Local0 = (PIRG & 0x0F) + IRA0 = (0x01 << Local0) + Return (BUFA) /* \_SB_.BUFA */ + } + + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + CreateWordField (Arg0, 0x01, IRA) + FindSetRightBit (IRA, Local0) + Local0-- + PIRG = Local0 + } + } + + Device (LNKH) + { + Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID + Name (_UID, 0x08) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + Local0 = (PIRH & 0x80) + If (Local0) + { + Return (0x09) + } + Else + { + Return (0x0B) + } + } + + Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings + { + Return (PRSH) /* \_SB_.PRSH */ + } + + Method (_DIS, 0, NotSerialized) // _DIS: Disable Device + { + PIRH |= 0x80 + } + + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + Local0 = (PIRH & 0x0F) + IRA0 = (0x01 << Local0) + Return (BUFA) /* \_SB_.BUFA */ + } + + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + CreateWordField (Arg0, 0x01, IRA) + FindSetRightBit (IRA, Local0) + Local0-- + PIRH = Local0 + } + } + } + + Scope (_SB) + { + Name (XCPD, 0x00) + Name (XNPT, 0x01) + Name (XCAP, 0x02) + Name (XDCP, 0x04) + Name (XDCT, 0x08) + Name (XDST, 0x0A) + Name (XLCP, 0x0C) + Name (XLCT, 0x10) + Name (XLST, 0x12) + Name (XSCP, 0x14) + Name (XSCT, 0x18) + Name (XSST, 0x1A) + Name (XRCT, 0x1C) + Mutex (MUTE, 0x00) + Method (RBPE, 1, NotSerialized) + { + Acquire (MUTE, 0x03E8) + Local0 = (Arg0 + PEBS) /* \PEBS */ + OperationRegion (PCFG, SystemMemory, Local0, 0x01) + Field (PCFG, ByteAcc, NoLock, Preserve) + { + XCFG, 8 + } + + Release (MUTE) + Return (XCFG) /* \_SB_.RBPE.XCFG */ + } + + Method (RWPE, 1, NotSerialized) + { + Acquire (MUTE, 0x03E8) + Arg0 &= 0xFFFFFFFE + Local0 = (Arg0 + PEBS) /* \PEBS */ + OperationRegion (PCFG, SystemMemory, Local0, 0x02) + Field (PCFG, WordAcc, NoLock, Preserve) + { + XCFG, 16 + } + + Release (MUTE) + Return (XCFG) /* \_SB_.RWPE.XCFG */ + } + + Method (RDPE, 1, NotSerialized) + { + Acquire (MUTE, 0x03E8) + Arg0 &= 0xFFFFFFFC + Local0 = (Arg0 + PEBS) /* \PEBS */ + OperationRegion (PCFG, SystemMemory, Local0, 0x04) + Field (PCFG, DWordAcc, NoLock, Preserve) + { + XCFG, 32 + } + + Release (MUTE) + Return (XCFG) /* \_SB_.RDPE.XCFG */ + } + + Method (WBPE, 2, NotSerialized) + { + Acquire (MUTE, 0x0FFF) + Local0 = (Arg0 + PEBS) /* \PEBS */ + OperationRegion (PCFG, SystemMemory, Local0, 0x01) + Field (PCFG, ByteAcc, NoLock, Preserve) + { + XCFG, 8 + } + + XCFG = Arg1 + Release (MUTE) + } + + Method (WWPE, 2, NotSerialized) + { + Acquire (MUTE, 0x03E8) + Arg0 &= 0xFFFFFFFE + Local0 = (Arg0 + PEBS) /* \PEBS */ + OperationRegion (PCFG, SystemMemory, Local0, 0x02) + Field (PCFG, WordAcc, NoLock, Preserve) + { + XCFG, 16 + } + + XCFG = Arg1 + Release (MUTE) + } + + Method (WDPE, 2, NotSerialized) + { + Acquire (MUTE, 0x03E8) + Arg0 &= 0xFFFFFFFC + Local0 = (Arg0 + PEBS) /* \PEBS */ + OperationRegion (PCFG, SystemMemory, Local0, 0x04) + Field (PCFG, DWordAcc, NoLock, Preserve) + { + XCFG, 32 + } + + XCFG = Arg1 + Release (MUTE) + } + + Method (RWDP, 3, NotSerialized) + { + Acquire (MUTE, 0x03E8) + Arg0 &= 0xFFFFFFFC + Local0 = (Arg0 + PEBS) /* \PEBS */ + OperationRegion (PCFG, SystemMemory, Local0, 0x04) + Field (PCFG, DWordAcc, NoLock, Preserve) + { + XCFG, 32 + } + + Local1 = (XCFG & Arg2) + XCFG = (Local1 | Arg1) + Release (MUTE) + } + + Method (RPME, 1, NotSerialized) + { + Local0 = (Arg0 + 0x84) + Local1 = RDPE (Local0) + If ((Local1 == 0xFFFFFFFF)) + { + Return (0x00) + } + Else + { + If ((Local1 && 0x00010000)) + { + WDPE (Local0, (Local1 & 0x00010000)) + Return (0x01) + } + + Return (0x00) + } + } + } + + Scope (_SB.PCI0.BR1A) + { + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) + { + If (((Arg1 == 0x02) && (Arg2 == 0x00))) + { + Return (Buffer (0x01) + { + 0x80 // . + }) + } + + If (((Arg1 == 0x02) && (Arg2 == 0x07))) + { + Return (Package (0x02) + { + 0x01, + Unicode (" Slot01 x8") + }) + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Scope (_SB.PCI0.BR2A) + { + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) + { + If (((Arg1 == 0x02) && (Arg2 == 0x00))) + { + Return (Buffer (0x01) + { + 0x80 // . + }) + } + + If (((Arg1 == 0x02) && (Arg2 == 0x07))) + { + Return (Package (0x02) + { + 0x06, + Unicode (" Slot06 x16") + }) + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Scope (_SB.PCI0.BR3A) + { + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) + { + If (((Arg1 == 0x02) && (Arg2 == 0x00))) + { + Return (Buffer (0x01) + { + 0x80 // . + }) + } + + If (((Arg1 == 0x02) && (Arg2 == 0x07))) + { + Return (Package (0x02) + { + 0x04, + Unicode (" Slot04 x16") + }) + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Scope (_SB.PCI1.QR1A) + { + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) + { + If (((Arg1 == 0x02) && (Arg2 == 0x00))) + { + Return (Buffer (0x01) + { + 0x80 // . + }) + } + + If (((Arg1 == 0x02) && (Arg2 == 0x07))) + { + Return (Package (0x02) + { + 0x05, + Unicode (" Slot05 x8") + }) + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Scope (_SB.PCI1.QR2A) + { + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) + { + If (((Arg1 == 0x02) && (Arg2 == 0x00))) + { + Return (Buffer (0x01) + { + 0x80 // . + }) + } + + If (((Arg1 == 0x02) && (Arg2 == 0x07))) + { + Return (Package (0x02) + { + 0x02, + Unicode (" Slot02 x16") + }) + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Device (VIRD) + { + Name (_HID, "LBAI0100") // _HID: Hardware ID + Name (_UID, 0x01) // _UID: Unique ID + Method (_STA, 0, NotSerialized) // _STA: Status + { + If (VDFG) + { + Return (0x0F) + } + + Return (0x00) + } + } + + Method (RPOP, 1, NotSerialized) + { + If ((Arg0 == 0x05)) + { + SMIR = WVAL /* \WVAL */ + } + } + + OperationRegion (APMP, SystemIO, IOB2, 0x01) + Field (APMP, ByteAcc, NoLock, Preserve) + { + SMIR, 8 + } + + Device (WMI1) + { + Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID + Name (_UID, 0x01) // _UID: Unique ID + Name (WMIO, 0x7BED1598) + OperationRegion (SMI1, SystemIO, LSMB, 0x04) + Field (SMI1, DWordAcc, NoLock, Preserve) + { + APM2, 32 + } + + OperationRegion (WMIN, SystemMemory, WMIO, 0x0A) + Field (WMIN, AnyAcc, NoLock, Preserve) + { + CMD7, 8, + STUS, 8, + DATA, 64 + } + + OperationRegion (CMOS, SystemIO, 0x70, 0x02) + Field (CMOS, ByteAcc, NoLock, Preserve) + { + CMSX, 8, + CMSD, 8 + } + + Method (CMSW, 2, NotSerialized) + { + CMSX = Arg0 + CMSD = Arg1 + } + + OperationRegion (IO80, SystemIO, 0x80, 0x01) + Field (IO80, ByteAcc, NoLock, Preserve) + { + DBGP, 8 + } + + OperationRegion (SMI0, SystemIO, LSMB, 0x01) + Field (SMI0, ByteAcc, NoLock, Preserve) + { + APMC, 8 + } + + OperationRegion (GPL3, SystemIO, GPBS, GPLN) + Field (GPL3, ByteAcc, NoLock, Preserve) + { + Offset (0x48), + BRID, 8 + } + + OperationRegion (WMIM, SystemMemory, WMIO, WMSZ) + Field (WMIM, AnyAcc, NoLock, Preserve) + { + CMD, 8, + ERR, 32, + PAR0, 32, + PAR1, 32, + PAR2, 32, + PAR3, 32 + } + + Field (WMIM, ByteAcc, NoLock, Preserve) + { + Offset (0x15), + WITM, 8, + WSEL, 8, + WS16, 16, + WS32, 32, + WLST, 400, + INCL, 400, + WENC, 8, + WKBD, 8, + WPTY, 8, + WPAS, 1032, + WPNW, 1032, + WPAP, 1032, + WSPM, 8, + WSPS, 8, + WSMN, 8, + WSMX, 8, + WSEN, 8, + WSKB, 8, + HDP0, 8, + HDP1, 8, + HDP2, 8, + HDP3, 8, + HDP4, 8, + HDP5, 8, + HDP6, 8, + HDP7, 8, + HDP8, 8, + HDP9, 8, + HDPA, 8, + HDPB, 8, + HDPC, 8, + HDPD, 8, + BID, 8 + } + + Mutex (MSMI, 0x07) + Mutex (RSMI, 0x07) + Method (SMIK, 0, NotSerialized) + { + Acquire (RSMI, 0xFFFF) + APM2 = 0x534D01EF + Release (RSMI) + } + + Method (SMI, 5, NotSerialized) + { + Acquire (MSMI, 0xFFFF) + CMD = Arg0 + PAR0 = Arg1 + PAR1 = Arg2 + PAR2 = Arg3 + PAR3 = Arg4 + APMC = 0x2F + While ((ERR == 0x01)) + { + Sleep (0x64) + APMC = 0x2F + } + + Local0 = PAR0 /* \WMI1.PAR0 */ + Release (MSMI) + Return (Local0) + } + + Method (WMIS, 2, NotSerialized) + { + Return (SMI (0x10, Arg0, Arg1, 0x00, 0x00)) + } + + Method (PMON, 3, NotSerialized) + { + Return (SMI (0x11, Arg1, Arg2, 0x00, 0x00)) + } + + Name (_WDG, Buffer (0xC8) + { + /* 0000 */ 0x0E, 0x23, 0xF5, 0x51, 0x77, 0x96, 0xCD, 0x46, // .#.Qw..F + /* 0008 */ 0xA1, 0xCF, 0xC0, 0xB2, 0x3E, 0xE3, 0x4D, 0xB7, // ....>.M. + /* 0010 */ 0x41, 0x30, 0xFF, 0x05, 0x64, 0x9A, 0x47, 0x98, // A0..d.G. + /* 0018 */ 0xF5, 0x33, 0x33, 0x4E, 0xA7, 0x07, 0x8E, 0x25, // .33N...% + /* 0020 */ 0x1E, 0xBB, 0xC3, 0xA1, 0x41, 0x31, 0x01, 0x06, // ....A1.. + /* 0028 */ 0xEF, 0x54, 0x4B, 0x6A, 0xED, 0xA5, 0x33, 0x4D, // .TKj..3M + /* 0030 */ 0x94, 0x55, 0xB0, 0xD9, 0xB4, 0x8D, 0xF4, 0xB3, // .U...... + /* 0038 */ 0x41, 0x32, 0x01, 0x06, 0xB6, 0xEB, 0xF1, 0x74, // A2.....t + /* 0040 */ 0x7A, 0x92, 0x7D, 0x4C, 0x95, 0xDF, 0x69, 0x8E, // z.}L..i. + /* 0048 */ 0x21, 0xE8, 0x0E, 0xB5, 0x41, 0x33, 0x01, 0x06, // !...A3.. + /* 0050 */ 0xFF, 0x04, 0xEF, 0x7E, 0x28, 0x43, 0x7C, 0x44, // ...~(C|D + /* 0058 */ 0xB5, 0xBB, 0xD4, 0x49, 0x92, 0x5D, 0x53, 0x8D, // ...I.]S. + /* 0060 */ 0x41, 0x34, 0x01, 0x06, 0x9E, 0x15, 0xDB, 0x8A, // A4...... + /* 0068 */ 0x32, 0x1E, 0x5C, 0x45, 0xBC, 0x93, 0x30, 0x8A, // 2.\E..0. + /* 0070 */ 0x7E, 0xD9, 0x82, 0x46, 0x41, 0x35, 0x01, 0x01, // ~..FA5.. + /* 0078 */ 0xFD, 0xD9, 0x51, 0x26, 0x1C, 0x91, 0x69, 0x4B, // ..Q&..iK + /* 0080 */ 0xB9, 0x4E, 0xD0, 0xDE, 0xD5, 0x96, 0x3B, 0xD7, // .N....;. + /* 0088 */ 0x41, 0x36, 0x01, 0x06, 0xF8, 0x44, 0xAE, 0x7B, // A6...D.{ + /* 0090 */ 0x53, 0x38, 0x2B, 0x4D, 0xB9, 0x8B, 0xF8, 0x40, // S8+M...@ + /* 0098 */ 0xD7, 0xAC, 0x26, 0xB6, 0x43, 0x30, 0x01, 0x01, // ..&.C0.. + /* 00A0 */ 0xF8, 0x44, 0xAE, 0x8B, 0x53, 0x38, 0x2B, 0x4D, // .D..S8+M + /* 00A8 */ 0xB9, 0x8B, 0xF8, 0x40, 0xD7, 0xAC, 0x26, 0xB6, // ...@..&. + /* 00B0 */ 0x43, 0x31, 0x01, 0x02, 0x21, 0x12, 0x90, 0x05, // C1..!... + /* 00B8 */ 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, // f....... + /* 00C0 */ 0xC9, 0x06, 0x29, 0x10, 0x43, 0x41, 0x01, 0x00 // ..).CA.. + }) + Name (RETN, Package (0x06) + { + "Success", + "Not Supported", + "Invalid Parameter", + "Access Denied", + "System Busy", + "Item is show only, inaccessible." + }) + Name (ITEM, Package (0x94) + { + Package (0x03) + { + 0x00, + "Serial Port", + 0x00 + }, + + Package (0x03) + { + 0x00, + "SATA Controller", + 0x02 + }, + + Package (0x03) + { + 0x12, + "Configure SATA as", + 0x03 + }, + + Package (0x03) + { + 0x00, + "SATA Port 1", + 0x07 + }, + + Package (0x03) + { + 0x00, + "SATA Port 2", + 0x0B + }, + + Package (0x03) + { + 0x00, + "SATA Port 3", + 0x0F + }, + + Package (0x03) + { + 0x00, + "SATA Port 4", + 0x13 + }, + + Package (0x03) + { + 0x00, + "sSATA Controller", + 0x1F + }, + + Package (0x03) + { + 0x12, + "Configure sSATA as", + 0x20 + }, + + Package (0x03) + { + 0x00, + "sSATA Port 1", + 0x24 + }, + + Package (0x03) + { + 0x00, + "sSATA Port 2", + 0x28 + }, + + Package (0x03) + { + 0x00, + "sSATA Port 3", + 0x2C + }, + + Package (0x03) + { + 0x00, + "sSATA Port 4", + 0x30 + }, + + Package (0x03) + { + 0x00, + "All USB Devices", + 0x34 + }, + + Package (0x03) + { + 0x26, + "xHCI Mode", + 0x35 + }, + + Package (0x03) + { + 0x03, + "Legacy USB Support", + 0x36 + }, + + Package (0x03) + { + 0x27, + "Power USB Ports in S4/S5", + 0x37 + }, + + Package (0x03) + { + 0x00, + "XHCI Hand-off", + 0x38 + }, + + Package (0x03) + { + 0x00, + "EHCI Hand-off", + 0x39 + }, + + Package (0x03) + { + 0x00, + "USB Mass Storage Driver Support", + 0x3A + }, + + Package (0x03) + { + 0x28, + "USB transfer time-out", + 0x3B + }, + + Package (0x03) + { + 0x29, + "USB Device reset time-out", + 0x3C + }, + + Package (0x03) + { + 0x00, + "Front USB", + 0x3E + }, + + Package (0x03) + { + 0x00, + "USB Port 1", + 0x40 + }, + + Package (0x03) + { + 0x00, + "USB Port 2", + 0x41 + }, + + Package (0x03) + { + 0x00, + "USB Port 3", + 0x42 + }, + + Package (0x03) + { + 0x00, + "USB Port 4", + 0x43 + }, + + Package (0x03) + { + 0x00, + "USB Port 5", + 0x44 + }, + + Package (0x03) + { + 0x00, + "USB Port 6", + 0x45 + }, + + Package (0x03) + { + 0x00, + "USB Port 7", + 0x46 + }, + + Package (0x03) + { + 0x00, + "USB Port 8", + 0x47 + }, + + Package (0x03) + { + 0x00, + "GbE Controller", + 0x49 + }, + + Package (0x03) + { + 0x17, + "Boot Agent", + 0x4B + }, + + Package (0x03) + { + 0x00, + "PXE IPV4 network stack", + 0x4C + }, + + Package (0x03) + { + 0x00, + "PXE IPV6 network stack", + 0x4D + }, + + Package (0x03) + { + 0x00, + "Azalia HD Audio", + 0x4E + }, + + Package (0x03) + { + 0x2C, + "Hard Disk Pre-delay", + 0x4F + }, + + Package (0x03) + { + 0x00, + "PCH CRID", + 0x50 + }, + + Package (0x03) + { + 0x00, + "VGA Palette Snoop", + 0x51 + }, + + Package (0x03) + { + 0x00, + "SERR# Generation", + 0x53 + }, + + Package (0x03) + { + 0x00, + "Above 4G Decoding", + 0x54 + }, + + Package (0x03) + { + 0x00, + "SR-IOV Support", + 0x55 + }, + + Package (0x03) + { + 0x01, + "Hyper-Threading [ALL]", + 0x60 + }, + + Package (0x03) + { + 0x00, + "Execute Disable Bit", + 0x62 + }, + + Package (0x03) + { + 0x00, + "VMX", + 0x64 + }, + + Package (0x03) + { + 0x00, + "Enable SMX", + 0x65 + }, + + Package (0x03) + { + 0x00, + "EIST (P-states)", + 0x66 + }, + + Package (0x03) + { + 0x00, + "Turbo Mode", + 0x67 + }, + + Package (0x03) + { + 0x44, + "Package C State limit", + 0x68 + }, + + Package (0x03) + { + 0x00, + "CPU C3 report", + 0x69 + }, + + Package (0x03) + { + 0x00, + "CPU C6 report", + 0x6A + }, + + Package (0x03) + { + 0x04, + "ECC Support", + 0x6C + }, + + Package (0x03) + { + 0x00, + "Socket Interleave Below 4GB", + 0x6F + }, + + Package (0x03) + { + 0x33, + "Channel Interleaving", + 0x70 + }, + + Package (0x03) + { + 0x4D, + "Rank Interleaving", + 0x71 + }, + + Package (0x03) + { + 0x34, + "RAS Mode", + 0x72 + }, + + Package (0x03) + { + 0x04, + "Lockstep x4 DIMMs", + 0x73 + }, + + Package (0x03) + { + 0x00, + "Memory Rank Sparing", + 0x74 + }, + + Package (0x03) + { + 0x00, + "Patrol Scrub", + 0x79 + }, + + Package (0x03) + { + 0x37, + "Patrol Scrub Interval", + 0x7A + }, + + Package (0x03) + { + 0x00, + "Demand Scrub", + 0x7B + }, + + Package (0x03) + { + 0x00, + "Device Tagging", + 0x7C + }, + + Package (0x03) + { + 0x00, + "Memory Power Management", + 0x7D + }, + + Package (0x03) + { + 0x3D, + "MMCFG Base", + 0x7E + }, + + Package (0x03) + { + 0x2B, + "Isoc Mode", + 0x7F + }, + + Package (0x03) + { + 0x2B, + "MeSeg Mode", + 0x80 + }, + + Package (0x03) + { + 0x00, + "Numa", + 0x81 + }, + + Package (0x03) + { + 0x00, + "TXT Support", + 0x82 + }, + + Package (0x03) + { + 0x00, + "Unconfigure AMT/ME", + 0x83 + }, + + Package (0x03) + { + 0x00, + "WatchDog Timer", + 0x84 + }, + + Package (0x03) + { + 0x3E, + "After Power Loss", + 0x87 + }, + + Package (0x03) + { + 0x3F, + "Wake on LAN", + 0x88 + }, + + Package (0x03) + { + 0x3F, + "Wake from PCI Modem", + 0x89 + }, + + Package (0x03) + { + 0x3F, + "Wake from Serial Port Ring", + 0x8A + }, + + Package (0x03) + { + 0x3F, + "Wake from PCI Device", + 0x8B + }, + + Package (0x03) + { + 0x0C, + "Wake Up on Alarm", + 0x8C + }, + + Package (0x03) + { + 0x0D, + "Startup Sequence", + 0x8D + }, + + Package (0x03) + { + 0x38, + "Alarm Time(HH:MM:SS)", + 0x8E + }, + + Package (0x03) + { + 0x39, + "Alarm Date(MM/DD/YYYY)", + 0x8F + }, + + Package (0x03) + { + 0x40, + "Alarm Day of Week", + 0x90 + }, + + Package (0x03) + { + 0x06, + "Require POP on Restart", + 0x91 + }, + + Package (0x03) + { + 0x06, + "Allow Flashing BIOS to a Previous version", + 0x92 + }, + + Package (0x03) + { + 0x06, + "Require Admin. Pass. when Flashing", + 0x93 + }, + + Package (0x03) + { + 0x06, + "POP Changeable by User", + 0x94 + }, + + Package (0x03) + { + 0x09, + "TCG Security Feature", + 0x95 + }, + + Package (0x03) + { + 0x00, + "Preboot Authentication", + 0x98 + }, + + Package (0x03) + { + 0x00, + "Chassis Intrusion Detection", + 0x9C + }, + + Package (0x03) + { + 0x00, + "Configuration Change Detection", + 0x9D + }, + + Package (0x03) + { + 0x42, + "Boot Mode", + 0x9E + }, + + Package (0x03) + { + 0x43, + "Boot Priority", + 0x9F + }, + + Package (0x03) + { + 0x00, + "Quick Boot", + 0xA0 + }, + + Package (0x03) + { + 0x4B, + "Option ROM Message", + 0xA2 + }, + + Package (0x03) + { + 0x08, + "Boot Up Num-Lock Status", + 0xA3 + }, + + Package (0x03) + { + 0x00, + "Keyboardless Operation", + 0xA4 + }, + + Package (0x03) + { + 0x00, + "Option Keys Display", + 0xA5 + }, + + Package (0x03) + { + 0x0A, + "Option Keys Display Style", + 0xA6 + }, + + Package (0x03) + { + 0x00, + "Startup Device Menu Prompt", + 0xA7 + }, + + Package (0x03) + { + 0x00, + "OS Optimized Defaults", + 0xA8 + }, + + Package (0x03) + { + 0x00, + "SD Card Slot", + 0xA9 + }, + + Package (0x03) + { + 0x00, + "Media Card Reader", + 0xAA + }, + + Package (0x03) + { + 0x00, + "Intel Thunderbolt Technology", + 0xAC + }, + + Package (0x03) + { + 0x45, + "Security Level", + 0xAD + }, + + Package (0x03) + { + 0x00, + "Ignore Thunderbolt Option Rom", + 0xB1 + }, + + Package (0x03) + { + 0x00, + "Hard Drive Backplane LEDs", + 0xB6 + }, + + Package (0x03) + { + 0x00, + "Lock FADB", + 0xB7 + }, + + Package (0x03) + { + 0x00, + "Real-time Diagnostics Monitoring", + 0xB8 + }, + + Package (0x03) + { + 0x47, + "Clear Diagnostics Log Data", + 0xB9 + }, + + Package (0x03) + { + 0x48, + "Power Technology", + 0xBA + }, + + Package (0x03) + { + 0x00, + "Intel VT for Directed I/O (VT-d)", + 0xBB + }, + + Package (0x03) + { + 0x49, + "Enhanced Power Saving Mode", + 0xBC + }, + + Package (0x03) + { + 0x00, + "Sunday", + 0xBD + }, + + Package (0x03) + { + 0x00, + "Monday", + 0xBE + }, + + Package (0x03) + { + 0x00, + "Tuesday", + 0xBF + }, + + Package (0x03) + { + 0x00, + "Wednesday", + 0xC0 + }, + + Package (0x03) + { + 0x00, + "Thursday", + 0xC1 + }, + + Package (0x03) + { + 0x00, + "Friday", + 0xC2 + }, + + Package (0x03) + { + 0x00, + "Saturday", + 0xC3 + }, + + Package (0x03) + { + 0x4A, + "Network", + 0xC4 + }, + + Package (0x03) + { + 0x4A, + "Storage", + 0xC5 + }, + + Package (0x03) + { + 0x4A, + "Video", + 0xC6 + }, + + Package (0x03) + { + 0x4C, + "Other PCI devices", + 0xC7 + }, + + Package (0x03) + { + 0x00, + "CSM", + 0xC8 + }, + + Package (0x03) + { + 0x38, + "User Defined Alarm Time(HH:MM:SS)", + 0xC9 + }, + + Package (0x03) + { + 0x4E, + "DIAG 7-Segment Mode", + 0xCA + }, + + Package (0x03) + { + 0x00, + "Physical Presence for Provisioning", + 0xCB + }, + + Package (0x03) + { + 0x00, + "Physical Presence for Clear", + 0xCC + }, + + Package (0x03) + { + 0x4F, + "ASPM Support", + 0xCD + }, + + Package (0x03) + { + 0x50, + "Select Active Video", + 0xCF + }, + + Package (0x03) + { + 0x00, + "PSU Overload Warning", + 0xD0 + }, + + Package (0x03) + { + 0x01, + "Internal Speaker", + 0xD0 + }, + + Package (0x03) + { + 0x01, + "Windows UEFI Firmware Update", + 0xD1 + }, + + Package (0x03) + { + 0x00, + "USB Provisioning of AMT", + 0xD2 + }, + + Package (0x03) + { + 0x51, + "MMIOHBase", + 0xD3 + }, + + Package (0x03) + { + 0x52, + "CPU HWPM State Control", + 0xD4 + }, + + Package (0x03) + { + 0x00, + "Enable CPU Autonomous Cstate", + 0xD5 + }, + + Package (0x03) + { + 0x00, + "Post Package Repair (PPR)", + 0xD6 + }, + + Package (0x03) + { + 0x06, + "Require POP on System Boot", + 0xD7 + }, + + Package (0x03) + { + 0x00, + "Front USB delay", + 0xD8 + }, + + Package (0x03) + { + 0x54, + "Card Location", + 0xD9 + }, + + Package (0x03) + { + 0x00, + "Device Guard", + 0xDA + }, + + Package (0x03) + { + 0x00, + "ACS Control", + 0xDB + }, + + Package (0x03) + { + 0x56, + "Fan Control Stepping", + 0xDC + }, + + Package (0x03) + { + 0x2A, + "Device power-up delay", + 0xDE + }, + + Package (0x03) + { + 0x00, + "Secure Boot", + 0xDF + }, + + Package (0x03) + { + 0x64, + "Primary Boot Sequence", + 0xFA + }, + + Package (0x03) + { + 0x64, + "Error Boot Sequence", + 0xFB + }, + + Package (0x03) + { + 0x64, + "Automatic Boot Sequence", + 0xFC + }, + + Package (0x03) + { + 0x64, + "Manufacturing Boot Sequence", + 0xFD + } + }) + Name (VSEL, Package (0x57) + { + Package (0x02) + { + "Disabled", + "Enabled" + }, + + Package (0x02) + { + "Enabled", + "Disabled" + }, + + Package (0x03) + { + "", + "Enabled", + "Disabled" + }, + + Package (0x03) + { + "Enabled", + "Disabled", + "Auto" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Auto" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Registered" + }, + + Package (0x02) + { + "No", + "Yes" + }, + + Package (0x06) + { + "No", + "", + "", + "", + "", + "Yes" + }, + + Package (0x02) + { + "Off", + "On" + }, + + Package (0x03) + { + "Disabled", + "Active", + "Inactive" + }, + + Package (0x02) + { + "Normal", + "Legacy" + }, + + Package (0x1F) + { + "Disabled", + "", + "", + "3 Seconds", + "", + "", + "6 Seconds", + "", + "", + "9 Seconds", + "", + "", + "12 Seconds", + "", + "", + "15 Seconds", + "", + "", + "", + "", + "", + "21 Seconds", + "", + "", + "", + "", + "", + "", + "", + "", + "30 Seconds" + }, + + Package (0x05) + { + "Single Event", + "Daily Event", + "Weekly Event", + "Disabled", + "User Defined" + }, + + Package (0x02) + { + "Primary", + "Automatic" + }, + + Package (0x07) + { + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + }, + + Package (0x04) + { + "Legacy Style", + "MTM&SN-1", + "MTM&SN-2", + "1S-MTM-SN" + }, + + Package (0x03) + { + "Primary", + "Automatic", + "Disabled" + }, + + Package (0x04) + { + "Auto", + "", + "UEFI Only", + "Legacy Only" + }, + + Package (0x03) + { + "IDE", + "AHCI", + "RAID" + }, + + Package (0x07) + { + "", + "3F8/IRQ4", + "2F8/IRQ3", + "3E8/IRQ4", + "2E8/IRQ3", + "", + "Disabled" + }, + + Package (0x04) + { + "IGD", + "PEG", + "PCI", + "Auto" + }, + + Package (0x09) + { + "", + "32MB", + "64MB", + "", + "128MB", + "", + "", + "", + "" + }, + + Package (0x04) + { + "", + "128MB", + "256MB", + "Maximum" + }, + + Package (0x03) + { + "Disabled", + "PXE", + "SMC" + }, + + Package (0x03) + { + "C1", + "C1C3", + "C1C3C6" + }, + + Package (0x07) + { + "VT100", + "VT100,8bit", + "PC-ANSI,7bit", + "PC-ANSI", + "VT100+", + "VT-UTF8", + "ASCII" + }, + + Package (0x03) + { + "Power Off", + "Power On", + "Last State" + }, + + Package (0x02) + { + "Better Acoustic Performance", + "Better Thermal Performance" + }, + + Package (0x04) + { + "Legacy Style", + "MTM&SN-1", + "MTM&SN-2", + "1S-MTM-SN" + }, + + Package (0x05) + { + "Auto", + "3F8/IRQ4", + "2F8/IRQ3", + "3E8/IRQ4", + "2E8/IRQ3" + }, + + Package (0x07) + { + "378", + "278", + "3BC", + "", + "", + "", + "Disabled" + }, + + Package (0x04) + { + "", + "EPP", + "ECP", + "ECP+EPP" + }, + + Package (0x02) + { + "1.9", + "1.7" + }, + + Package (0x02) + { + "DMA1", + "DMA3" + }, + + Package (0x02) + { + "IRQ5", + "IRQ7" + }, + + Package (0x09) + { + "Immediately", + "1 minute", + "2 minutes", + "5 minutes", + "10 minutes", + "15 minutes", + "30 minutes", + "1 hour", + "2 hours" + }, + + Package (0x02) + { + "UEFI", + "Legacy" + }, + + Package (0x02) + { + "Hard Disk Drive", + "Solid State Drive" + }, + + Package (0x05) + { + "Disabled", + "Enabled", + "Auto", + "Smart Auto", + "Manual" + }, + + Package (0x03) + { + "Disable", + "Enable", + "Front Charging Port Only" + }, + + Package (0x15) + { + "", + "1 sec", + "", + "", + "", + "5 sec", + "", + "", + "", + "", + "10 sec", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "20 sec" + }, + + Package (0x04) + { + "10 sec", + "20 sec", + "30 sec", + "40 sec" + }, + + Package (0x02) + { + "Auto", + "Manual" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Auto" + }, + + Package (0x1F) + { + "Disabled", + "", + "", + "3 Seconds", + "", + "", + "6 Seconds", + "", + "", + "9 Seconds", + "", + "", + "12 Seconds", + "", + "", + "15 Seconds", + "", + "", + "", + "", + "", + "21 Seconds", + "", + "", + "", + "", + "", + "", + "", + "", + "30 Seconds" + }, + + Package (0x05) + { + "Disable ASPM", + "ASPM L0s", + "ASPM L1", + "ASPM L0sL1", + "ASPM Auto" + }, + + Package (0x0F) + { + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14" + }, + + Package (0x05) + { + "Traditional", + "", + "", + "", + "Power Optimized" + }, + + Package (0x03) + { + "Auto", + "Force to 1.50V", + "Force to 1.35V" + }, + + Package (0x02) + { + "Disabled", + "Manual" + }, + + Package (0x10) + { + "Auto", + "800", + "1000", + "1067", + "1200", + "1333", + "1400", + "1600", + "1800", + "1867", + "2000", + "2133", + "2200", + "2400", + "2600", + "2667" + }, + + Package (0x05) + { + "Auto", + "1-way Interleave", + "2-way Interleave", + "3-way Interleave", + "4-way Interleave" + }, + + Package (0x03) + { + "Disabled", + "Mirror", + "Lockstep mode" + }, + + Package (0x01) + { + "1~32767" + }, + + Package (0x01) + { + "1~63" + }, + + Package (0x01) + { + "1~24" + }, + + Package (0x01) + { + "HH:MM:SS" + }, + + Package (0x01) + { + "MM/DD/YYYY" + }, + + Package (0x01) + { + "0~65535, 0=Disable, 1=1ms, 1000=1sec" + }, + + Package (0x01) + { + "1~32" + }, + + Package (0x01) + { + "" + }, + + Package (0x04) + { + "2G", + "1G", + "3G", + "3.25G" + }, + + Package (0x03) + { + "Power On", + "Power Off", + "Last State" + }, + + Package (0x03) + { + "Primary", + "Automatic", + "Disabled" + }, + + Package (0x07) + { + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + }, + + Package (0x03) + { + "No", + "Yes, Next reset", + "Yes, Every reset" + }, + + Package (0x03) + { + "Auto", + "UEFI Only", + "Legacy Only" + }, + + Package (0x02) + { + "UEFI First", + "Legacy First" + }, + + Package (0x04) + { + "C0/C1 state", + "C2 state", + "C6(non Retention) state", + "C6(Retention) state" + }, + + Package (0x05) + { + "", + "Legacy Mode", + "Unique ID", + "One time saved Key", + "DP++ only" + }, + + Package (0x81) + { + "0", + "1", + "2", + "", + "4", + "", + "", + "", + "8", + "", + "", + "", + "", + "", + "", + "", + "16", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "32", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "64", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "128" + }, + + Package (0x02) + { + "No", + "Yes" + }, + + Package (0x03) + { + "Disable", + "Energy Efficient", + "Custom" + }, + + Package (0x05) + { + "Disabled", + "", + "", + "", + "Enabled" + }, + + Package (0x03) + { + "Do not launch", + "UEFI", + "Legacy" + }, + + Package (0x02) + { + "Keep Current", + "Force BIOS" + }, + + Package (0x03) + { + "", + "UEFI", + "Legacy" + }, + + Package (0x09) + { + "Auto", + "1-way Interleave", + "2-way Interleave", + "", + "4-way Interleave", + "", + "", + "", + "8-way Interleave" + }, + + Package (0x04) + { + "Disabled", + "", + "Only DIAG Error Code", + "Both BIOS POST & DIAG Error Code" + }, + + Package (0x03) + { + "Disabled", + "", + "L1 Only" + }, + + Package (0x08) + { + "Auto", + "Slot3(PEG)", + "Slot5(PCI)", + "Slot6(PEG)", + "Slot1(PEG)", + "", + "Slot2(PEG)", + "Slot4(PEG)" + }, + + Package (0x08) + { + "56T", + "40T", + "24T", + "16T", + "", + "4T", + "", + "1T" + }, + + Package (0x03) + { + "Disabled", + "HWPM NATIVE MODE", + "HWPM OOB MODE" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Soft PPR" + }, + + Package (0x28) + { + "", + "", + "", + "", + "Slot6(PCH)", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Slot1(CPU)", + "", + "", + "", + "", + "", + "Slot4(CPU)" + }, + + Package (0x28) + { + "", + "", + "", + "", + "Slot4(PCH)", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Slot2(CPU)", + "", + "", + "", + "", + "", + "Slot3(CPU)" + }, + + Package (0x08) + { + "", + "1 - Lower Fan Speed", + "2", + "3", + "4", + "5", + "6", + "7 - Higher Fan Speed" + } + }) + Name (VSML, Package (0x58) + { + Package (0x02) + { + "Disabled", + "Enabled" + }, + + Package (0x02) + { + "Enabled", + "Disabled" + }, + + Package (0x03) + { + "", + "Enabled", + "Disabled" + }, + + Package (0x03) + { + "Enabled", + "Disabled", + "Auto" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Auto" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Registered" + }, + + Package (0x02) + { + "No", + "Yes" + }, + + Package (0x06) + { + "No", + "", + "", + "", + "", + "Yes" + }, + + Package (0x02) + { + "Off", + "On" + }, + + Package (0x03) + { + "Disabled", + "Active", + "Inactive" + }, + + Package (0x02) + { + "Normal", + "Legacy" + }, + + Package (0x1F) + { + "Disabled", + "", + "", + "3 Seconds", + "", + "", + "6 Seconds", + "", + "", + "9 Seconds", + "", + "", + "12 Seconds", + "", + "", + "15 Seconds", + "", + "", + "", + "", + "", + "21 Seconds", + "", + "", + "", + "", + "", + "", + "", + "", + "30 Seconds" + }, + + Package (0x05) + { + "Single Event", + "Daily Event", + "Weekly Event", + "Disabled", + "User Defined" + }, + + Package (0x02) + { + "Primary", + "Automatic" + }, + + Package (0x07) + { + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + }, + + Package (0x04) + { + "Legacy Style", + "MTM&SN-1", + "MTM&SN-2", + "1S-MTM-SN" + }, + + Package (0x03) + { + "Primary", + "Automatic", + "Disabled" + }, + + Package (0x04) + { + "Auto", + "", + "UEFI Only", + "Legacy Only" + }, + + Package (0x02) + { + "IDE", + "AHCI" + }, + + Package (0x07) + { + "", + "3F8/IRQ4", + "2F8/IRQ3", + "3E8/IRQ4", + "2E8/IRQ3", + "", + "Disabled" + }, + + Package (0x04) + { + "IGD", + "PEG", + "PCI", + "Auto" + }, + + Package (0x09) + { + "", + "32MB", + "64MB", + "", + "128MB", + "", + "", + "", + "" + }, + + Package (0x04) + { + "", + "128MB", + "256MB", + "Maximum" + }, + + Package (0x03) + { + "Disabled", + "PXE", + "SMC" + }, + + Package (0x03) + { + "C1", + "C1C3", + "C1C3C6" + }, + + Package (0x07) + { + "VT100", + "VT100,8bit", + "PC-ANSI,7bit", + "PC-ANSI", + "VT100+", + "VT-UTF8", + "ASCII" + }, + + Package (0x03) + { + "Power Off", + "Power On", + "Last State" + }, + + Package (0x02) + { + "Better Acoustic Performance", + "Better Thermal Performance" + }, + + Package (0x04) + { + "Legacy Style", + "MTM&SN-1", + "MTM&SN-2", + "1S-MTM-SN" + }, + + Package (0x07) + { + "", + "3F8/IRQ4", + "2F8/IRQ3", + "3E8/IRQ4", + "2E8/IRQ3", + "", + "Disabled" + }, + + Package (0x07) + { + "378", + "278", + "3BC", + "", + "", + "", + "Disabled" + }, + + Package (0x04) + { + "", + "EPP", + "ECP", + "ECP+EPP" + }, + + Package (0x02) + { + "1.9", + "1.7" + }, + + Package (0x02) + { + "DMA1", + "DMA3" + }, + + Package (0x02) + { + "IRQ5", + "IRQ7" + }, + + Package (0x09) + { + "Immediately", + "1 minute", + "2 minutes", + "5 minutes", + "10 minutes", + "15 minutes", + "30 minutes", + "1 hour", + "2 hours" + }, + + Package (0x02) + { + "UEFI", + "Legacy" + }, + + Package (0x02) + { + "Hard Disk Drive", + "Solid State Drive" + }, + + Package (0x05) + { + "Disabled", + "Enabled", + "Auto", + "Smart Auto", + "Manual" + }, + + Package (0x02) + { + "Disable", + "Enable" + }, + + Package (0x15) + { + "", + "1 sec", + "", + "", + "", + "5 sec", + "", + "", + "", + "", + "10 sec", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "20 sec" + }, + + Package (0x04) + { + "10 sec", + "20 sec", + "30 sec", + "40 sec" + }, + + Package (0x02) + { + "Auto", + "Manual" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Auto" + }, + + Package (0x1F) + { + "Disabled", + "", + "", + "3 Seconds", + "", + "", + "6 Seconds", + "", + "", + "9 Seconds", + "", + "", + "12 Seconds", + "", + "", + "15 Seconds", + "", + "", + "", + "", + "", + "21 Seconds", + "", + "", + "", + "", + "", + "", + "", + "", + "30 Seconds" + }, + + Package (0x05) + { + "Disable ASPM", + "ASPM L0s", + "ASPM L1", + "ASPM L0sL1", + "ASPM Auto" + }, + + Package (0x0F) + { + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14" + }, + + Package (0x05) + { + "Traditional", + "", + "", + "", + "Power Optimized" + }, + + Package (0x03) + { + "Auto", + "Force to 1.50V", + "Force to 1.35V" + }, + + Package (0x02) + { + "Disabled", + "Manual" + }, + + Package (0x10) + { + "Auto", + "800", + "1000", + "1067", + "1200", + "1333", + "1400", + "1600", + "1800", + "1867", + "2000", + "2133", + "2200", + "2400", + "2600", + "2667" + }, + + Package (0x05) + { + "Auto", + "1-way Interleave", + "2-way Interleave", + "3-way Interleave", + "4-way Interleave" + }, + + Package (0x03) + { + "Disabled", + "Mirror Mode", + "Lockstep Mode" + }, + + Package (0x01) + { + "1~32767" + }, + + Package (0x01) + { + "1~63" + }, + + Package (0x01) + { + "1~24" + }, + + Package (0x01) + { + "HH:MM:SS" + }, + + Package (0x01) + { + "MM/DD/YYYY" + }, + + Package (0x01) + { + "0~65535, 0=Disable, 1=1ms, 1000=1sec" + }, + + Package (0x01) + { + "1~32" + }, + + Package (0x01) + { + "" + }, + + Package (0x01) + { + "" + }, + + Package (0x04) + { + "2G", + "1G", + "3G", + "3.25G" + }, + + Package (0x03) + { + "Power On", + "Power Off", + "Last State" + }, + + Package (0x03) + { + "Primary", + "Automatic", + "Disabled" + }, + + Package (0x07) + { + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + }, + + Package (0x03) + { + "No", + "Yes, Next reset", + "Yes, Every reset" + }, + + Package (0x03) + { + "Auto", + "UEFI Only", + "Legacy Only" + }, + + Package (0x02) + { + "UEFI First", + "Legacy First" + }, + + Package (0x04) + { + "C0/C1 state", + "C2 state", + "C6(non Retention) state", + "C6(Retention) state" + }, + + Package (0x05) + { + "", + "Legacy Mode", + "Unique ID", + "One time saved Key", + "DP++ only" + }, + + Package (0x81) + { + "0", + "1", + "2", + "", + "4", + "", + "", + "", + "8", + "", + "", + "", + "", + "", + "", + "", + "16", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "32", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "64", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "128" + }, + + Package (0x02) + { + "No", + "Yes" + }, + + Package (0x03) + { + "Disable", + "Energy Efficient", + "Custom" + }, + + Package (0x05) + { + "Disabled", + "", + "", + "", + "Enabled" + }, + + Package (0x03) + { + "Do not launch", + "UEFI", + "Legacy" + }, + + Package (0x02) + { + "Keep Current", + "Force BIOS" + }, + + Package (0x03) + { + "", + "UEFI", + "Legacy" + }, + + Package (0x09) + { + "Auto", + "1-way Interleave", + "2-way Interleave", + "", + "4-way Interleave", + "", + "", + "", + "8-way Interleave" + }, + + Package (0x04) + { + "Disabled", + "", + "Only DIAG Error Code", + "Both BIOS POST & DIAG Error Code" + }, + + Package (0x03) + { + "Disabled", + "", + "L1 Only" + }, + + Package (0x08) + { + "Auto", + "Slot3(PEG)", + "Slot5(PCI)", + "Slot6(PEG)", + "Slot1(PEG)", + "", + "Slot2(PEG)", + "Slot4(PEG)" + }, + + Package (0x08) + { + "56T", + "40T", + "24T", + "16T", + "", + "4T", + "", + "1T" + }, + + Package (0x03) + { + "Disabled", + "HWPM NATIVE MODE", + "HWPM OOB MODE" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Soft PPR" + }, + + Package (0x28) + { + "", + "", + "", + "", + "Slot6(PCH)", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Slot1(CPU)", + "", + "", + "", + "", + "", + "Slot4(CPU)" + }, + + Package (0x28) + { + "", + "", + "", + "", + "Slot4(PCH)", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Slot2(CPU)", + "", + "", + "", + "", + "", + "Slot3(CPU)" + }, + + Package (0x08) + { + "", + "1 - Lower Fan Speed", + "2", + "3", + "4", + "5", + "6", + "7 - Higher Fan Speed" + } + }) + Name (VSLF, Package (0x58) + { + Package (0x02) + { + "Disabled", + "Enabled" + }, + + Package (0x02) + { + "Enabled", + "Disabled" + }, + + Package (0x03) + { + "", + "Enabled", + "Disabled" + }, + + Package (0x03) + { + "Enabled", + "Disabled", + "Auto" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Auto" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Registered" + }, + + Package (0x02) + { + "No", + "Yes" + }, + + Package (0x06) + { + "No", + "", + "", + "", + "", + "Yes" + }, + + Package (0x02) + { + "Off", + "On" + }, + + Package (0x03) + { + "Disabled", + "Active", + "Inactive" + }, + + Package (0x02) + { + "Normal", + "Legacy" + }, + + Package (0x1F) + { + "Disabled", + "", + "", + "3 Seconds", + "", + "", + "6 Seconds", + "", + "", + "9 Seconds", + "", + "", + "12 Seconds", + "", + "", + "15 Seconds", + "", + "", + "", + "", + "", + "21 Seconds", + "", + "", + "", + "", + "", + "", + "", + "", + "30 Seconds" + }, + + Package (0x05) + { + "Single Event", + "Daily Event", + "Weekly Event", + "Disabled", + "User Defined" + }, + + Package (0x02) + { + "Primary", + "Automatic" + }, + + Package (0x07) + { + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + }, + + Package (0x04) + { + "Legacy Style", + "MTM&SN-1", + "MTM&SN-2", + "1S-MTM-SN" + }, + + Package (0x03) + { + "Primary", + "Automatic", + "Disabled" + }, + + Package (0x04) + { + "Auto", + "", + "UEFI Only", + "Legacy Only" + }, + + Package (0x02) + { + "IDE", + "AHCI" + }, + + Package (0x07) + { + "", + "3F8/IRQ4", + "2F8/IRQ3", + "3E8/IRQ4", + "2E8/IRQ3", + "", + "Disabled" + }, + + Package (0x04) + { + "IGD", + "", + "", + "Auto" + }, + + Package (0x09) + { + "", + "32MB", + "64MB", + "", + "128MB", + "", + "", + "", + "" + }, + + Package (0x04) + { + "", + "128MB", + "256MB", + "Maximum" + }, + + Package (0x03) + { + "Disabled", + "PXE", + "SMC" + }, + + Package (0x03) + { + "C1", + "C1C3", + "C1C3C6" + }, + + Package (0x07) + { + "VT100", + "VT100,8bit", + "PC-ANSI,7bit", + "PC-ANSI", + "VT100+", + "VT-UTF8", + "ASCII" + }, + + Package (0x03) + { + "Power Off", + "Power On", + "Last State" + }, + + Package (0x02) + { + "Better Acoustic Performance", + "Better Thermal Performance" + }, + + Package (0x04) + { + "Legacy Style", + "MTM&SN-1", + "MTM&SN-2", + "1S-MTM-SN" + }, + + Package (0x07) + { + "", + "3F8/IRQ4", + "2F8/IRQ3", + "3E8/IRQ4", + "2E8/IRQ3", + "", + "Disabled" + }, + + Package (0x07) + { + "378", + "278", + "3BC", + "", + "", + "", + "Disabled" + }, + + Package (0x04) + { + "", + "EPP", + "ECP", + "ECP+EPP" + }, + + Package (0x02) + { + "1.9", + "1.7" + }, + + Package (0x02) + { + "DMA1", + "DMA3" + }, + + Package (0x02) + { + "IRQ5", + "IRQ7" + }, + + Package (0x09) + { + "Immediately", + "1 minute", + "2 minutes", + "5 minutes", + "10 minutes", + "15 minutes", + "30 minutes", + "1 hour", + "2 hours" + }, + + Package (0x02) + { + "UEFI", + "Legacy" + }, + + Package (0x02) + { + "Hard Disk Drive", + "Solid State Drive" + }, + + Package (0x05) + { + "Disabled", + "Enabled", + "Auto", + "Smart Auto", + "Manual" + }, + + Package (0x02) + { + "Disable", + "Enable" + }, + + Package (0x15) + { + "", + "1 sec", + "", + "", + "", + "5 sec", + "", + "", + "", + "", + "10 sec", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "20 sec" + }, + + Package (0x04) + { + "10 sec", + "20 sec", + "30 sec", + "40 sec" + }, + + Package (0x02) + { + "Auto", + "Manual" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Auto" + }, + + Package (0x1F) + { + "Disabled", + "", + "", + "3 Seconds", + "", + "", + "6 Seconds", + "", + "", + "9 Seconds", + "", + "", + "12 Seconds", + "", + "", + "15 Seconds", + "", + "", + "", + "", + "", + "21 Seconds", + "", + "", + "", + "", + "", + "", + "", + "", + "30 Seconds" + }, + + Package (0x05) + { + "Disable ASPM", + "ASPM L0s", + "ASPM L1", + "ASPM L0sL1", + "ASPM Auto" + }, + + Package (0x0F) + { + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14" + }, + + Package (0x05) + { + "Traditional", + "", + "", + "", + "Power Optimized" + }, + + Package (0x03) + { + "Auto", + "Force to 1.50V", + "Force to 1.35V" + }, + + Package (0x02) + { + "Disabled", + "Manual" + }, + + Package (0x10) + { + "Auto", + "800", + "1000", + "1067", + "1200", + "1333", + "1400", + "1600", + "1800", + "1867", + "2000", + "2133", + "2200", + "2400", + "2600", + "2667" + }, + + Package (0x05) + { + "Auto", + "1-way Interleave", + "2-way Interleave", + "3-way Interleave", + "4-way Interleave" + }, + + Package (0x03) + { + "Disabled", + "Mirror Mode", + "Lockstep Mode" + }, + + Package (0x01) + { + "1~32767" + }, + + Package (0x01) + { + "1~63" + }, + + Package (0x01) + { + "1~24" + }, + + Package (0x01) + { + "HH:MM:SS" + }, + + Package (0x01) + { + "MM/DD/YYYY" + }, + + Package (0x01) + { + "0~65535, 0=Disable, 1=1ms, 1000=1sec" + }, + + Package (0x01) + { + "1~32" + }, + + Package (0x01) + { + "" + }, + + Package (0x01) + { + "" + }, + + Package (0x04) + { + "2G", + "1G", + "3G", + "3.25G" + }, + + Package (0x03) + { + "Power On", + "Power Off", + "Last State" + }, + + Package (0x03) + { + "Primary", + "Automatic", + "Disabled" + }, + + Package (0x07) + { + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + }, + + Package (0x03) + { + "No", + "Yes, Next reset", + "Yes, Every reset" + }, + + Package (0x03) + { + "Auto", + "UEFI Only", + "Legacy Only" + }, + + Package (0x02) + { + "UEFI First", + "Legacy First" + }, + + Package (0x04) + { + "C0/C1 state", + "C2 state", + "C6(non Retention) state", + "C6(Retention) state" + }, + + Package (0x05) + { + "", + "Legacy Mode", + "Unique ID", + "One time saved Key", + "DP++ only" + }, + + Package (0x81) + { + "0", + "1", + "2", + "", + "4", + "", + "", + "", + "8", + "", + "", + "", + "", + "", + "", + "", + "16", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "32", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "64", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "128" + }, + + Package (0x02) + { + "No", + "Yes" + }, + + Package (0x03) + { + "Disable", + "Energy Efficient", + "Custom" + }, + + Package (0x05) + { + "Disabled", + "", + "", + "", + "Enabled" + }, + + Package (0x03) + { + "Do not launch", + "UEFI", + "Legacy" + }, + + Package (0x02) + { + "Keep Current", + "Force BIOS" + }, + + Package (0x03) + { + "", + "UEFI", + "Legacy" + }, + + Package (0x09) + { + "Auto", + "1-way Interleave", + "2-way Interleave", + "", + "4-way Interleave", + "", + "", + "", + "8-way Interleave" + }, + + Package (0x04) + { + "Disabled", + "", + "Only DIAG Error Code", + "Both BIOS POST & DIAG Error Code" + }, + + Package (0x03) + { + "Disabled", + "", + "L1 Only" + }, + + Package (0x08) + { + "Auto", + "Slot3(PEG)", + "Slot5(PCI)", + "Slot6(PEG)", + "Slot1(PEG)", + "", + "Slot2(PEG)", + "Slot4(PEG)" + }, + + Package (0x08) + { + "56T", + "40T", + "24T", + "16T", + "", + "4T", + "", + "1T" + }, + + Package (0x03) + { + "Disabled", + "HWPM NATIVE MODE", + "HWPM OOB MODE" + }, + + Package (0x03) + { + "Disabled", + "Enabled", + "Soft PPR" + }, + + Package (0x28) + { + "", + "", + "", + "", + "Slot6(PCH)", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Slot1(CPU)", + "", + "", + "", + "", + "", + "Slot4(CPU)" + }, + + Package (0x28) + { + "", + "", + "", + "", + "Slot4(PCH)", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Slot2(CPU)", + "", + "", + "", + "", + "", + "Slot3(CPU)" + }, + + Package (0x08) + { + "", + "1 - Lower Fan Speed", + "2", + "3", + "4", + "5", + "6", + "7 - Higher Fan Speed" + } + }) + Name (VLST, Package (0x1D) + { + "USB FDD", + "USB HDD", + "USB CDROM", + "USB KEY", + "Network 1", + "Network 2", + "SATA 1", + "SATA 2", + "SATA 3", + "SATA 4", + "SATA 5", + "SATA 6", + "SATA 7", + "Mezz SATA", + "eSATA", + "Device 1", + "Device 2", + "Device 3", + "Device 4", + "Device 5", + "Device 6", + "Device 7", + "Mezz1-PCIe-P1", + "PCIE SLOT1", + "PCIE SLOT2", + "PCIE SLOT3", + "PCIE SLOT4", + "PCIE SLOT6", + "Other-Device" + }) + Name (PENC, Package (0x02) + { + "ascii", + "scancode" + }) + Name (PKBD, Package (0x03) + { + "us", + "fr", + "gr" + }) + Name (PTYP, Package (0x16) + { + "pap", + "pop", + "uhdp0", + "mhdp0", + "uhdp1", + "mhdp1", + "uhdp2", + "mhdp2", + "uhdp3", + "mhdp3", + "uhdp4", + "mhdp4", + "uhdp5", + "mhdp5", + "uhdp6", + "mhdp6", + "uhdp7", + "mhdp7", + "uhdp8", + "mhdp8", + "uhdp9", + "mhdp9" + }) + Name (WTIM, Buffer (0x04) + { + 0x00, 0x00, 0x00, 0x00 // .... + }) + CreateByteField (WTIM, 0x01, HOUR) + CreateByteField (WTIM, 0x02, MIN) + CreateByteField (WTIM, 0x03, SEC) + Name (WDAY, Buffer (0x04) + { + 0x00, 0x00, 0x00, 0x00 // .... + }) + CreateWordField (WDAY, 0x00, YEAR) + CreateByteField (WDAY, 0x02, MOUN) + CreateByteField (WDAY, 0x03, DATE) + Mutex (MWMI, 0x07) + Name (PCFG, Buffer (0x30){}) + Name (IBUF, Buffer (0x0200){}) + Name (ILEN, 0x00) + Name (PSTR, Buffer (0x81){}) + Method (WQA0, 1, NotSerialized) + { + Acquire (MWMI, 0xFFFF) + DBGP = 0x01 + Name (STR2, Buffer (0x32){}) + Local4 = WMIS (0x00, Arg0) + If ((Local4 != 0x05)) + { + If ((Local4 != 0x00)) + { + Release (MWMI) + Return ("") + } + } + + Local0 = DerefOf (ITEM [WITM]) + Local1 = DerefOf (Local0 [0x00]) + Local2 = DerefOf (Local0 [0x01]) + Local4 = DerefOf (Local0 [0x02]) + If ((Local1 < 0x64)) + { + If ((Local1 == 0x54)) + { + Local1 = BRID /* \WMI1.BRID */ + Local1 = (Local1 & 0x0F) + If ((Local1 == 0x03)) + { + Local1 = 0x55 + } + Else + { + Local1 = 0x54 + } + } + + Concatenate (Local2, ",", Local6) + If ((BID == 0x0F)) + { + Local3 = DerefOf (VSLF [Local1]) + } + ElseIf ((BID == 0x03)) + { + Local3 = DerefOf (VSML [Local1]) + } + ElseIf ((BID == 0x04)) + { + Local3 = DerefOf (VSML [Local1]) + } + Else + { + Local3 = DerefOf (VSEL [Local1]) + } + + If (((Local1 < 0x3D) && (Local1 > 0x34))) + { + If ((Local4 == 0x75)) + { + Concatenate (Local6, ToDecimalString (WS16, Local7), Local7) + } + ElseIf (((Local4 == 0x8E) || (Local4 == 0xC9))) + { + HOUR = ((WS32 >> 0x00) & 0xFF) + MIN = ((WS32 >> 0x08) & 0xFF) + SEC = ((WS32 >> 0x10) & 0xFF) + Concatenate (Local6, ToDecimalString (HOUR, Local7), Local7) + Concatenate (Local7, ":", Local6) + Concatenate (Local6, ToDecimalString (MIN, Local7), Local7) + Concatenate (Local7, ":", Local6) + Concatenate (Local6, ToDecimalString (SEC, Local7), Local7) + } + ElseIf ((Local4 == 0x8F)) + { + If ((WS32 == 0x00010101)) + { + YEAR = 0x07D0 + MOUN = 0x01 + DATE = 0x01 + } + Else + { + YEAR = ((WS32 >> 0x00) & 0xFFFF) + MOUN = ((WS32 >> 0x10) & 0xFF) + DATE = ((WS32 >> 0x18) & 0xFF) + } + + Concatenate (Local6, ToDecimalString (MOUN, Local7), Local7) + Concatenate (Local7, "/", Local6) + Concatenate (Local6, ToDecimalString (DATE, Local7), Local7) + Concatenate (Local7, "/", Local6) + Concatenate (Local6, ToDecimalString (YEAR, Local7), Local7) + } + Else + { + Concatenate (Local6, ToDecimalString (WSEL, Local7), Local7) + } + } + ElseIf ((Local4 == 0x7E)) + { + Concatenate (Local6, DerefOf (Local3 [WS32]), Local7) + } + Else + { + Concatenate (Local6, DerefOf (Local3 [WSEL]), Local7) + } + + Concatenate (Local7, ";[Optional:", Local6) + Local7 = 0x00 + Local0 = 0x00 + Local5 = SizeOf (Local3) + While ((Local7 < Local5)) + { + STR2 = DerefOf (Local3 [Local7]) + Local2 = DerefOf (STR2 [0x00]) + If ((Local2 != 0x00)) + { + If ((Local0 != 0x00)) + { + Concatenate (Local6, ",", Local1) + Local6 = Local1 + } + + Concatenate (Local6, DerefOf (Local3 [Local7]), Local1) + Local6 = Local1 + Local0++ + } + + Local7++ + } + + Concatenate (Local6, "]", Local7) + If ((Local4 == 0x05)) + { + Concatenate (Local7, "[Status:ShowOnly]", Local6) + Local7 = Local6 + } + } + Else + { + Name (TMP1, Buffer (0x32){}) + Name (TMP2, Buffer (0x32){}) + ToBuffer (WLST, TMP1) /* \WMI1.WQA0.TMP1 */ + ToBuffer (INCL, TMP2) /* \WMI1.WQA0.TMP2 */ + Concatenate (Local2, ",", Local4) + Concatenate (";", "[Excluded from boot order", Local7) + Local3 = SizeOf (VLST) + Local1 = 0x00 + Local0 = 0x00 + Local6 = 0x00 + While (((Local0 < 0x32) && (Local1 != 0xFF))) + { + Local1 = DerefOf (TMP1 [Local0]) + Local5 = DerefOf (TMP2 [Local0]) + Local0++ + If ((Local1 <= Local3)) + { + If ((Local5 != 0x00)) + { + If ((Local6 != 0x00)) + { + Concatenate (Local4, ":", Local2) + } + Else + { + Local2 = Local4 + } + + Local6 = 0x01 + Concatenate (Local2, DerefOf (VLST [Local1]), Local4) + } + Else + { + Concatenate (Local7, ":", Local2) + Concatenate (Local2, DerefOf (VLST [Local1]), Local7) + } + } + } + + Concatenate (Local7, "]", Local2) + Concatenate (Local4, Local2, Local7) + } + + Release (MWMI) + DBGP = 0xE1 + Return (Local7) + } + + Method (WMA1, 3, NotSerialized) + { + Acquire (MWMI, 0xFFFF) + DBGP = 0x02 + Local0 = WSET (Arg2) + Release (MWMI) + Return (DerefOf (RETN [Local0])) + } + + Method (WMA2, 3, NotSerialized) + { + Acquire (MWMI, 0xFFFF) + Local0 = CARG (Arg2) + If ((Local0 == 0x00)) + { + If ((ILEN != 0x00)) + { + Local0 = CPAS (IBUF, 0x00) + } + + If ((Local0 == 0x00)) + { + Local0 = WMIS (0x02, 0x00) + } + } + + Release (MWMI) + Return (DerefOf (RETN [Local0])) + } + + Method (WMA3, 3, NotSerialized) + { + Acquire (MWMI, 0xFFFF) + Local0 = 0x02 + If ((SizeOf (Arg2) <= 0x0200)) + { + IBUF = Arg2 + Local0 = CPAS (IBUF, 0x00) + } + + Local0 = WMIS (0x03, 0x00) + Release (MWMI) + Return (DerefOf (RETN [Local0])) + } + + Method (WMA4, 3, NotSerialized) + { + Acquire (MWMI, 0xFFFF) + Local0 = WMIS (0x04, 0x00) + Release (MWMI) + Return (DerefOf (RETN [Local0])) + } + + Method (WQA5, 1, NotSerialized) + { + Acquire (MWMI, 0xFFFF) + Local0 = WMIS (0x05, 0x00) + PCFG [0x00] = WSPM /* \WMI1.WSPM */ + PCFG [0x04] = WSPS /* \WMI1.WSPS */ + PCFG [0x08] = WSMN /* \WMI1.WSMN */ + PCFG [0x0C] = WSMX /* \WMI1.WSMX */ + PCFG [0x10] = WSEN /* \WMI1.WSEN */ + PCFG [0x14] = WSKB /* \WMI1.WSKB */ + PCFG [0x18] = HDP0 /* \WMI1.HDP0 */ + PCFG [0x1C] = HDP1 /* \WMI1.HDP1 */ + PCFG [0x20] = HDP2 /* \WMI1.HDP2 */ + PCFG [0x24] = HDP3 /* \WMI1.HDP3 */ + PCFG [0x28] = HDP4 /* \WMI1.HDP4 */ + PCFG [0x2C] = HDP5 /* \WMI1.HDP5 */ + Release (MWMI) + Return (PCFG) /* \WMI1.PCFG */ + } + + Method (WMA6, 3, NotSerialized) + { + CMSW (0xE0, 0x01) + Acquire (MWMI, 0xFFFF) + If ((SizeOf (Arg2) == 0x00)) + { + Local0 = 0x02 + } + Else + { + Local0 = CARG (Arg2) + If ((Local0 == 0x00)) + { + If ((ILEN != 0x00)) + { + Local0 = SPAS (IBUF) + } + + If ((Local0 == 0x00)) + { + Local0 = WMIS (0x06, 0x00) + } + } + } + + Release (MWMI) + Return (DerefOf (RETN [Local0])) + } + + Name (RE64, Buffer (0x40){}) + Method (WQC0, 1, NotSerialized) + { + Acquire (MWMI, 0xFFFF) + CMD7 = 0xB0 + DATA = 0x00 + STUS = 0x00 + SMIK () + RE64 = DATA /* \WMI1.DATA */ + Release (MWMI) + Return (RE64) /* \WMI1.RE64 */ + } + + Method (WMC1, 3, NotSerialized) + { + Acquire (MWMI, 0xFFFF) + CMD7 = 0xB1 + DATA = Arg2 + STUS = 0x00 + SMIK () + Release (MWMI) + Return (DATA) /* \WMI1.DATA */ + } + + Method (CARG, 1, NotSerialized) + { + Local0 = SizeOf (Arg0) + If ((Local0 == 0x00)) + { + IBUF = 0x00 + ILEN = 0x00 + Return (0x00) + } + + If ((ObjectType (Arg0) != 0x02)) + { + Return (0x02) + } + + If ((Local0 >= 0xFF)) + { + Return (0x02) + } + + IBUF = Arg0 + Local0-- + Local1 = DerefOf (IBUF [Local0]) + If (((Local1 == 0x3B) || (Local1 == 0x2A))) + { + IBUF [Local0] = 0x00 + ILEN = Local0 + } + Else + { + ILEN = SizeOf (Arg0) + } + + Return (0x00) + } + + Method (SCMP, 3, NotSerialized) + { + Local0 = SizeOf (Arg0) + If ((Local0 == 0x00)) + { + Return (0x00) + } + + Local0++ + Name (STR1, Buffer (Local0){}) + STR1 = Arg0 + Local0-- + Local1 = 0x00 + Local2 = Arg2 + While ((Local1 < Local0)) + { + Local3 = DerefOf (STR1 [Local1]) + If ((Local3 >= 0x41)) + { + If ((Local3 <= 0x5A)) + { + Local3 += 0x20 + } + } + + Local4 = DerefOf (Arg1 [Local2]) + If ((Local4 >= 0x41)) + { + If ((Local4 <= 0x5A)) + { + Local4 += 0x20 + } + } + + If ((Local3 != Local4)) + { + Return (0x00) + } + + Local1++ + Local2++ + } + + Local4 = DerefOf (Arg1 [Local2]) + If ((Local4 == 0x00)) + { + Return (0x01) + } + + If (((Local4 == 0x5D) || ((Local4 == 0x5B) || ((Local4 == + 0x2C) || ((Local4 == 0x3A) || (Local4 == 0x3B)))))) + { + Return (0x01) + } + + Return (0x00) + } + + Method (GITM, 1, NotSerialized) + { + Local0 = 0x00 + Local1 = SizeOf (ITEM) + While ((Local0 < Local1)) + { + Local3 = DerefOf (DerefOf (ITEM [Local0]) [0x01]) + If (SCMP (Local3, Arg0, 0x00)) + { + Return (Local0) + } + + Local0++ + } + + Return (Ones) + } + + Method (GSEL, 3, NotSerialized) + { + Local0 = 0x00 + Local1 = SizeOf (Arg0) + While ((Local0 < Local1)) + { + Local2 = DerefOf (Arg0 [Local0]) + If (SCMP (Local2, Arg1, Arg2)) + { + Return (Local0) + } + + Local0++ + } + + Return (Ones) + } + + Method (GIDX, 3, NotSerialized) + { + Local1 = SizeOf (Arg0) + Local0 = Arg1 + Local4 = Arg2 + While ((Local0 < Local1)) + { + Local3 = DerefOf (Arg0 [Local0]) + If ((Local3 == Local4)) + { + Return (Local0) + } + + Local0++ + } + + Return (Ones) + } + + Method (GVAL, 2, NotSerialized) + { + Local2 = 0x00 + Local0 = Arg1 + Local1 = DerefOf (Arg0 [Local0]) + While (((Local1 != 0x00) && ((Local1 != 0x2C) && ( + (Local1 != 0x3A) && ((Local1 != 0x3B) && (Local1 != 0x2F)))))) + { + Local2 *= 0x0A + If (((Local1 >= 0x30) && (Local1 <= 0x39))) + { + Local1 -= 0x30 + Local2 += Local1 + } + Else + { + Return (Ones) + } + + Local0++ + Local1 = DerefOf (Arg0 [Local0]) + } + + Return (Local2) + } + + Method (SLEN, 2, NotSerialized) + { + Local0 = DerefOf (Arg0 [Arg1]) + Return (SizeOf (Local0)) + } + + Method (CLRP, 0, NotSerialized) + { + WPAS = 0x00 + WPNW = 0x00 + WPAP = 0x00 + } + + Method (GPAS, 2, NotSerialized) + { + Local0 = Arg1 + Local1 = 0x00 + While ((Local1 <= 0x80)) + { + Local2 = DerefOf (Arg0 [Local0]) + If (((Local2 == 0x2C) || (Local2 == 0x00))) + { + PSTR [Local1] = 0x00 + Return (Local1) + } + + PSTR [Local1] = Local2 + Local0++ + Local1++ + } + + PSTR [Local1] = 0x00 + Return (Ones) + } + + Method (CPAS, 2, NotSerialized) + { + CLRP () + Local0 = Arg1 + Local1 = GPAS (Arg0, Local0) + If ((Local1 == Ones)) + { + Return (0x02) + } + + If ((Local1 == 0x00)) + { + Return (0x02) + } + + WPAS = PSTR /* \WMI1.PSTR */ + Local0 += Local1 + Local0++ + Local6 = GSEL (PENC, Arg0, Local0) + If ((Local6 == Ones)) + { + Return (0x02) + } + + WENC = Local6 + If ((Local6 == 0x00)) + { + Local0 += SLEN (PENC, 0x00) + If ((DerefOf (Arg0 [Local0]) != 0x2C)) + { + Return (0x02) + } + + Local0++ + Local6 = GSEL (PKBD, Arg0, Local0) + If ((Local6 == Ones)) + { + Return (0x02) + } + + WKBD = Local6 + } + + Return (0x00) + } + + Method (SPAS, 1, NotSerialized) + { + CMSW (0xE1, 0x02) + CLRP () + Local6 = GSEL (PTYP, Arg0, 0x00) + If ((Local6 == Ones)) + { + Return (0x02) + } + + WPTY = Local6 + Local0 = SLEN (PTYP, Local6) + If ((DerefOf (Arg0 [Local0]) != 0x2C)) + { + Return (0x02) + } + + Local0++ + Local1 = GPAS (Arg0, Local0) + If (((Local1 == Ones) || (Local1 == 0x00))) + { + Return (0x02) + } + + WPAS = PSTR /* \WMI1.PSTR */ + Local0 += Local1 + If ((DerefOf (Arg0 [Local0]) != 0x2C)) + { + Return (0x02) + } + + Local0++ + Local1 = GPAS (Arg0, Local0) + If ((Local1 == Ones)) + { + Return (0x02) + } + + If ((Local1 == 0x00)) + { + PSTR = 0x00 + } + + WPNW = PSTR /* \WMI1.PSTR */ + Local0 += Local1 + Local0++ + Local6 = GSEL (PENC, Arg0, Local0) + If ((Local6 == Ones)) + { + Return (0x02) + } + + WENC = Local6 + If ((Local6 == 0x00)) + { + Local0 += SLEN (PENC, 0x00) + If ((DerefOf (Arg0 [Local0]) != 0x2C)) + { + Return (0x02) + } + + Local0++ + Local6 = GSEL (PKBD, Arg0, Local0) + If ((Local6 == Ones)) + { + Return (0x02) + } + + WKBD = Local6 + } + + Local0 += SLEN (PKBD, 0x00) + If ((DerefOf (Arg0 [Local0]) != 0x2C)) + { + PSTR = 0x00 + WPAP = PSTR /* \WMI1.PSTR */ + Return (0x00) + } + + Local0++ + Local1 = GPAS (Arg0, Local0) + If ((Local1 == Ones)) + { + Return (0x02) + } + + If ((Local1 == 0x00)) + { + PSTR = 0x00 + } + + WPAP = PSTR /* \WMI1.PSTR */ + Return (0x00) + } + + Method (WSET, 1, NotSerialized) + { + Local0 = SizeOf (Arg0) + If (((Local0 == 0x00) || (Local0 >= 0x0200))) + { + Return (0x02) + } + + Local0++ + IBUF = Arg0 + Local1 = GITM (IBUF) + If ((Local1 == Ones)) + { + Return (0x02) + } + + WITM = Local1 + Local3 = DerefOf (ITEM [Local1]) + Local4 = DerefOf (Local3 [0x01]) + Local7 = DerefOf (Local3 [0x02]) + Local2 = SizeOf (Local4) + Local2++ + Local4 = DerefOf (Local3 [0x00]) + If ((Local4 < 0x64)) + { + If ((Local4 == 0x54)) + { + Local4 = BRID /* \WMI1.BRID */ + Local4 = (Local4 & 0x0F) + If ((Local4 == 0x03)) + { + Local4 = 0x55 + } + Else + { + Local4 = 0x54 + } + } + + If ((BID == 0x0F)) + { + Local5 = DerefOf (VSLF [Local4]) + } + ElseIf ((BID == 0x03)) + { + Local3 = DerefOf (VSML [Local1]) + } + ElseIf ((BID == 0x04)) + { + Local3 = DerefOf (VSML [Local1]) + } + Else + { + Local5 = DerefOf (VSEL [Local4]) + } + + If (((Local4 < 0x3D) && (Local4 > 0x34))) + { + If (((Local7 == 0x8E) || (Local7 == 0xC9))) + { + HOUR = GVAL (Arg0, Local2) + Local2 = GIDX (Arg0, Local2, 0x3A) + Local2++ + MIN = GVAL (Arg0, Local2) + Local2 = GIDX (Arg0, Local2, 0x3A) + Local2++ + SEC = GVAL (Arg0, Local2) + Local6 = SEC /* \WMI1.SEC_ */ + Local6 = (Local6 << 0x08) + Local6 += MIN /* \WMI1.MIN_ */ + Local6 = (Local6 << 0x08) + Local6 += HOUR /* \WMI1.HOUR */ + } + ElseIf ((Local7 == 0x8F)) + { + MOUN = GVAL (Arg0, Local2) + Local2 = GIDX (Arg0, Local2, 0x2F) + Local2++ + DATE = GVAL (Arg0, Local2) + Local2 = GIDX (Arg0, Local2, 0x2F) + Local2++ + YEAR = GVAL (Arg0, Local2) + Local6 = DATE /* \WMI1.DATE */ + Local6 = (Local6 << 0x08) + Local6 += MOUN /* \WMI1.MOUN */ + Local6 = (Local6 << 0x10) + Local6 += YEAR /* \WMI1.YEAR */ + } + Else + { + Local6 = GVAL (Arg0, Local2) + } + } + Else + { + Local6 = GSEL (Local5, IBUF, Local2) + } + + If ((Local6 == Ones)) + { + Return (0x02) + } + + If ((Local7 == 0x75)) + { + WS16 = Local6 + } + ElseIf ((((Local7 == 0x7E) || (Local7 == 0x8E)) || (( + Local7 == 0x8F) || (Local7 == 0xC9)))) + { + WS32 = Local6 + } + Else + { + WSEL = Local6 + } + + If (((Local4 < 0x3D) && (Local4 > 0x34))) + { + Local4 = 0x3A + } + Else + { + Local2 += SLEN (Local5, Local6) + Local2++ + Local4 = DerefOf (IBUF [Local2]) + } + } + Else + { + Name (TMP1, Buffer (0x32){}) + Name (TMP2, Buffer (0x32){}) + Local3 = 0x00 + While (((Local3 < 0x32) && (Local2 < Local0))) + { + Local6 = GSEL (VLST, IBUF, Local2) + If ((Local6 == Ones)) + { + Local4 = DerefOf (IBUF [Local2]) + If ((Local4 == 0x3B)) + { + Break + } + Else + { + Return (0x02) + } + } + + TMP1 [Local3] = Local6 + TMP2 [Local3] = 0x01 + Local3++ + Local2 += SLEN (VLST, Local6) + Local4 = DerefOf (IBUF [Local2]) + If ((Local4 == 0x3B)) + { + Break + } + ElseIf ((Local4 == 0x3A)) + { + Local2++ + } + } + + Name (TMP3, Buffer (0x1B) + { + ";[Excluded from boot order" + }) + Local1 = 0x00 + While (((Local1 < 0x1A) && (Local2 < Local0))) + { + Local4 = DerefOf (IBUF [Local2]) + Local7 = DerefOf (TMP3 [Local1]) + If ((Local4 == Local7)) + { + Local2++ + Local1++ + } + Else + { + Return (0x02) + } + } + + Local4 = DerefOf (IBUF [Local2]) + If ((Local4 == 0x3A)) + { + Local2++ + While (((Local3 < 0x1E) && (Local2 < Local0))) + { + Local6 = GSEL (VLST, IBUF, Local2) + If ((Local6 == Ones)) + { + Return (0x02) + } + + TMP1 [Local3] = Local6 + TMP2 [Local3] = 0x00 + Local3++ + Local2 += SLEN (VLST, Local6) + Local4 = DerefOf (IBUF [Local2]) + If ((Local4 == 0x5D)) + { + Break + } + ElseIf ((Local4 == 0x3A)) + { + Local2++ + } + } + } + + If ((Local4 != 0x5D)) + { + Return (0x02) + } + + While ((Local3 < 0x1E)) + { + TMP1 [Local3] = 0xFF + TMP2 [Local3] = 0x00 + Local3++ + } + + WLST = TMP1 /* \WMI1.WSET.TMP1 */ + INCL = TMP2 /* \WMI1.WSET.TMP2 */ + Local2++ + If ((Local2 < Local0)) + { + Local4 = DerefOf (IBUF [Local2]) + } + } + + If (((Local4 == 0x2C) && (Local2 < Local0))) + { + Local2++ + Local0 = CPAS (IBUF, Local2) + If ((Local0 != 0x00)) + { + Return (Local0) + } + } + + Return (WMIS (0x01, 0x00)) + } + + Name (WQCA, Buffer (0x0A2E) + { + /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB.... + /* 0008 */ 0x1E, 0x0A, 0x00, 0x00, 0x26, 0x40, 0x00, 0x00, // ....&@.. + /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T + /* 0018 */ 0xA8, 0x46, 0x9F, 0x00, 0x01, 0x06, 0x18, 0x42, // .F.....B + /* 0020 */ 0x10, 0x15, 0x10, 0x0A, 0x0C, 0x21, 0x02, 0x0B, // .....!.. + /* 0028 */ 0x83, 0x50, 0x44, 0x18, 0x14, 0xA0, 0x45, 0x41, // .PD...EA + /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!.. + /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@... + /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r.".... + /* 0048 */ 0x31, 0x0A, 0x88, 0x14, 0x40, 0x48, 0x26, 0x84, // 1...@H&. + /* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, // D.S!p.._ + /* 0058 */ 0x01, 0x08, 0x1D, 0xA2, 0xC9, 0xA0, 0x00, 0xA7, // ........ + /* 0060 */ 0x08, 0x82, 0xB4, 0x65, 0x01, 0xBA, 0x05, 0xF8, // ...e.... + /* 0068 */ 0x16, 0xA0, 0x1D, 0x42, 0x68, 0x15, 0x0A, 0x30, // ...Bh..0 + /* 0070 */ 0x29, 0xC0, 0x27, 0x98, 0x2C, 0x0A, 0x90, 0x0D, // ).'.,... + /* 0078 */ 0x26, 0xDB, 0x70, 0x64, 0x18, 0x4C, 0xE0, 0x18, // &.pd.L.. + /* 0080 */ 0x50, 0x62, 0xC6, 0x80, 0xD2, 0x39, 0x05, 0xD9, // Pb...9.. + /* 0088 */ 0x04, 0x16, 0x74, 0xA1, 0x28, 0x9A, 0x46, 0x94, // ..t.(.F. + /* 0090 */ 0x04, 0x07, 0x75, 0x0C, 0x11, 0x82, 0x97, 0x2B, // ..u....+ + /* 0098 */ 0xC0, 0xFB, 0x08, 0x64, 0x1A, 0x9A, 0xC0, 0xF3, // ...d.... + /* 00A0 */ 0x18, 0x12, 0x40, 0xE8, 0x22, 0x25, 0x1C, 0x06, // ..@."%.. + /* 00A8 */ 0xE5, 0x01, 0x44, 0x72, 0x06, 0x8A, 0x02, 0xB6, // ..Dr.... + /* 00B0 */ 0xD7, 0x69, 0x68, 0x50, 0x47, 0xC9, 0x24, 0xC1, // .ihPG.$. + /* 00B8 */ 0xA1, 0xC6, 0x68, 0x89, 0x02, 0xCC, 0x8F, 0x4B, // ..h....K + /* 00C0 */ 0xC3, 0x3D, 0x10, 0x8F, 0x37, 0x24, 0x93, 0x36, // .=..7$.6 + /* 00C8 */ 0x14, 0xD4, 0xC0, 0x3D, 0xA9, 0x53, 0xF2, 0x34, // ...=.S.4 + /* 00D0 */ 0x23, 0x96, 0x3C, 0x45, 0xC1, 0x24, 0xF0, 0x28, // #.k.3.F + /* 01C8 */ 0xFE, 0x20, 0x50, 0x23, 0x33, 0xB4, 0xC7, 0xFD, // . P#3... + /* 01D0 */ 0xCA, 0x61, 0xC8, 0xE7, 0x84, 0xC3, 0x62, 0x62, // .a....bb + /* 01D8 */ 0xCF, 0x1C, 0x74, 0x3C, 0xE0, 0xBF, 0x8A, 0x3C, // ..t<...< + /* 01E0 */ 0x65, 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0x86, 0x1D, // ex...... + /* 01E8 */ 0x38, 0x7A, 0x20, 0x86, 0x6E, 0x7D, 0x18, 0x9A, // 8z .n}.. + /* 01F0 */ 0x86, 0x6F, 0x1F, 0x3E, 0x2F, 0xC0, 0x38, 0x05, // .o.>/.8. + /* 01F8 */ 0x78, 0xE4, 0x3E, 0xA2, 0x18, 0xC4, 0xFF, 0xFF, // x.>..... + /* 0200 */ 0xA3, 0x05, 0x3F, 0x4D, 0xB0, 0xEB, 0xC1, 0x69, // ..?M...i + /* 0208 */ 0x3C, 0x07, 0x78, 0x38, 0x67, 0xE5, 0xC3, 0x04, // <.x8g... + /* 0210 */ 0xD8, 0x6E, 0x27, 0x6C, 0x44, 0xEF, 0x16, 0x1E, // .n'lD... + /* 0218 */ 0x0D, 0xF6, 0x14, 0x00, 0xBE, 0xD3, 0x0B, 0x38, // .......8 + /* 0220 */ 0xEF, 0x1A, 0x6C, 0xB0, 0x30, 0x4E, 0x2F, 0xE0, // ..l.0N/. + /* 0228 */ 0x3F, 0x1F, 0x78, 0x00, 0xFC, 0x18, 0xE1, 0x01, // ?.x..... + /* 0230 */ 0x70, 0xF0, 0xA7, 0x8F, 0xF3, 0xB3, 0xD2, 0x59, // p......Y + /* 0238 */ 0x21, 0x87, 0x05, 0xEF, 0x8C, 0x03, 0x63, 0x14, // !.....c. + /* 0240 */ 0x3C, 0xCB, 0x53, 0xC3, 0x04, 0x0A, 0xF2, 0x16, // <.S..... + /* 0248 */ 0x50, 0xA0, 0x47, 0x01, 0x85, 0xF1, 0x99, 0x06, // P.G..... + /* 0250 */ 0x78, 0xFE, 0xFF, 0xCF, 0x34, 0xE0, 0x3E, 0x1A, // x...4.>. + /* 0258 */ 0xE0, 0xCE, 0x0D, 0x70, 0x6F, 0x05, 0xEC, 0xDA, // ...po... + /* 0260 */ 0xF0, 0x54, 0x03, 0x57, 0xF4, 0xA9, 0x06, 0xEA, // .T.W.... + /* 0268 */ 0xAD, 0xA5, 0xB8, 0x31, 0xEA, 0x12, 0x13, 0xE4, // ...1.... + /* 0270 */ 0x51, 0xE0, 0x81, 0x26, 0xCA, 0xD3, 0xCC, 0x9B, // Q..&.... + /* 0278 */ 0x4C, 0x84, 0x27, 0x1B, 0x5F, 0x6A, 0x3C, 0x85, // L.'._j<. + /* 0280 */ 0x38, 0xBE, 0xD4, 0x18, 0xF1, 0x55, 0xE2, 0xCD, // 8....U.. + /* 0288 */ 0xC6, 0xB8, 0x07, 0xF7, 0x50, 0xF3, 0x88, 0x63, // ....P..c + /* 0290 */ 0x90, 0xA3, 0x89, 0xF0, 0x62, 0x10, 0xF0, 0xE1, // ....b... + /* 0298 */ 0xC6, 0x87, 0x1A, 0xF0, 0x0A, 0x79, 0x9F, 0xC8, // .....y.. + /* 02A0 */ 0xC2, 0xA1, 0x06, 0xD0, 0xFA, 0xFF, 0x3F, 0xD4, // ......?. + /* 02A8 */ 0x00, 0x17, 0xAC, 0xC7, 0x13, 0xF0, 0x1D, 0x19, // ........ + /* 02B0 */ 0xD8, 0xFD, 0x04, 0xDE, 0xF9, 0x04, 0xF0, 0x92, // ........ + /* 02B8 */ 0x78, 0xFD, 0x3A, 0x70, 0x38, 0x2D, 0x88, 0x6C, // x.:p8-.l + /* 02C0 */ 0xBC, 0x00, 0x7C, 0x06, 0xA0, 0x6A, 0x80, 0x34, // ..|..j.4 + /* 02C8 */ 0x49, 0xD8, 0x04, 0xD3, 0x93, 0x0B, 0xDE, 0x07, // I....... + /* 02D0 */ 0x02, 0xE7, 0x26, 0x51, 0xF2, 0x61, 0x51, 0x38, // ..&Q.aQ8 + /* 02D8 */ 0x67, 0x3D, 0x86, 0x50, 0x10, 0x03, 0x3A, 0xC8, // g=.P..:. + /* 02E0 */ 0x61, 0x02, 0x7D, 0x42, 0xF1, 0x31, 0xE4, 0x59, // a.}B.1.Y + /* 02E8 */ 0xE0, 0x59, 0xD0, 0x83, 0xF2, 0x30, 0xDE, 0x50, // .Y...0.P + /* 02F0 */ 0xD8, 0xF9, 0xC3, 0x47, 0x09, 0x8F, 0xDC, 0x87, // ...G.... + /* 02F8 */ 0x04, 0xFE, 0x8B, 0xF1, 0x6C, 0x8C, 0x6E, 0x35, // ....l.n5 + /* 0300 */ 0xA7, 0x14, 0x14, 0x98, 0x8F, 0x21, 0x9C, 0xA0, // .....!.. + /* 0308 */ 0x2E, 0x01, 0xFF, 0xFF, 0x7B, 0x04, 0xB8, 0x7E, // ....{..~ + /* 0310 */ 0x8E, 0x3A, 0x28, 0x80, 0x00, 0xC8, 0xB7, 0x02, // .:(..... + /* 0318 */ 0x9F, 0x03, 0x9E, 0x0C, 0xD8, 0x18, 0x1E, 0x05, // ........ + /* 0320 */ 0x8C, 0x66, 0x74, 0x1E, 0x7E, 0xB2, 0xA8, 0xB8, // .ft.~... + /* 0328 */ 0x93, 0xA5, 0x20, 0x9E, 0xAC, 0x6F, 0x8F, 0x9E, // .. ..o.. + /* 0330 */ 0x2C, 0x6E, 0x26, 0xBE, 0x55, 0x78, 0x46, 0x6F, // ,n&.UxFo + /* 0338 */ 0x59, 0x9E, 0xA3, 0x27, 0xEC, 0x5B, 0x08, 0xAC, // Y..'.[.. + /* 0340 */ 0xC3, 0x40, 0xC8, 0x07, 0x03, 0x4F, 0xC3, 0x70, // .@...O.p + /* 0348 */ 0x9E, 0x2C, 0x87, 0xF3, 0x64, 0xF9, 0x58, 0x7C, // .,..d.X| + /* 0350 */ 0x09, 0x01, 0xDF, 0x8D, 0x02, 0x37, 0x5B, 0x30, // .....7[0 + /* 0358 */ 0xC2, 0x63, 0x62, 0x8D, 0x8A, 0x5E, 0x84, 0x3C, // .cb..^.< + /* 0360 */ 0x3C, 0x7E, 0x39, 0xF0, 0x7C, 0x9E, 0x11, 0x8E, // <~9.|... + /* 0368 */ 0xF2, 0x49, 0x02, 0x87, 0xF1, 0x44, 0xE2, 0x21, // .I...D.! + /* 0370 */ 0xFA, 0x4E, 0x04, 0x6B, 0x22, 0x27, 0xED, 0xDB, // .N.k"'.. + /* 0378 */ 0xC2, 0xC9, 0x06, 0x7D, 0x35, 0xC3, 0xDC, 0x89, // ...}5... + /* 0380 */ 0xC0, 0x78, 0x39, 0xF3, 0xFF, 0xFF, 0x72, 0x06, // .x9...r. + /* 0388 */ 0x2B, 0xCF, 0xAD, 0x0A, 0x15, 0xE9, 0x56, 0x05, // +.....V. + /* 0390 */ 0x88, 0x1D, 0xD6, 0x4B, 0x8F, 0x8F, 0x55, 0x70, // ...K..Up + /* 0398 */ 0x6F, 0x55, 0x70, 0xAF, 0x54, 0xCF, 0x0A, 0xC7, // oUp.T... + /* 03A0 */ 0x18, 0xFE, 0x51, 0x2A, 0xC6, 0x29, 0xBD, 0x72, // ..Q*.).r + /* 03A8 */ 0x1A, 0x28, 0x4C, 0x94, 0x78, 0x6F, 0x55, 0x1E, // .(L.xoU. + /* 03B0 */ 0xE3, 0x5B, 0x15, 0xBB, 0x40, 0x85, 0x89, 0xF5, // .[..@... + /* 03B8 */ 0x6A, 0x65, 0xD4, 0xD7, 0x89, 0x70, 0x81, 0x82, // je...p.. + /* 03C0 */ 0x44, 0x7A, 0xB1, 0x8A, 0x12, 0x39, 0xBE, 0x21, // Dz...9.! + /* 03C8 */ 0xDF, 0xAA, 0xC0, 0x2B, 0xE5, 0x56, 0x05, 0x24, // ...+.V.$ + /* 03D0 */ 0xFE, 0xFF, 0xB7, 0x2A, 0xC0, 0x30, 0xDA, 0x5B, // ...*.0.[ + /* 03D8 */ 0x15, 0x18, 0xAF, 0x0D, 0xEC, 0x86, 0x04, 0x0B, // ........ + /* 03E0 */ 0xE8, 0xB5, 0x0A, 0x30, 0x93, 0xF9, 0x5A, 0x45, // ...0..ZE + /* 03E8 */ 0xF3, 0x5E, 0xAB, 0x50, 0xA7, 0x12, 0xEB, 0xB9, // .^.P.... + /* 03F0 */ 0x56, 0x91, 0x59, 0xC2, 0xF9, 0xFF, 0xCF, 0x12, // V.Y..... + /* 03F8 */ 0x77, 0xAF, 0x02, 0x38, 0xFF, 0xFF, 0xBF, 0x57, // w..8...W + /* 0400 */ 0x01, 0x46, 0x6E, 0x45, 0x98, 0x83, 0x15, 0xBC, // .FnE.... + /* 0408 */ 0x84, 0xF7, 0x2A, 0x1A, 0x67, 0x19, 0x0A, 0xB7, // ..*.g... + /* 0410 */ 0x20, 0x0A, 0xE3, 0x7B, 0x15, 0xE0, 0xE8, 0xBA, // ..{.... + /* 0418 */ 0x82, 0x1B, 0x32, 0x5C, 0xB0, 0x28, 0xC1, 0x7C, // ..2\.(.| + /* 0420 */ 0x08, 0xF1, 0x74, 0x8E, 0xF8, 0x21, 0xE1, 0x25, // ..t..!.% + /* 0428 */ 0xE0, 0x21, 0xC7, 0x03, 0x7E, 0x20, 0xF0, 0xD5, // .!..~ .. + /* 0430 */ 0x0A, 0x6C, 0xA7, 0xDE, 0xB3, 0x7C, 0x97, 0x7A, // .l...|.z + /* 0438 */ 0xE7, 0xE5, 0xC7, 0xAB, 0xB7, 0x2A, 0x1F, 0x7C, // .....*.| + /* 0440 */ 0x63, 0xBD, 0x33, 0x44, 0xF9, 0xFF, 0x47, 0x3B, // c.3D..G; + /* 0448 */ 0x92, 0x28, 0x27, 0x11, 0xCA, 0x37, 0xAB, 0xB7, // .('..7.. + /* 0450 */ 0x2A, 0xA3, 0x44, 0x7C, 0x19, 0xF6, 0x09, 0xD8, // *.D|.... + /* 0458 */ 0xD0, 0x46, 0x79, 0xAA, 0x88, 0x6E, 0xBC, 0x57, // .Fy..n.W + /* 0460 */ 0x2B, 0xF0, 0xCA, 0xB9, 0x5A, 0x01, 0x34, 0x19, // +...Z.4. + /* 0468 */ 0xFE, 0xAB, 0x15, 0xF8, 0x6E, 0x0E, 0xD8, 0x6B, // ....n..k + /* 0470 */ 0x12, 0xDC, 0xCB, 0x15, 0xBC, 0xFF, 0xFF, 0xE5, // ........ + /* 0478 */ 0x0A, 0xF8, 0x67, 0xBF, 0x5C, 0xD1, 0xDC, 0x97, // ..g.\... + /* 0480 */ 0x2B, 0x94, 0x28, 0x08, 0x29, 0x02, 0xD2, 0x3C, // +.(.)..< + /* 0488 */ 0xC1, 0x73, 0xBB, 0x02, 0xB8, 0xF3, 0xFF, 0xBF, // .s...... + /* 0490 */ 0x5D, 0x01, 0xF6, 0xC2, 0xDD, 0xAE, 0x80, 0xDE, // ]....... + /* 0498 */ 0xDD, 0x08, 0xBC, 0x28, 0xEF, 0x46, 0xD8, 0x0B, // ...(.F.. + /* 04A0 */ 0x16, 0x3E, 0xDF, 0x05, 0x8B, 0x86, 0x59, 0x89, // .>....Y. + /* 04A8 */ 0xA2, 0xAD, 0x89, 0xC2, 0xF8, 0x82, 0x05, 0x8C, // ........ + /* 04B0 */ 0xFF, 0xFF, 0x17, 0x2C, 0x30, 0x1E, 0x42, 0x71, // ...,0.Bq + /* 04B8 */ 0xA3, 0x86, 0x7B, 0x6D, 0xF2, 0x9D, 0xC7, 0xF3, // ..{m.... + /* 04C0 */ 0x8D, 0x68, 0xCD, 0x30, 0x3A, 0x43, 0xBC, 0x14, // .h.0:C.. + /* 04C8 */ 0xBC, 0x4E, 0xFB, 0xD6, 0x0F, 0xE3, 0x7E, 0x05, // .N....~. + /* 04D0 */ 0x7B, 0x48, 0x0F, 0xC2, 0x3E, 0x49, 0xBC, 0x61, // {H..>I.a + /* 04D8 */ 0xF9, 0x60, 0x65, 0x90, 0xB7, 0xDF, 0xE7, 0xAA, // .`e..... + /* 04E0 */ 0xC7, 0xAA, 0x28, 0x46, 0x08, 0x78, 0x3C, 0xEF, // ..(F.x<. + /* 04E8 */ 0xC1, 0x3E, 0x58, 0xBD, 0x67, 0x19, 0x25, 0x76, // .>X.g.%v + /* 04F0 */ 0x2C, 0x5F, 0xA7, 0x9E, 0xB4, 0x7C, 0xC9, 0x32, // ,_...|.2 + /* 04F8 */ 0x44, 0xDC, 0x87, 0x61, 0xDF, 0xAF, 0x00, 0x56, // D..a...V + /* 0500 */ 0xFC, 0xFF, 0xEF, 0x57, 0xC0, 0xFD, 0xE2, 0xC0, // ...W.... + /* 0508 */ 0x0F, 0x0E, 0xD8, 0xFB, 0x15, 0xE0, 0x71, 0x9E, // ......q. + /* 0510 */ 0xE0, 0xB9, 0x5F, 0x01, 0xFB, 0xFF, 0xFF, 0xFD, // .._..... + /* 0518 */ 0x0A, 0xE0, 0xFF, 0xFF, 0xFF, 0x7E, 0x05, 0xE7, // .....~.. + /* 0520 */ 0x6E, 0x85, 0xBD, 0x63, 0x61, 0x09, 0x1C, 0xF3, // n..ca... + /* 0528 */ 0xEF, 0x62, 0x02, 0x85, 0x5A, 0x89, 0x82, 0xC1, // .b..Z... + /* 0530 */ 0xA0, 0xEE, 0x57, 0x80, 0xA3, 0x71, 0x7B, 0xD4, // ..W..q{. + /* 0538 */ 0xE0, 0x38, 0x1B, 0x3C, 0x49, 0x60, 0xCE, 0xD4, // .8..`...k + /* 05B8 */ 0xC5, 0xA1, 0x7B, 0x14, 0xAF, 0x0F, 0x26, 0xF0, // ..{...&. + /* 05C0 */ 0xE0, 0xC0, 0x71, 0x67, 0x38, 0x22, 0xDF, 0x61, // ..qg8".a + /* 05C8 */ 0x3C, 0x38, 0xCC, 0xFF, 0x7F, 0x70, 0xE0, 0x38, // <8...p.8 + /* 05D0 */ 0x08, 0x00, 0x87, 0xC1, 0xE1, 0x43, 0x0D, 0x0E, // .....C.. + /* 05D8 */ 0x3D, 0x1E, 0x03, 0x87, 0xF4, 0x79, 0x8C, 0x5D, // =....y.] + /* 05E0 */ 0x18, 0x1E, 0x72, 0x3C, 0x34, 0xB0, 0x01, 0x7A, // ..r<4..z + /* 05E8 */ 0x68, 0xC0, 0x72, 0x12, 0x4F, 0x21, 0x87, 0x06, // h.r.O!.. + /* 05F0 */ 0x66, 0x09, 0x43, 0x03, 0x4A, 0xF1, 0x86, 0x86, // f.C.J... + /* 05F8 */ 0x1E, 0x92, 0x0F, 0x0B, 0x31, 0x9F, 0x72, 0x22, // ....1.r" + /* 0600 */ 0xBC, 0x2F, 0xF8, 0x04, 0xC5, 0xD0, 0x5F, 0x53, // ./...._S + /* 0608 */ 0x7C, 0xBB, 0xF0, 0xDD, 0x86, 0xFF, 0xFF, 0xCF, // |....... + /* 0610 */ 0x17, 0xE0, 0xBB, 0x72, 0x7A, 0x7C, 0xC0, 0xE7, // ...rz|.. + /* 0618 */ 0xC8, 0xE5, 0xF1, 0xE1, 0x8E, 0x4E, 0x1E, 0x1F, // .....N.. + /* 0620 */ 0x0C, 0x97, 0x57, 0x19, 0x72, 0x34, 0xF1, 0xD1, // ..W.r4.. + /* 0628 */ 0x8A, 0x0D, 0x0F, 0x6C, 0x37, 0x3D, 0x0F, 0x0F, // ...l7=.. + /* 0630 */ 0xF8, 0xC4, 0x1C, 0x1E, 0xFA, 0x5C, 0xF4, 0x34, // .....\.4 + /* 0638 */ 0xE2, 0xC9, 0xB1, 0x31, 0x14, 0x39, 0x34, 0x7A, // ...1.94z + /* 0640 */ 0x0F, 0x63, 0x47, 0x9F, 0x77, 0x12, 0xB8, 0x63, // .cG.w..c + /* 0648 */ 0x04, 0xDB, 0x51, 0xCC, 0x63, 0x04, 0x1E, 0xFF, // ..Q.c... + /* 0650 */ 0xFF, 0x31, 0x82, 0xE3, 0x62, 0x75, 0x8C, 0xC0, // .1..bu.. + /* 0658 */ 0x6C, 0x64, 0x1E, 0x23, 0x70, 0x45, 0x3C, 0x46, // ld.#pE. + /* 06F8 */ 0x02, 0xFC, 0x40, 0x7B, 0x44, 0x01, 0x1F, 0xD2, // ..@{D... + /* 0700 */ 0xFF, 0xFF, 0xB5, 0xC1, 0x77, 0x14, 0x78, 0x67, // ....w.xg + /* 0708 */ 0x7D, 0xFC, 0x01, 0x05, 0x70, 0x91, 0xE5, 0x01, // }...p... + /* 0710 */ 0xA0, 0x13, 0x87, 0x73, 0x80, 0xC8, 0xC6, 0x13, // ...s.... + /* 0718 */ 0xC0, 0x87, 0x00, 0xAA, 0x06, 0x48, 0xB3, 0x84, // .....H.. + /* 0720 */ 0x9F, 0x9E, 0x5C, 0xF0, 0x3E, 0x11, 0x38, 0x37, // ..\.>.87 + /* 0728 */ 0x89, 0x92, 0x0F, 0x8B, 0x8E, 0xC0, 0x59, 0xCF, // ......Y. + /* 0730 */ 0x21, 0x14, 0xC4, 0x80, 0x0E, 0x72, 0x9A, 0x40, // !....r.@ + /* 0738 */ 0x1F, 0x51, 0xD8, 0x3D, 0xC9, 0x47, 0x09, 0x76, // .Q.=.G.v + /* 0740 */ 0x42, 0xF2, 0x15, 0xC5, 0x07, 0x10, 0x9F, 0x25, // B......% + /* 0748 */ 0x3C, 0x72, 0x9F, 0x12, 0xF8, 0x37, 0xC6, 0xD7, // + /* 07B0 */ 0x53, 0x5F, 0x11, 0x1E, 0x7C, 0x7D, 0x35, 0xC7, // S_..|}5. + /* 07B8 */ 0xC0, 0x7A, 0xA4, 0x1C, 0xD6, 0xA0, 0x61, 0x0F, // .z....a. + /* 07C0 */ 0xF8, 0xA1, 0x02, 0x77, 0xAF, 0xF5, 0x68, 0x59, // ...w..hY + /* 07C8 */ 0xBC, 0x6F, 0xB2, 0x09, 0x14, 0x88, 0x5C, 0x81, // .o....\. + /* 07D0 */ 0x60, 0x50, 0x77, 0x28, 0xC0, 0xCC, 0xFF, 0xFF, // `Pw(.... + /* 07D8 */ 0x0E, 0x85, 0xB9, 0x16, 0x81, 0xF3, 0x9E, 0x82, // ........ + /* 07E0 */ 0xBB, 0x50, 0xC1, 0xBD, 0xA5, 0xE0, 0xEE, 0x53, // .P.....S + /* 07E8 */ 0xBE, 0xEA, 0x78, 0x18, 0xAF, 0xC8, 0x1E, 0x5F, // ..x...._ + /* 07F0 */ 0xA0, 0x78, 0x0F, 0x38, 0xBE, 0x2A, 0x3C, 0x3F, // .x.8.*d.,D.. + /* 0838 */ 0x61, 0x0B, 0xD7, 0xA5, 0xC4, 0xF7, 0x28, 0xC0, // a.....(. + /* 0840 */ 0xFA, 0xFF, 0x7F, 0x3C, 0x30, 0x27, 0xFE, 0x1E, // ...<0'.. + /* 0848 */ 0x85, 0x8D, 0x0D, 0x21, 0x2B, 0xE3, 0x41, 0x0D, // ...!+.A. + /* 0850 */ 0xC4, 0xD0, 0x4F, 0x2D, 0x9E, 0x86, 0x8F, 0x1C, // ..O-.... + /* 0858 */ 0xBE, 0x2F, 0x62, 0xAF, 0xE9, 0xFC, 0x9A, 0x09, // ./b..... + /* 0860 */ 0x9E, 0x13, 0x85, 0x0F, 0x11, 0xE0, 0x39, 0xD4, // ......9. + /* 0868 */ 0xE0, 0x0E, 0x10, 0x30, 0xAE, 0x4B, 0xC6, 0x7B, // ...0.K.{ + /* 0870 */ 0x5B, 0x38, 0xBE, 0x40, 0x26, 0xF0, 0xA5, 0x13, // [8.@&... + /* 0878 */ 0x3C, 0xA7, 0x86, 0x37, 0x0E, 0x5F, 0xC1, 0xC0, // <..7._.. + /* 0880 */ 0x79, 0xCA, 0xC0, 0x5E, 0x32, 0x60, 0x5C, 0xC1, // y..^2`\. + /* 0888 */ 0x00, 0x2F, 0xFF, 0xFF, 0xA1, 0xA2, 0xAE, 0x9C, // ./...... + /* 0890 */ 0xF4, 0x70, 0xE3, 0x70, 0x6F, 0x03, 0x7A, 0xBE, // .p.po.z. + /* 0898 */ 0x01, 0x18, 0x75, 0xA9, 0xF1, 0xF9, 0x06, 0x98, // ..u..... + /* 08A0 */ 0x88, 0xB9, 0x76, 0x02, 0x81, 0xFF, 0xFF, 0xF9, // ..v..... + /* 08A8 */ 0x06, 0xB0, 0x7C, 0x56, 0xC0, 0x5D, 0x3B, 0xC1, // ..|V.];. + /* 08B0 */ 0x75, 0x4B, 0x81, 0x7F, 0x4A, 0x01, 0xBC, 0x48, // uK..J..H + /* 08B8 */ 0xBC, 0x77, 0x52, 0x79, 0xF7, 0x4E, 0xD4, 0xC9, // .wRy.N.. + /* 08C0 */ 0xC3, 0xE2, 0xA8, 0x34, 0x02, 0xEC, 0xFF, 0x7F, // ...4.... + /* 08C8 */ 0xA8, 0x60, 0x91, 0x70, 0xF9, 0xA4, 0x10, 0x3E, // .`.p...> + /* 08D0 */ 0x3F, 0x3A, 0xFA, 0x01, 0x12, 0x15, 0x16, 0x8C, // ?:...... + /* 08D8 */ 0x82, 0xF8, 0xF2, 0xC9, 0x8F, 0x4E, 0xB8, 0x03, // .....N.. + /* 08E0 */ 0x82, 0xC7, 0xF2, 0x4C, 0xE2, 0x41, 0x1C, 0x83, // ...L.A.. + /* 08E8 */ 0xCF, 0x8F, 0xF0, 0xAE, 0x9E, 0xEC, 0xFC, 0x08, // ........ + /* 08F0 */ 0xFB, 0x8C, 0x04, 0xCE, 0xF3, 0x23, 0xF0, 0x08, // .....#.. + /* 08F8 */ 0x0E, 0xA1, 0xB3, 0x88, 0xCF, 0x8F, 0xE0, 0x46, // .......F + /* 0900 */ 0x7B, 0x7E, 0x84, 0x79, 0xDA, 0x80, 0x0F, 0x88, // {~.y.... + /* 0908 */ 0xBF, 0x41, 0xBC, 0x87, 0x78, 0x02, 0x06, 0x64, // .A..x..d + /* 0910 */ 0x03, 0x7C, 0x67, 0x07, 0xDB, 0x4D, 0x81, 0xFD, // .|g..M.. + /* 0918 */ 0xFF, 0x6F, 0x5F, 0x30, 0x15, 0xDA, 0xF4, 0xA9, // .o_0.... + /* 0920 */ 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, 0xCA, 0x34, // ..U.25.4 + /* 0928 */ 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, 0xFC, 0x0D, // ...Rc... + /* 0930 */ 0xD2, 0x47, 0x06, 0x2A, 0x64, 0xC1, 0x1A, 0xB1, // .G.*d... + /* 0938 */ 0x63, 0x80, 0x50, 0xC9, 0x67, 0x4D, 0x81, 0x38, // c.P.gM.8 + /* 0940 */ 0xDC, 0xC2, 0x05, 0xE8, 0x40, 0xAF, 0x27, 0x9D, // ....@.'. + /* 0948 */ 0x14, 0xC8, 0xA2, 0x04, 0xE2, 0xC8, 0x26, 0x20, // ......& + /* 0950 */ 0x1A, 0x01, 0x51, 0x7E, 0x10, 0x01, 0x39, 0xAB, // ..Q~..9. + /* 0958 */ 0x0A, 0x20, 0x96, 0x1C, 0x44, 0x40, 0xD6, 0xB9, // . ..D@.. + /* 0960 */ 0x48, 0x81, 0x5B, 0x9B, 0x0E, 0x20, 0x96, 0x0C, // H.[.. .. + /* 0968 */ 0x84, 0x26, 0x78, 0x1C, 0x08, 0xD4, 0x71, 0x40, // .&x...q@ + /* 0970 */ 0x04, 0x64, 0xE9, 0x34, 0x02, 0x72, 0x10, 0x0A, // .d.4.r.. + /* 0978 */ 0x01, 0x39, 0xB6, 0x12, 0x70, 0x16, 0xF8, 0x15, // .9..p... + /* 0980 */ 0x25, 0x20, 0xCB, 0x7D, 0x4E, 0x08, 0xC4, 0xE2, // % .}N... + /* 0988 */ 0xBC, 0x80, 0x32, 0xA5, 0x20, 0x02, 0xB2, 0xAA, // ..2. ... + /* 0990 */ 0x45, 0x0B, 0xC8, 0x1A, 0x41, 0x04, 0xE4, 0x5C, // E...A..\ + /* 0998 */ 0x66, 0xC0, 0x59, 0x1E, 0x37, 0x40, 0x4C, 0xCD, // f.Y.7@L. + /* 09A0 */ 0x63, 0x42, 0x20, 0xCE, 0x6E, 0x07, 0x94, 0x09, // cB .n... + /* 09A8 */ 0xD1, 0x03, 0xC4, 0x42, 0x83, 0x08, 0xC8, 0x12, // ...B.... + /* 09B0 */ 0xFC, 0x00, 0x31, 0xD9, 0x2F, 0x02, 0x81, 0x5B, // ..1./..[ + /* 09B8 */ 0xB6, 0x22, 0x40, 0x0A, 0x42, 0xC3, 0x38, 0x02, // ."@.B.8. + /* 09C0 */ 0x61, 0x22, 0xDF, 0x5C, 0x02, 0x71, 0x70, 0x10, // a".\.qp. + /* 09C8 */ 0x1A, 0xC6, 0x12, 0x08, 0x93, 0xAA, 0x09, 0x84, // ........ + /* 09D0 */ 0xC9, 0xF0, 0x04, 0xC2, 0xC2, 0x82, 0xD0, 0x48, // .......H + /* 09D8 */ 0xCF, 0x3E, 0x81, 0x58, 0xB8, 0x29, 0x10, 0x26, // .>.X.).& + /* 09E0 */ 0x4F, 0x15, 0x08, 0x13, 0xE1, 0x0A, 0x84, 0x45, // O......E + /* 09E8 */ 0x05, 0xA1, 0xE2, 0x9E, 0x4C, 0x87, 0x43, 0x04, // ....L.C. + /* 09F0 */ 0xF9, 0x02, 0x62, 0x71, 0x40, 0xA8, 0x68, 0x63, // ..bq@.hc + /* 09F8 */ 0x03, 0x63, 0x09, 0x40, 0x04, 0x64, 0xB5, 0xFF, // .c.@.d.. + /* 0A00 */ 0xA6, 0x40, 0x44, 0x3B, 0x88, 0x80, 0x9C, 0xE1, // .@D;.... + /* 0A08 */ 0x17, 0x15, 0x9C, 0xE8, 0x7F, 0x48, 0x05, 0x22, // .....H." + /* 0A10 */ 0xE9, 0x41, 0x68, 0xE6, 0x77, 0x47, 0x10, 0xA2, // .Ah.wG.. + /* 0A18 */ 0x50, 0xDC, 0xFF, 0x1F, 0x90, 0xA9, 0x53, 0x07, // P.....S. + /* 0A20 */ 0xC4, 0xB2, 0x81, 0xD0, 0x2C, 0xF2, 0x86, 0xC0, // ....,... + /* 0A28 */ 0x92, 0x81, 0x08, 0xC8, 0xFF, 0x7F // ...... + }) + } + + Scope (_SB.PCI0.RP05) + { + Name (_SUN, 0x06) // _SUN: Slot User Number + Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method + { + If ((P410 == 0x01)) + { + _SUN = 0x04 + } + + If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) + { + If (((Arg1 == 0x02) && (Arg2 == 0x00))) + { + Return (Buffer (0x01) + { + 0x80 // . + }) + } + + If (((Arg1 == 0x02) && (Arg2 == 0x07))) + { + Return (Package (0x02) + { + 0x04, + Unicode (" Slot02 x16") + }) + } + } + + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + + Scope (_GPE) + { + Method (_L14, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF + { + \_SB.PCI0.LPC0.SIO2.GPES () + } + } + + Scope (_SB.PCI0.LPC0) + { + Mutex (SIOM, 0x00) + OperationRegion (SIOX, SystemIO, 0x2E, 0x02) + Field (SIOX, ByteAcc, NoLock, Preserve) + { + IND1, 8, + DAT1, 8 + } + + IndexField (IND1, DAT1, ByteAcc, NoLock, Preserve) + { + Offset (0x07), + LDN1, 8, + Offset (0x28), + , 6, + MX61, 1, + Offset (0x30), + ACT1, 8, + Offset (0x60), + IOH1, 8, + IOL1, 8, + Offset (0x70), + INT1, 8, + Offset (0xF4), + SCFG, 8 + } + + OperationRegion (ECS1, SystemIO, 0x0A20, 0x08) + Field (ECS1, ByteAcc, NoLock, Preserve) + { + Offset (0x04), + PGE2, 8, + IND2, 8, + DAT2, 8 + } + + OperationRegion (PMBE, SystemIO, 0x0A10, 0x10) + Field (PMBE, ByteAcc, NoLock, Preserve) + { + Offset (0x03), + , 6, + HSTS, 1, + Offset (0x07), + , 6, + HSEN, 1 + } + + Device (SIO2) + { + Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID + Name (_UID, 0x20) // _UID: Unique ID + Name (CRS, ResourceTemplate () + { + IO (Decode16, + 0x0A20, // Range Minimum + 0x0A20, // Range Maximum + 0x00, // Alignment + 0x10, // Length + _Y11) + }) + Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings + { + ENF2 (0x0B) + CreateByteField (CRS, \_SB.PCI0.LPC0.SIO2._Y11._MIN, IOLA) // _MIN: Minimum Base Address + CreateByteField (CRS, 0x03, IOHA) + IOH1 = IOHA /* \_SB_.PCI0.LPC0.SIO2._CRS.IOHA */ + IOL1 = IOLA /* \_SB_.PCI0.LPC0.SIO2._CRS.IOLA */ + Local0 = ACT1 /* \_SB_.PCI0.LPC0.ACT1 */ + ACT1 = (Local0 | One) + EXF2 () + Return (CRS) /* \_SB_.PCI0.LPC0.SIO2.CRS_ */ + } + + Method (GPES, 0, NotSerialized) + { + Notify (HSI, 0x01) // Device Check + } + } + + Method (ENF2, 1, NotSerialized) + { + IND1 = 0x87 + IND1 = 0x87 + LDN1 = Arg0 + } + + Method (EXF2, 0, NotSerialized) + { + IND1 = 0xAA + } + + Method (ECSR, 2, NotSerialized) + { + Acquire (SIOM, 0xFFFF) + Local0 = PGE2 /* \_SB_.PCI0.LPC0.PGE2 */ + If ((0xFF != Local0)) + { + Stall (0x0A) + Local0 = PGE2 /* \_SB_.PCI0.LPC0.PGE2 */ + If ((0xFF != Local0)) + { + PGE2 = 0xFF + } + } + + PGE2 = Arg0 + Local0 = PGE2 /* \_SB_.PCI0.LPC0.PGE2 */ + If ((Arg0 != Local0)) + { + Release (SIOM) + Return (0xFF) + } + + IND2 = Arg1 + Local0 = IND2 /* \_SB_.PCI0.LPC0.IND2 */ + If ((Arg1 != Local0)) + { + Release (SIOM) + Return (0xFF) + } + + Local0 = DAT2 /* \_SB_.PCI0.LPC0.DAT2 */ + PGE2 = 0xFF + Release (SIOM) + Return (Local0) + } + + Method (ECSW, 3, NotSerialized) + { + Acquire (SIOM, 0xFFFF) + Local0 = PGE2 /* \_SB_.PCI0.LPC0.PGE2 */ + If ((0xFF != Local0)) + { + Stall (0x0A) + Local0 = PGE2 /* \_SB_.PCI0.LPC0.PGE2 */ + If ((0xFF != Local0)) + { + PGE2 = 0xFF + } + } + + PGE2 = Arg0 + Local0 = PGE2 /* \_SB_.PCI0.LPC0.PGE2 */ + If ((Arg0 != Local0)) + { + Release (SIOM) + Return (Zero) + } + + IND2 = Arg1 + Local0 = IND2 /* \_SB_.PCI0.LPC0.IND2 */ + If ((Arg1 != Local0)) + { + Release (SIOM) + Return (Zero) + } + + DAT2 = Arg2 + PGE2 = 0xFF + Release (SIOM) + } + + Device (HSI) + { + Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID + Name (_UID, "SIOI") // _UID: Unique ID + Name (PRVS, Zero) + Name (DEVS, Zero) + Name (AIOP, 0x08) + Name (M00, 0x44524345) + Name (M01, 0x52574345) + Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings + { + IO (Decode16, + 0x0A10, // Range Minimum + 0x0A10, // Range Maximum + 0x00, // Alignment + 0x10, // Length + ) + }) + Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings + { + ENF2 (0x0A) + CreateByteField (Arg0, 0x02, IOLA) + CreateByteField (Arg0, 0x03, IOHA) + IOH1 = IOHA /* \_SB_.PCI0.LPC0.HSI_._SRS.IOHA */ + IOL1 = IOLA /* \_SB_.PCI0.LPC0.HSI_._SRS.IOLA */ + Local0 = ACT1 /* \_SB_.PCI0.LPC0.ACT1 */ + PRVS = (Local0 & One) + ACT1 = (Local0 | One) + EXF2 () + } + + Name (_WDG, Buffer (0x28) + { + /* 0000 */ 0x9A, 0x9F, 0x86, 0x18, 0x9B, 0x5D, 0xDF, 0x42, // .....].B + /* 0008 */ 0x94, 0xC1, 0x15, 0xBA, 0x25, 0xF7, 0x69, 0x05, // ....%.i. + /* 0010 */ 0x01, 0x00, 0x01, 0x08, 0x51, 0xC1, 0xA6, 0x87, // ....Q... + /* 0018 */ 0xD8, 0x5D, 0xFB, 0x4D, 0xB4, 0xED, 0x46, 0x85, // .].M..F. + /* 0020 */ 0x6A, 0xBF, 0xEC, 0xE7, 0x41, 0x41, 0x01, 0x02 // j...AA.. + }) + Method (_WED, 1, NotSerialized) // _Wxx: Wake Event, xx=0x00-0xFF + { + Return (Arg0) + } + + Method (WMAA, 3, NotSerialized) + { + If ((Arg1 == 0x01)) + { + CreateDWordField (Arg2, Zero, MNAE) + CreateWordField (Arg2, 0x04, DLEN) + CreateField (Arg2, 0x30, (DLEN * 0x08), DBUF) + Name (OBUF, Buffer (0x04) + { + 0x00, 0x00, 0x00, 0x00 // .... + }) + CreateWordField (OBUF, 0x00, RLEN) + CreateByteField (OBUF, 0x02, OLEN) + CreateByteField (OBUF, 0x03, ODAT) + If ((M00 == MNAE)) + { + If ((DLEN <= 0x02)) + { + Return (0x00) + } + + Local0 = ECRD (DLEN, DBUF) + RLEN = 0x02 + OLEN = DerefOf (Local0 [0x00]) + ODAT = DerefOf (Local0 [0x01]) + Return (OBUF) /* \_SB_.PCI0.LPC0.HSI_.WMAA.OBUF */ + } + ElseIf ((M01 == MNAE)) + { + If ((DLEN <= 0x03)) + { + Return (0x00) + } + + Local0 = ECWR (DLEN, DBUF) + RLEN = 0x01 + OLEN = DerefOf (Local0 [0x00]) + Return (OBUF) /* \_SB_.PCI0.LPC0.HSI_.WMAA.OBUF */ + } + } + } + + Method (ECRD, 2, NotSerialized) + { + Name (BUFF, Buffer (0x02){}) + CreateByteField (BUFF, 0x00, LENH) + CreateByteField (BUFF, 0x01, DATA) + LENH = One + DATA = ECSR (DerefOf (Arg1 [Zero]), DerefOf (Arg1 [One] + )) + Return (BUFF) /* \_SB_.PCI0.LPC0.HSI_.ECRD.BUFF */ + } + + Method (ECWR, 2, NotSerialized) + { + ECSW (DerefOf (Arg1 [Zero]), DerefOf (Arg1 [One]), DerefOf ( + Arg1 [0x02])) + Return (Buffer (0x01) + { + 0x00 // . + }) + } + } + } +} + diff --git a/tools/amldecode/acpi-ssdt1-lenovo.aml b/tools/amldecode/acpi-ssdt1-lenovo.aml new file mode 100644 index 0000000000000000000000000000000000000000..069697640ff0345be850ca5402b5f2f472672778 GIT binary patch literal 877 zcmb`Du}*_f6owB4+S}U>w8fp>7@=y?6}a5CNoh&%jWMLz#5KP{w0LsrSm@lpu(mxZnZCREMFrCZUpxw6&-d+O{ zk_SCXTSgP|=NCOg|5kc_D>-_c0{ju?^BMZ@qyHkp_jpgGC&Uk#52mM$CHLqfIyy>L z1Dq#xl>3_^Y$dOl-6smTw(X=F9Hm>-54dHxr|WYy7G50rQ(L&wAi9n39cD8YGE`SPri)10BzD=dlVxV0wVP!M)XE)J+(y0Ji;An(%e}0)TD{z>imTVe{ReTY;Q;^u literal 0 HcmV?d00001 diff --git a/tools/amldecode/acpi-ssdt2-lenovo.aml b/tools/amldecode/acpi-ssdt2-lenovo.aml new file mode 100644 index 0000000000000000000000000000000000000000..43a7fca171a3f5ae11074a9e8916bcbf7e07d542 GIT binary patch literal 86527 zcmeI)+jmoC8prXSG%e}gn;z1%(3a8^5J3(mX*m=XXwv`{XafmnB%IVj5sRRJh#+#Z zawt?0Q6XwYJfL_!Aovf=-OR;Yc;Us&tht&?mlrd`>^Ipp?X2I;`>bc_TKWL1JMXj8 z9QMa{oAq65CzEZdJIg$V_s)`dN9W4URBT!@91ev-g@)1Iky=tw90-;5)>W=gCtK70 zMXNenO~apBlZe}QoIlQ>Wr;Ibn@A=D<(@!Ek!j@r`kiSw5F1q%s4B9`OY9%Vc@4|V z{xc?7#w0Z^8$O<3857ia(MWsePo7`yJzAHbjwTxOdo@Cl>8}j2C%cxP~jm7qs=KOfHWsFwii+(#( zlOI=EMwJ>j`R(rF{J7FGD%E($2)pv1#xHND!ZIq*s=Dy9+}3-ClFDwZY?$wSxy5d=zI3 z9?0W2j7nebKF;pk0|i5|WGZcBf_+O@btVs}bCqRyjREyS2h@}JQ^{mYAm9m<7Mfe_ zYsU=tl%?j*>8iB!|97bM20L*ud&hdyQ0vw9&wH}#vAOkf`^t{&x-Pd~Y%koJU60AF z>nm)*Oj?-wSBZ9yAI~o750?s?7AYi9%=u%EV~Y<^Lh4k@yC4Q&adk~<{Ni@UHFqN8v6e)Ovo)5-S0!GZkN& z@F!EraQO%```c!>TBzyf&SWfIUSXD1UEMq1o_u@ZV^+Tc5LyI9tE7jXGP~**5xDI6Ki(^{O4F5m(=v zz3FpqMshd(&dq4@kZ@s+VUP#z1$b z;(Y%$)6-*`LuR86WcPcF1I}9tTX!tA8R+gY4fQD@Q`*01RlLLW_Lv^E9(pHr48rOd z40M;Z)J{*v7KdYraMzO0lUyF z%zn`Lx9L&Cwqe8n<$XX!U_+ zz}Xki)C}2YhH|^SYFC^35)0Nl50Nx76^UfLBQw(3uRa_(yOQAn^?}HrPQ+4ysouep z;;?fW9QvIzS0pgrYkG#9EQfuYdoB%Dr=7bR&XcypoP+F~+?-RM`Vw*8V#! zB#0Fuu_7c^Bx3Ahvj}1%kk|+$HbTVM#by)4{7B4?#QY-0F4jyCD@J0)NUT`I*u`21 zVkQzZk(eoB>|(71F$;-VNX!y3cCi>i%tm5160=2&U962DHWG=AL}DXFj9n~F5Gz4q zB}lA9#Ms3a5X4H6SSb=K6)|qH2&IpeA+a(fRwiQXVw65sj>O85ShV zSU|+s#VCEO0*O^1u?i7m7o+sCAQB5Av7m^ti&6SmB@(MdVwEDsE=K8NRY0`A>tQLvYiWs{XrH_q4Vq=il7!hL^qx7*lBvyyS>O_oPjMB%(BC)YZY^;c}i&6Sm zJrb)&V)Y`%Ef%Hpu@DjqA+eB%v5QgqSOXGkKw=Fd#x6$bW8;w6I3zYs#Ms3seQZ1u z8;``six|5YrH@TOViS@E>w7o+sCiAZcB5}PPu>|&HYb~h5c z8;RX5V(em+J~j!7O+sRmM2uaG(#IwvvB^kmvWT&ZQTo_DNbDXYc8`d$i&6U66eKnU ziA@nPb}>pHn~KDyBC)9=#x6$bW7Ck>G$b}n#Ms3seQY`sn~ub$ix|5YrH|c<#O_66 z_lg*+SR{XaMUT$)6~jm@jKspfrdZ_ndws=-dwoSE=Jqiyu?P~2AhC#uvHXk;6?6NT zmRJ;tMUhxk#Ms5$KBgtsh{PI^Sfhxsi@AMFORNcrH6gJk5n~r~`|$;o(-ON6iQR|9?h`R~F}IItiQSLH?nh$xix|6@ z+sCxT9zbFbAh8ETj9tv_V_IT!k=R@$Hdn;h#oRuoB{mO<%|l}IM2uT(@cN2cV)K#M zd?Yqs#Ms3seXIqEwIHz;5n~sl^s!bX){4YhMT}jH(#K**EQZ8lBE~L8>0@n3tPP2^ zi5R;WrH{ptSR9GPMT}jH(#IAcu?0wMfrzn-QTo_IB(@NVEfg_!F-jj>gv1shu|*=r zE=K8N?MSR0iM5LuyBMX9J&42}L}Cw$7`qsyk1a-Gi;>u35n~sl^syyKYzY!uB4X@f zls>i;i7iE9OGS)bjMB$CkXQ#2>ku(^F-jlnL}HyttW(6e#RjjhsMW_3NGyTG5+cSf zM(JbAkk~RLwoJs>#VCDjITBlr#FmQ~yBMX9C6QPXi6uphU5wJlQb;U?#8M*0E=K8N zE0EXiw ziLF6mYebA)jMB%}BC)kdY^{i~i&6U6IwZCZiLDbcb}>pHTaU!nBeC@$bV-F#* zhmhDqBE~L8>0=v^*ajrFLB!a_D19uA#L`GCEn=)<(fsuly*k%d+=#?BBC(CXrdag% zdws>IdwoSE=Jqiyu}w&96B64bVk|#nL&e-arX{u+iETz=n?;OW%qcVTBE~M}_AxE79Y|~k65AnS>|$;o(-M0Oi9LqI9uqNkF}IItiS0yU zJCWE<5n~r~`|&HY z_5>1p0*O5#V(em+KDHZ)?M7m|MT}jH(#Q57u{}s^kBG60QTo`ENbE@@_N0ihi&6U6 zQ%LM7B=(euv5Qgq*j^;I7m4i^F?KOZAKQn-_93x-BE~L8>0|qm*nT9oU&PqOD1Gc{ zB=$5Cds@WU#VCF301`WZ#14oUyBMX9J%hxaL1NE{7`qsyj~zr}2a(u85n~sl^s#4= z*t1CNSrKCwqx7*uNbC?2J0xP*u^M) z>s&Vn>nKQ4wPoqx7+3NbDFAJ0@c6Vw661 z9ElxAV#h^{U5wJlP9U)pNbH1&v5Qgq*hwUI5{aD@F?KOZAA13by@14C5HWT!N+0V* zV!cSLSH#%GD1GcjB=#Z_dr`#L#VCF36cRgy#7>DAyBMX9okn7(k=SVwV;7_Ju`@{Q z3=%sdV(em+K6Vy~oke12MT}LfF@Jr<0-ftC_93x8B-Zz9iZ%XzudmqXUSCm(xqVDa z>>Lt1hs4f_7|YMtP%*cUX^EXjV&{?Ac@bk5bNiT?ILn7jyfVme|Wk>}4eOvWT&ZxqVDa>;e+IfW$6{7`vF;$F#&=L1M2Uu~$TlUCixc zT4EQG*hM6EQN-BA+&-oy_9_y46^XqnV(emWAJY=Mgv2f(u}dPxF6Qh_Q>geN0R24J7sk5_?0$*u~sFrX_Y6iCsowmqmjmO)|}B$g2|b}>pHdlQMhiNxL%F?KOZAA1Xly@kZy5;1l$ zN*{Y0iM@@)-WD--F-jjBKw<+(Y(T`=#VCF39VGS+5_?C)*u^M)>?#twio~vp7`qsy zkG+e;-bG^XiWs{XrH@@hV%Lz^H4$SMqx7-&kl1@j>^%`<7o+sC_mSB9NbG$PV;7_J zu@8{g2T1G#5n~sl^sx_-*oR2$LlI*aqx7-sNbEWiyDnnvVw67i5fb|diG3tu>|&HY z_AwIs7>Ru>V%%bb*H_f)V>gi44J39$#Ms3see4q?_6ZXEM8w#|D1GcxB=#v1`&7i( z#VCF3GbHvI68lWV*u^M)>~kdcITHI^#Ms3see4S)_5~9ALd4j`D1GcpB=#i|`%=W% z#VCF3D}w?UH4^(;#Ms3see4?~_6-vIM#R{~D1Gc(B=#*5`&Pu* z#VCF3CK9`e#BPchyBMX9eTT%pLt@{F7`qsykKICIw~*K^5n~sl^s(DW>^2g+En@6q Sls@)768j#BeJ^4>V*dkD2bA9c literal 0 HcmV?d00001