From 03a742b6849942535bf0606841bd504c5cb7a305 Mon Sep 17 00:00:00 2001 From: kirainmoe Date: Sun, 7 Jul 2019 14:57:27 +0800 Subject: [PATCH] update virtualsmc kext --- README.md | 6 +- .../Contents/Info.plist | 128 ------ .../Contents/MacOS/ACPIBatteryManager | Bin 78824 -> 0 bytes .../Other/NoTouchID.kext/Contents/Info.plist | 158 +++---- .../NoTouchID.kext/Contents/MacOS/NoTouchID | Bin 29040 -> 29088 bytes .../Contents/Info.plist | 100 +++++ .../Contents/MacOS/SMCBatteryManager | Bin 0 -> 70632 bytes .../SMCLightSensor.kext/Contents/Info.plist | 12 +- .../Contents/MacOS/SMCLightSensor | Bin 41232 -> 34424 bytes .../SMCProcessor.kext/Contents/Info.plist | 16 +- .../Contents/MacOS/SMCProcessor | Bin 57512 -> 40232 bytes .../Other/SMCSuperIO.kext/Contents/Info.plist | 16 +- .../SMCSuperIO.kext/Contents/MacOS/SMCSuperIO | Bin 79688 -> 47464 bytes .../Other/VirtualSMC.kext/Contents/Info.plist | 16 +- .../VirtualSMC.kext/Contents/MacOS/VirtualSMC | Bin 161864 -> 100696 bytes .../Resources/VirtualSMCSDK/AppleSmc.h | 421 ------------------ .../VirtualSMCSDK/AppleSmcBridge.hpp | 31 -- .../Resources/VirtualSMCSDK/kern_keyvalue.hpp | 125 ------ .../Resources/VirtualSMCSDK/kern_smcinfo.hpp | 256 ----------- .../Resources/VirtualSMCSDK/kern_value.hpp | 149 ------- .../Resources/VirtualSMCSDK/kern_vsmcapi.hpp | 278 ------------ 21 files changed, 213 insertions(+), 1499 deletions(-) delete mode 100755 kexts/Other/ACPIBatteryManager.kext/Contents/Info.plist delete mode 100755 kexts/Other/ACPIBatteryManager.kext/Contents/MacOS/ACPIBatteryManager mode change 100755 => 100644 kexts/Other/NoTouchID.kext/Contents/Info.plist create mode 100644 kexts/Other/SMCBatteryManager.kext/Contents/Info.plist create mode 100755 kexts/Other/SMCBatteryManager.kext/Contents/MacOS/SMCBatteryManager mode change 100755 => 100644 kexts/Other/SMCLightSensor.kext/Contents/Info.plist mode change 100755 => 100644 kexts/Other/SMCProcessor.kext/Contents/Info.plist mode change 100755 => 100644 kexts/Other/SMCSuperIO.kext/Contents/Info.plist mode change 100755 => 100644 kexts/Other/VirtualSMC.kext/Contents/Info.plist delete mode 100755 kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/AppleSmc.h delete mode 100755 kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/AppleSmcBridge.hpp delete mode 100755 kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_keyvalue.hpp delete mode 100755 kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_smcinfo.hpp delete mode 100755 kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_value.hpp delete mode 100755 kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_vsmcapi.hpp diff --git a/README.md b/README.md index fe39f45..a7b2577 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ - [提问相关事项](#question) - [更新日志](#update-log) - [详细截图](#detail-screenshot) -- [贡献](#contribute) +- [许可和贡献](#license-and-contribute) # Tutorial @@ -252,6 +252,8 @@ sudo kextcache -i / 19-6-27 重新使用 VirtualSMC 代换 FakeSMC 以便在 Catalina 下获得更好的支持。如果新版在 10.14 上出现问题,请尝试在 Release 中找到 20190627 的版本替换;更新项目许可协议。 +19-7-7 更新 VirtualSMC 的 1.0.6 版本以支持 Catalina,更新部分其他驱动。 + # Detail screenshot USB @@ -290,7 +292,7 @@ Wi-Fi (需要更换硬件) # License and Contribute -### License +### 许可协议 该项目在 [Maruyama License](LICENSE) 许可下开源。 diff --git a/kexts/Other/ACPIBatteryManager.kext/Contents/Info.plist b/kexts/Other/ACPIBatteryManager.kext/Contents/Info.plist deleted file mode 100755 index cb604f4..0000000 --- a/kexts/Other/ACPIBatteryManager.kext/Contents/Info.plist +++ /dev/null @@ -1,128 +0,0 @@ - - - - - BuildMachineOSBuild - 17A365 - CFBundleDevelopmentRegion - English - CFBundleExecutable - ACPIBatteryManager - CFBundleGetInfoString - 1.81.4, Copyright 2011 Apple Inc., RehabMan 2012 - CFBundleIdentifier - org.rehabman.driver.AppleSmartBatteryManager - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ACPIBatteryManager - CFBundlePackageType - KEXT - CFBundleShortVersionString - 1.81.4 - CFBundleSignature - ???? - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 1.81.4 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 9A235 - DTPlatformVersion - GM - DTSDKBuild - 12D75 - DTSDKName - macosx10.8 - DTXcode - 0900 - DTXcodeBuild - 9A235 - IOKitPersonalities - - ACPI AC Adapter - - CFBundleIdentifier - org.rehabman.driver.AppleSmartBatteryManager - IOClass - rehab_ACPIACAdapter - IONameMatch - ACPI0003 - IOProbeScore - 1000 - IOProviderClass - IOACPIPlatformDevice - - ACPI Battery Manager - - CFBundleIdentifier - org.rehabman.driver.AppleSmartBatteryManager - Configuration - - Correct16bitSignedCurrentRate - - CorrectCorruptCapacities - - CurrentDischargeRateMax - 20000 - EstimateCycleCountDivisor - 6 - FirstPollDelay - 4000 - StartupDelay - 0 - UseDesignVoltageForCurrentCapacity - - UseDesignVoltageForDesignCapacity - - UseDesignVoltageForMaxCapacity - - UseExtendedBatteryInformationMethod - - UseExtraBatteryInformationMethod - - - IOClass - AppleSmartBatteryManager - IONameMatch - PNP0C0A - IOProbeScore - 1000 - IOProviderClass - IOACPIPlatformDevice - - ACPI Battery Tracker - - CFBundleIdentifier - org.rehabman.driver.AppleSmartBatteryManager - IOClass - rehab_BatteryTracker - IOMatchCategory - rehab_BatteryTracker - IOProviderClass - IOResources - IOResourceMatch - IOKit - - - NSHumanReadableCopyright - Copyright © 2011 Apple Inc. All rights reserved, RehabMan 2012 - OSBundleLibraries - - com.apple.iokit.IOACPIFamily - 1.0d1 - com.apple.kpi.iokit - 9.0 - com.apple.kpi.libkern - 9.0 - - OSBundleRequired - Root - Source Code - https://github.com/RehabMan/OS-X-ACPI-Battery-Driver - - diff --git a/kexts/Other/ACPIBatteryManager.kext/Contents/MacOS/ACPIBatteryManager b/kexts/Other/ACPIBatteryManager.kext/Contents/MacOS/ACPIBatteryManager deleted file mode 100755 index 14f292072cc96964ad3324be39cb2fbf2a312d43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78824 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 diff --git a/kexts/Other/NoTouchID.kext/Contents/Info.plist b/kexts/Other/NoTouchID.kext/Contents/Info.plist old mode 100755 new mode 100644 index dd138c2..7ae38e6 --- a/kexts/Other/NoTouchID.kext/Contents/Info.plist +++ b/kexts/Other/NoTouchID.kext/Contents/Info.plist @@ -1,79 +1,79 @@ - - - - - BuildMachineOSBuild - 17E199 - CFBundleDevelopmentRegion - English - CFBundleExecutable - NoTouchID - CFBundleIdentifier - xyz.racermaster.NoTouchID - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - NoTouchID - CFBundlePackageType - KEXT - CFBundleShortVersionString - 1.0.0 - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 1.0.0 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 9E145 - DTPlatformVersion - GM - DTSDKBuild - 17E189 - DTSDKName - macosx10.13 - DTXcode - 0930 - DTXcodeBuild - 9E145 - IOKitPersonalities - - NoTouchID - - CFBundleIdentifier - xyz.racermaster.NoTouchID - IOClass - NoTouchID - IOMatchCategory - NoTouchID - IOProviderClass - IOResources - IOResourceMatch - IOKit - - - OSBundleCompatibleVersion - 1.0 - OSBundleLibraries - - as.vit9696.Lilu - 1.2.0 - com.apple.kpi.bsd - 12.0.0 - com.apple.kpi.dsep - 12.0.0 - com.apple.kpi.iokit - 12.0.0 - com.apple.kpi.libkern - 12.0.0 - com.apple.kpi.mach - 12.0.0 - com.apple.kpi.unsupported - 12.0.0 - - OSBundleRequired - Root - - + + + + + BuildMachineOSBuild + 17G7024 + CFBundleDevelopmentRegion + en + CFBundleExecutable + NoTouchID + CFBundleIdentifier + xyz.racermaster.NoTouchID + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + NoTouchID + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0.2 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.0.2 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 10B61 + DTPlatformVersion + GM + DTSDKBuild + 18B71 + DTSDKName + macosx10.14 + DTXcode + 1010 + DTXcodeBuild + 10B61 + IOKitPersonalities + + NoTouchID + + CFBundleIdentifier + xyz.racermaster.NoTouchID + IOClass + NoTouchID + IOMatchCategory + NoTouchID + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + OSBundleCompatibleVersion + 1.0 + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.kpi.bsd + 12.0.0 + com.apple.kpi.dsep + 12.0.0 + com.apple.kpi.iokit + 12.0.0 + com.apple.kpi.libkern + 12.0.0 + com.apple.kpi.mach + 12.0.0 + com.apple.kpi.unsupported + 12.0.0 + + OSBundleRequired + Root + + diff --git a/kexts/Other/NoTouchID.kext/Contents/MacOS/NoTouchID b/kexts/Other/NoTouchID.kext/Contents/MacOS/NoTouchID index 4b4aa1237bf89b77bd5ae82b7d6bf4391e7beed6..0624981fa582d155e4d4b4588fbc2574bca68823 100755 GIT binary patch delta 6691 zcmZYD3s6+&6$kL|!d@fb@=&k}@(@umxRxcrsCChe4_0SWNmTH?V0=VnBr0kkjMpeS zEbF$=n@nPAQY0pm)Y!>L8ml(xMjZofO@&$~mKl>#nrJjlG)8eur02W$Te;uAI|GN` zx#ynq-3NCUzPqfnTv3`D5{5=G<27A1JsJ|0goY3;5sK_v5i>}y4MNOt&!-^Pd&>gn)h%t(Oz?SKln9tZ0 zK7>k#P)MP#Vf2+e{>$2@R}{7X_N7*(Y{ABwM=2NI)*N4B%U|H}|Hl(lixU|01ej-c zs5)|4-xto%vQuJ9!T)d3r$s%c-Hm5#*{LR8*W7o{ivBR4>8f|J>_;;Pv0?Yig%+)oA|*^>cRBcX;Avob>EEJ#dM8 zx!Y&1VqS^I?>b7`Y2SFG(K&S*WA&lxfsLuJQ2u(FC+PARlM0?T2R=i=+3gHnr9)*q zt|MGv#XGxW?!4lfoB$pE{i4>j@;qV22}mPE4ATqtA&+kBCwA^)aKS7n`NO zrXUR~G=@c54uH-#b@v7fy6M)ktp1?h8IuuzNKRJk%AjN|=xXI>KUi>(wjQSu;#dN% zzDUMqI`4e+9Oax{#u55I-rZ3>l1}QI=03$nNb*t;r}P@H^8^aMrf!Yu4fL#*N6T@cL{UH%{bGT+QSpwC-_ZEiA$bc zHwJoxsdxE-2V6c{pnKlD68BSm1#eKHyVPB3UWi?%rx{D-*Z)(x@#*khGeS};1+moY z1!vSl8nse*Tk022{it#{wekk-t+eGhRWoPDOlN4F67C#Nm0!{U8+L~1el)Li+y|cn5Jv-iP}t=NBD%GYd1evepi4pbb;z9&}~(t8Ci8Z(H!7cYw2fai0+~q`r!m$ z0sZD|;q}L8fy_+UD|sSlpGx%j?RN(8>s@e{0u}cfK~3N#el@}j-4X?RQ2gF~6Z5xy44shp-c1tN0N9QIy zSrZPgphftSsQ*xSv963v*K$SEB=n)yju)OS{Ab~%!t=!ftAxX+Wv6h7sDDX# ztEm5@=?J!1KQOXb%cQ%GG7o5N#_I|2bKp0?pMvj!v*<>(_MaxCfj???=}D^R4FhOtUpXJ_Y^(oX#I3mP@t_ zydQiXJZ513{(L@LWJz%E1^)$n3p|=`E$f07f&<`>`fbc-H~SNOKFgxt7^xw6FE|9g z4bGh4{gq8O%D^se0Cb#3m#98PHV$*@QdJf@Q-1O`7D~N z0p0;V2yQp5^*{M;KtcRqd0;+xA-E3Q0zM7C%1!70;Tf>gXB+Dg=7Gz=b>IWwGvIFU zw`9#aP)U>*kOrO%UJ8C5ydN9_f1b!R>4+adL28n`pef+x;O*cR@L6!;P&)tCGvFO6 zy9)dp@cZB|z{=0$ext#&G)TMvejj`R+zU>oKjy3lR0J*uYdazFF1QnX8=N^@9yk-c z4*Un%8tai0EIL_k=m3|1w}Ov?yTK#qPu~7BMA!duDM5bHEk60je9f}76&198b&CluTO4;U*COam8!OTg>E4P@#4 zzZD8T1YZK*1Se+83!DV@f%jy?`~M**_!sylICh*oFb7-)ZUmnkN9SL$T!LFrQ2404 zeKq*^;4W}%j=cYD@Je#){+w+X#Le+zlR_D>Y=Zz_s8blIi+?CM6iV2TpOy1B$>t@HTK0_#LbH^S9HQ zAb$sr%aa$72QC9|2Oj}C0Z!Byb8w&D4YL}>#CF-9No9mk>> zqfZ!)`yy_OG3_POCj&>Ri2oKb#m?Ar%AchDeH8hBC(9|0AXiY_7{%CTifgF8nqnQr zA1EeMUmho$akb-sNOX!=LOb4}g5@HXQl9%))Zj;oN69>XB_jW~#6*QTifAy8S4DiD z7Bq?cJ&$caxdulJE}7|jwqn!fRlXHfRn@+VO=~vjZg+Oulxbs~!}vcyeN~%%l~rq) PZ*%pg%2gZqRbc-EdaI_W delta 6611 zcmZYC4^R}>9S88Y$1QlkabP@!0|W!eA9L|exkg8c;NKH(f`Ccd;ZK8OYnzHFVkf57 ztpXDkawB$Q8=JIhQ=3UTO>D36ACu;6P-1JDq)ubgG(#g;JO5~7n-`+K{4uIElb;*VxUw- z%GeSYf-VgCdF`fW;93FT5FN9`^4(uafU)nHhzPGcjthnZ8FakCusewocYC+lcs==% zcna!JNWBwMZ{F>Fi>7ot-_r&iIrGn^>N7kv<8JTUG|&-ko7SEEOG=N<4u;E~wDWR- zgL-iPOv_5lkuGUV69bBqujEB1KBD8GN%AG$T8#^-UlceWg5Mqr|rdWQoE8-+B2fenF`BZzxjlFM01CcL7yD-9;ltaV0EY zbkcw-chWSoOStR_j_Z6wylw6Jp!y}1IBk>|reG-%mb>)|al!WfX>~>keMRhm;*0|_ zhkGY0^6_|n#KU%NMN(cynNfZ-mQT@?Bu{FD-gK6;v|D>ADc9dFCPTb}e(Lxso7{iJ zBelWyvGQO~*{GJ1oT96}k)X{V)`R<3 z6wJ+!E<7)HQdKE9V9%#C9Z1=Kj3aeX`%u{VERCL#m_kb~tTI>8q(9Ll{qX%!x<=)b z?>5&7`2kuHw*SbusB{_!WR)@r)Fc!R?4y^op(fr#E!(Y2uGb}hpJZHrRc@u%R9cm{ z(~CZdE#dRCoB90Hba+hPtLogu6Jck7ADHSKPv)09@G%9Nd_xcNC&}7hou0=Z(x;To zr3HEqRnFsU)$Clog#5fdF3%<%m%8-WB^zVTiX^?fhsL_(EPcK+VB}`%xpe)nIj&Ww zR7Q@a%#*ZXS4moLBENu)ZKWyv@wrx)9ixJ!z)@X~q)m zY`PLTZqKzjmYQ`|^OP1%U+);^d8Md+Y+R-^{6gRzlD04^OA^j-_e-Hc<@LBK} zcox0ito4_RR#>x`VBO#&;LG3)x&v7o)PkP|pA$^iY(hvdmPN%zbXXJQ6X1`))A`-Na>>?%_k#z(8PlfL^ZqPkNpLIR--EA$)9I~c-OxJl z9`Ns`toLUlQwiRm&7x13P!OzuBj9V`O!_QX>s3wK=+D|G6MBDk53(S~*a-eH_#F5a zcpm*`qI$~Yji=E_O!@$L0{k`lzPD~@19%7cr{F%_%G8~22qwhQ?`msn~Oy(FT4Id;vTP zcGCZA)&uf`Yr)D+NE`3h;NqFM|icF8Z%_ z>I~8K4+sgyc7UG+zYe|uF37SrV5}0{Vl}`29<(ONec%tl3E5%;FSr)G3w+pO-k+Vb zB)CVx1+&G5>%gtxL*OX*+LZPFEG0*55CGSM+rck`-vQqO=j6uvDg1aDTb&zA=w!{{ zXTW{nD`3YQv7Qh7Xv}7RwkMWg#^V_HBKT9V=U%a41^7GQ{ib96*$J5N0oa}=Hkb#l z0q+7I0S_3S`u-n>3GRHcVGZ~x@GIcIgQWtoUa4-&_kR;i2!k(zzX0dW6&pMR-VJ_* zo6i3o^OCcEm@ovs4NfZ*8y16CfE&O+APe9B2Vuf-@H^lUa6*x|q5Hr!;9W)V{r?M? z@D_LkEES6lXM-!jKLo#4Oy^&+T!O1Gp}0gG{|5Ny;B#PUp16J~c&7r1UxP=%S@($r zo50=R0kGs1*DFCtw1fW$j=x_lupF#_qu@KD73QBW7Tg4W4m=2!ed7AX;AZeK!F2uq zA|x0a1E=`K27Yi2_;GMM_<5`O{kPwmAP<9W3&af+fGfe + + + + BuildMachineOSBuild + 17D102 + CFBundleDevelopmentRegion + en + CFBundleExecutable + SMCBatteryManager + CFBundleIdentifier + ru.usrsse2.SMCBatteryManager + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + SMCBatteryManager + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 9F2000 + DTPlatformVersion + GM + DTSDKBuild + 17E189 + DTSDKName + macosx10.13 + DTXcode + 0941 + DTXcodeBuild + 9F2000 + IOKitPersonalities + + IOSMBusController + + CFBundleIdentifier + ru.usrsse2.SMCBatteryManager + IOClass + SMCSMBusController + IOMatchCategory + SMCSMBusController + IOProviderClass + IOResources + IOResourceMatch + IOKit + + SMCBatteryManager + + CFBundleIdentifier + ru.usrsse2.SMCBatteryManager + IOClass + SMCBatteryManager + IOMatchCategory + SMCBatteryManager + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + NSHumanReadableCopyright + Copyright © 2018 usrsse2. All rights reserved. + OSBundleCompatibleVersion + 1.0.0 + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + as.vit9696.VirtualSMC + 1.0.0 + com.apple.iokit.IOACPIFamily + 1.0.0d1 + com.apple.iokit.IOSMBusFamily + 1.0.0 + com.apple.kpi.bsd + 12.0.0 + com.apple.kpi.dsep + 12.0.0 + com.apple.kpi.iokit + 12.0.0 + com.apple.kpi.libkern + 12.0.0 + com.apple.kpi.mach + 12.0.0 + com.apple.kpi.unsupported + 12.0.0 + + OSBundleRequired + Root + + diff --git a/kexts/Other/SMCBatteryManager.kext/Contents/MacOS/SMCBatteryManager b/kexts/Other/SMCBatteryManager.kext/Contents/MacOS/SMCBatteryManager new file mode 100755 index 0000000000000000000000000000000000000000..dc6b1ccde9247cd6aea35786ee74fcc701ed02c3 GIT binary patch literal 70632 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 BuildMachineOSBuild - 18F132 + 17D102 CFBundleDevelopmentRegion en CFBundleExecutable @@ -27,17 +27,17 @@ DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 9F2000 DTPlatformVersion GM DTSDKBuild - 18E219 + 17E189 DTSDKName - macosx10.14 + macosx10.13 DTXcode - 1020 + 0941 DTXcodeBuild - 10E1001 + 9F2000 IOKitPersonalities SMCLightSensor diff --git a/kexts/Other/SMCLightSensor.kext/Contents/MacOS/SMCLightSensor b/kexts/Other/SMCLightSensor.kext/Contents/MacOS/SMCLightSensor index 6658b34b124e6c1a44ea6782759473d9115444e9..9b44993f91920656ff11a68b705c19da29a606ae 100755 GIT binary patch literal 34424 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 TKN|0l@Q6$-5~SzI=<|O77>Ait literal 41232 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 Lb9p@Uto8o|sVznU diff --git a/kexts/Other/SMCProcessor.kext/Contents/Info.plist b/kexts/Other/SMCProcessor.kext/Contents/Info.plist old mode 100755 new mode 100644 index 08e9276..24ce69b --- a/kexts/Other/SMCProcessor.kext/Contents/Info.plist +++ b/kexts/Other/SMCProcessor.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18F132 + 17D102 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.0.5 + 1.0.6 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,21 @@ MacOSX CFBundleVersion - 1.0.5 + 1.0.6 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 9F2000 DTPlatformVersion GM DTSDKBuild - 18E219 + 17E189 DTSDKName - macosx10.14 + macosx10.13 DTXcode - 1020 + 0941 DTXcodeBuild - 10E1001 + 9F2000 IOKitPersonalities as.vit9696.SMCProcessor diff --git a/kexts/Other/SMCProcessor.kext/Contents/MacOS/SMCProcessor b/kexts/Other/SMCProcessor.kext/Contents/MacOS/SMCProcessor index 7c1d708cac011e2255fed17c46cb73795f23ac3f..12d7361c7fd5201ff262bdb2ba76b23c15b1c6f7 100755 GIT binary patch literal 40232 zcmeHw4SZA8-G2&23P^9AqGfIp6|^X5lfJ8HLmRx20+AM|P7EPUX`oGFUJ5wbiY?L* zqTST3&oiBMb6b7pw)*I>ih~p#Epuvpd9?U4>oy%c=*GZ7=L`LRfA^l7+?*tB+U>vR zc|ITVfqw7zoZtDK-}#-_d(OSd%b$LHYO+R?Hc_L|Ov8U%Yg*Ganr%S(%*6lVG>yh$ zsWMhqNkOrHa$~86andsh|4A=>EEb=AlTW^ud91!%N`TJ|m&iyQW<)>fnx-freKwcV z8&$~L*EC<2E@g>`$LLcl!!`7IeIAE%9Si66g_*u+)!nR z1Zx!kXtG$C;y=d84dgTC4y0e_ik33DJ}py6`W2rmL29&E8eBCNhtuJ+)cT#aIQz8B zo(z_VxLV&7wK81G`h0dzLt=e7oIc`eeN*G~@%0+(zg(uTgC!(Ba=q4Aeb#6ue0}s^ zCC3dg5#nn5qABGoYIh9{E~gUC>+8H)j>%C3fNFi{N--acWv$n%3gPwjGkxkZs@oc` zkNT^K{}xMyY3X8Pxk>4>rE(@Yt7X)1oZ6dO7v+(S|HTH4<|ah6*)^K>B6*B3BV7GC zAB6s2t5%>EP+j+})MyTpT&YHLDS*;ZJ{>EZ^KbZd{>S$%fA7l9Ei>=F3}IRLfBJLU z1OJ;mutE%cAciKb&PO*3YQ$|}-^A6!gSznQ=UB|*_?R};hon{?rV`Z(v&uCZ;+1AG z@Yx{>+mnO-D+b;Zo1f448WXFf&lSR~77~!;k^jee8qMnGgjq5VPBLP=Sv}m*hbcE+ z-muEB(y+o%RVi-$s2w_xn;4w*Wh9{@1dRP)>0rZc{Yc*u7FzBmsnG7vC3u1c1~GJR zIzX~A&^&~QZDHZ=4}emT7--hQbme+LN?33mMlF;^2_2+RcNmo!S6g?UO|n-tlTDuY#n6_fJv6lIUez6t zY-tJm3M)bj-bTh1fnh1g6xdI46@gO~fn!n#>hm_EZurRMF!&}&9$tHDco^5+lGO#C zi>Zh+ZU;b0@mJtIXgJh`Nk;K}aPpo*a08kkOhWSVFGYQV#?=bD&~$|RpF4aH^e+wF zQP5Nonj=c4{YfzmR#pT)R9SXCWO8C)_-R;KDK>wUC9*-Z zdFZ;0CPQHV!lq~Q4raqR|JA+5kARw9qhyX4@_!_TRvg;<1DGy_Kxukc&5?;ajDKDz z?An=k6Oy&IOr!3Bp*ZVnhFe!Z7agyo<7x9pq8RYEi-9eDy~Z$Q0lne9XW&A2LU+KZ z3mc<->8umRaGGzL7&P`ZwPrze+9<-MYT*f#uDP2!e!8&pOJrGS!5#q+T-~RP9>;~O z=GPG=tU4fE(IedTETnsluj4P^c>EUSk(VF3mL;3)_DJG&BuO5bpdgt`gckP3nfQ`sO2zrr|!*+iM0`ci-nS(5SMqNEIdqo}(p0%XA2Y7A%+x2wYte_+c9aFk`m^=(E@BE-4gNg{3sL0V5jqme=>t zUCT2RW9V+eB|4uNI4FtiHJ6!}qfsd1R$PW>Q-=SnoT^63>CrR)c{x?7%S65xLrvsQ ztm?X(w{&TQmiysp!;@(=7@fd+kz`It)syBw8@=MshbtfuU0;?522b?~yZXhzicZM3 zi=p%hn70R6dngT|u&Z1&?Nd`&rtRY>^tiU3Itf&Y!z__0(mLQZ_QVC1Mz{J!H*#bl4 zc2yq0G##}fxTND$4;6ahRXcO2p9uGcJri^X44VCL&GUv+&zBgxgzb%(8A+;@gDhj6o7fUwY?&=B?XrZH`6qBsIMNcX2Xhr_@b*~=N=pm1aafak{Yd3D zQ-*vEQcfxR^?G$_z(K0JK*V-&Pa*^*p?GDl5c`7C=B|1_A%6d&ArNkQcA~s{Va2x6lM`u6 zBFQ$!88A|sRkwxx`N1V0^&HMDh4vo^m+!bw@;{uvQ*!>ItL~d7t>~L) zLf}NRw1XqG^dMu%glXSMlA{LpWifQ)aG+UqQbuy!m{|!heJ3(q8I0lr{UCQ1=oxxo9iN z*z&5dZ6Pk?VomU6KmE9pZn`AA5R%Iy0_nbjr)dL8(2G64*9OAkl>Umq0kP-(Nn)U7 z+5p{gG(S6S0DjV7b1Ae_x)cLxvic09rv0SEsRvo=!Dwo_jHJ#&YT8~(oca(;eJGlm zE+eV6NKLyU zgQFR_mq`1QbpC?V7kQ5oJKm9_lG^6o)QoTg=%j3VjRPQTtrYSP;BNO21z?&TSb~l1 z%by^+B=Dz-%Xc58@W2l#00Ytr$x8VM!L)T)^Zwr^33vW6QeW2yEpLKAo{|Z>q%D86 zBB3RW;98U5?5!2nPPzy8%C*8RlfEnA9T+8Uon*uH(@$eXQ7gEnJEe%68I2Os`IQ*F z?}e-nX!ZBx3t8_111H6k?};VH#FKA`LfJ_%?TuPdaQ+VJ4?^`@wZa{5ivgs8EYuHR z$MTVB=YKIgd|bHskH>_Y{vfP+8-vq3$Az@ z)EC`vQu>E923Ld%&cSGhHJ+R{H0ft(Xt=k-#$PKm&cYVR%5!dK}HQsDpHDwUT}NviauT)*lnl}?ms{-^ej{)JwgyniYF zpOYcgt_cw1|6E#}!K2CizxwcZK3D7im!FsYi`KVYn58gsj=H{;{ModdMnjDsr!ex_ zKTe?a2;hcG#i{D~922=2YvO}gM#v9P450_zPb^e$2l~P@utS-|7i^cp{aw$LDuGxB z&Om~VaS_nDjp@AFIONaJg^{~?^>b45VdqcOUb?YUAwB(p`Bxf0S5}$=r%b`S+7ON{ zn8@12EOL1P5TBuvNz+AEC!*nrp z=H1f5kH!Y9P!<0nK^i8nELxl%Hw5>zz_6{uw9nx`>$pKUYf*+$F~%boU`-H~3SVmo zEXrV|QR3%}TyacVJvR6#Jz9_+0Gx%Fl1|cqRtr;Y#K2;BG2TBqB&& z7k1s3LFdTAu9gg1K+oNGOt?%wZm$iLWmE*8peiyn?U9?~C8pq>K}kt$bHu6qT_nNe zAr+}*rC5>Yi7>>+JTLSQ+P_n>Uku*c0lQF)EV^Tu+k;~C$d&WYEk^wO@lP!e^@3Jf zs7D*u|BU_eLt$_!K1Z*kzxEejGyqEII{L{i!$ZTyD5on5lh8QFJ4cu6wOQ-y?KN7j z&*i@G!V9NrDwmX*JuaKw>vegq(rUamw_jVT)yTrNRtE|DT#&bVd|F?fUF)`b>`vd* zIEh+^vqo#x;+a>s)#q4S4@pIDys*tF2BcS zpQm+spv~{Z6T{kimu*A57HbV`i%S?Ux6ba$5kw?H;So z@3CtgUTy9?Z7qDX)@s{81$TSwHFlKEUNcp*#A;jUa&6EU93BmvrYW8m=LO2jyV(n! zT0A{%ub-+}>G1gc)_VB4(!aLB;WO9!*EyUlp<5zaFU5Gh4wn;oJL<`jIn|1lc&c0L z^w-yG8@&xSt<&Xm)H-Z%vCBDCldIF`EmW7v*=&kqH5^a z&+5IR(cvp8EGfJ~eNz+_9OX)PMeY@aqsWXDO*V`aPjQiVUsY@1Tvl&gO8t$dzA3y=+2ypBiT|XJlj0Bc8=DgJCO^t7d3sI9M#b=X}Nh!+wT+ z48sh&8Fn#j!fqGkL%UvtLkO4nRgAOnLktHQma_O_hB*wi44W8kVpzv;4Z|?QZibx< zI~eY~TF$?PVLQVPhUxIL07ohNAvBE(7{80*5Bikjzkq_Qxlp2-I>t448je08{HOS% zITF=8!T8`;Wc~%?$~yc)$dbIWP8S(h*6R(7uVMOvjBDAx&0~yrTq^5-kvQyC-lspp z;*YZUsW_XY{Bozu@^cw)V)08EA7tFl_!^eq4n>}=Zyr`S@}y5Us!b1?{WM!j-P=;U3K~rj@NViA&$Sw@#7rN!`r!P{nZ@b!ttMR{1uM> zjpH-%z=~S`0*+fbzK!FLa{NV(|CQr2&W+8lgyXkzyqV*j9DkAH$2fi-J@u)YujX;Q zl;g`e?&5fm<3Hp0Z#n)k$Ir@+wI`S3%Q)`jc!=Y_;P}fN|0~BYm>HYDo#PL3Jk0Sw zaD392WA*7czMSKY9RDuIU*-6u^JDd2%5f9NH*owOjz7-v*Es$K$1lP=TB<6AiX2*+RG_%V*poE@7V?fa&w#@BTmznkN~i^<{t(CabNpkDpL0oUephpREyn{K@8bBI96!bJIhV%fSHW>F$GbTG0mskG ziPe|KaSO-4&GEe)Kf>|L=Emw@!SSsee~jaAas157V)b3b@dX@T#c>zMw{!eqj_>C9 zL5?5ic;@A?_Fc*Gg&enYd36-#L!wkz(q{#_{iR`~{9r%#Te!m*Y2Zyq@FtaJ-A- zeH?$E;s>@n(*9a{OhEPb`epKab<9IPT^6-5mc9j`wi<6^umCI9|^2YL2@(zLnzvj<=R*G+1I}wgEBqXSM?|MQ3&ZF?D8k0x_j! zb^$RJWp)EGWn_kd80s_o(EiY+GP6Mxv{MX7Fo(oxlaaLy)@`I0(EBcobL)3?tqE>;f(Xb|AbA z*aoA@f$cyeg##A>JAu~&yMQ9F8)yQCfj0pAfQy0szzX01a0ze_xD;|s~t^p?ugEs){zzO@noj^A@VL!MFxCxx_D9{beMWqtD8Fn!|1o=ji18xKk0XG4u zF>MBB0B;9o0lyB+2HpYG0=EEjfZqV-0>23?1~vgpfm?wh@J^r^*bJ-&wgA@vw*d!` z-(A2aG|B*w8uJbyokvKB@F4h6G}fKKQt%M48h*PQxC#6oU^e30hy%X`Y(k^{Hc$(^ z7gz_p57-X*`+=>H`wlP+{4TH$*bXd)+`j?M(Esni4Djy(I}!f?koxz7z&7Cbi6j0Y zU>Edu06T#X1J@w_2fzW~4}rzNM<^V6e*|ntx*r3nGyViviug{T8~jmVE8_nH*n#k$ z0_%W}0jq&O1GWQy4$OhvFMuNSb^-el{y12Q7cd+A zDWHh>ZeSMp)4(-|e+JkF+zo66J`2o6{I7s@$ZrpD6L2rE2^a>p0(*dMz|S@b{qhjfxiLvA^ZhkKk&D}0pN?kLEuZkL%^4TM}hso zA>b=O8th&LW&mFUW&vLZW&{5Vs0F?O%mKa$%moeri-8A$rNFm*=FV@@QZ-O;1>hyz-I%Sz~=zh051WyBK%T{2hRa+ z0?q|CA^b9+8~k!$F7lfPtOlPCECpTx8~|Pk%t3rEupL|nYz69pgTOps2QVMl1}q>% z{S*R=;TOVo@FHLbuo&10ECJR5uL8P(R|D4ouK{iXE&w(GuLbs_o~{E9084=)&;T3) zE(8t&%P1WAmjgAZXCv?s!WRK^f!70v&|XF0QE(G51Nv_OW&sxivw>z{S%&mo+wIAJ#G4RVJrlW{NPh~I^H!bS6Cycv3Cfx8&CGIV64 zo)Nwb`6A2t@6ACy0T)~%zAA7_NYG zNzX4Cc1#7qzfVw(D}cAce!@P6zeYKTFGe{Cm&1O-w;0yJe&UZYyc%{BZ(^7M`-!(P z)Wd$_e`9EY{lxb&oD2JjKgIAo*iC#R!}l55VLyfcnqd#@zY_d%*iCpp!#3DYd?xHC zJQsEoKFV-D>?ZyVh7(~o@f#Vw#;_XpQ#gGYJmEfu^I$je6AW8mH}RjtPQo9cF%fP; zVgj-cQR#s8S%s?Abch86vO$5Cw>dVAj4-E9)Ny|*TX)-M;TrYdscz(XZYU?Kbt0p zUjaKQegVR(fp0SWoZ%G2Q}{IuG5h1U8*W~z)2km>)#a{RV)t3g>aAX{F=4#dkJsIj z$LC3J)RnPU;EaulbmaTp_^k|knf!L1H?dH`ZGMMs!*aXVR%fsA*V_|H>GSAKv!$w+ z+C;0frrz!`nj0%~E#?x_vP!$B(P6Wjb-AWxvY_3Qz^HtBrO~KLkU*vYuOzOutA)&t zL}Jq0j%u+4LdAH6v1Yl|U7xUAC6P)f(~TyePb|Jpyh4o;x{8e~WwgRup z7SlVkbfI`sU5k31Wx27^xO}CtTvfLbr;jcgsff`dNuMLg+Phb?eQ#f~e3+ zim%hm9e-EARqzy_^H5tH5Jl=fG>lp2+aHXzhq2q!FWMB29&OX&U2#asBcl zWM=cZJSJUn)FebnR#jVTDloU82^QgvU^_B4QgbvK;|q`|mtwoqhS#4f-NyAba(sbl z*>b4}p3O$5&$C<HJnYt23;1HDW|wtWyb?>#a`oC7Rn*p)46jHgqiM{bwXAURGJT zxnZrVe%u;Rt?FDx%Ny@~WBT-MW_e3L1ZIX6%hs-kH%Bm!isvH2c*1DdzW&D37yACF7iyc4I88cPzd$ETp5 zYD?603gjL~z8i<*3!|yWylT0@-)foKY5zu4Ip`%#!zHKNgm0M)P`zD0h|-p?p&1_E)j5*D@|&T4~Yg)FG1PihQvw?x-=YU#}=sbVk;7 zy5h)0t=wEG9daZYr2~#6qYS(w$tX>0BpIbGjU=Nqo{?mf)-sZe(mY0zQ3l45WR!t0 zDpL~Y=g3NEM4@<3C(sn{>I6dZzD^(%@9YFZao(24Qh6IQQkohJT8(l$kAyilvW?Q{ zhO;i$TC?8o^)2*!Hyh<`Vs#|H&908CllHKex$WpN*fTQA2B;<0yBtpQ5+C*qNkZx# zs%V|8pse2ImEz?aX_bJ!#!*v+U($9su?;WhA>Wm&WzfyY_DUbg#F;>wsMwsB#t(0T zXpj9izuims%GfcFH^67FuP=j{>+CDs@vh6mE|b}{5$6ob9X?;gJgawuoW9(((V0L) zgVkrNi|+KqJ1MULUs`BgXD_RFU?4QESKkxLwX1SQp3}Z@g_q7fBw=&D5BXzrgu4kf zgPWE`1>>wvre?HsboWdCkSn7hL7nGqbkx_!)+wKRz7;pX_>PjzRXA9|9dtunG4ri% zcl~B;tVqSg_Qs+{WMyuoTjMxwHml!jH_`Vidi-u*d=t-)aj+L2X1zw`*ZgQZNL-Hv z(icK{RC^$?xBc>xCAuY|(mi@od8b32#O|cMg%Ju>fYLf$vrMl8Tcn|vmmQqer@^81XN*;bd@61Uv^sfU!ioTx0`|B)?ScEAhDwwN1Eqm0Th%I|LOKcA$hsxj6>n1^Yd`4qjgA_-XXF-C zSmW@H;_gB?Gg2E>o85M!gKf>J4O2F^B}oiAF$-Dj_B2-JVHB;j02++=gMYjS3fWeh zYS7UYnU=|=bvd2boW%krK`LpK8@b;VdZqR`QllxPey|i9nsR+78qta{CN8z(+eB-W zVHd@WYr#dV1{7D=u|KL>)uTU0<}B*g1#yljvRR!rd;N&jTol_WrHxRoTM{jE;k#lJ z`mG4nYFM|BtA<#j0yP!6NAU8ialbYsHj5tl_V9jGmG zc?_Pl4j)^j#?6Gq(p;kKA|~H`RArt*lK6I942zXv!DGguj;kiVixtaX54#GZePx~B zS3|R3-1Hh<+eFU4mDR7x$OKZ#s%&H_Wmz_|l(H@xSxQ-$jVz_C%tn?{R>C7oDQn@8 zrIgk1$WqFBSS_WrTB!?_d(gn~Gy-N(T|UN>B~qv~jmI^{62DVP8yWNB<`;c#WWgP& z+sKMLYDPk__}Wb<7GJ#y#p3HXp;&wcClrgX;e=xGRh&>PzK#=$#aD7dvG`g}Bo^8E z8@U!Dn|-5*rB(}(Exl2+rB(}(jk{5_rB(}(?YU93rB(}(O}LS@MfTlB5lgKv% zd8ze`gu zq*|QDC5fu1)y~NJ^YDH9PS-~K+`u}!`f)&P)$pq$eV(#6LFSjc8mtbda$lWb&CgHM zdfKj3-&Rq1OwJnnrnq&OKEJ{0P9hp-RerR%aD0qeyl0B=++La0ZC&fA$KCuW(s?>M zJHP`%(Ur$2De`M+Ux}~od_1_4WIw9FmTae~(7Z%Cx!{!{TzcLzE?jdww86 zOcC2>zy<^DRdCKK#*Z&Z4@bq-PD$jZH!dp4LyFNUCGyZ#>*VCK!u16Db+73X>-IM{-SC ziF|Hjszo~1legySSxoea#AmoM!E#?xc9`X7z+(3Y$D&4BPDqCXW43^Lv-~jLSd$hg z+vAime#R(fe|!wqV`tjEd7L)Tj;Q2%6Q(aKp1&Q7_bD+w_gIEbh)rc2d(fkfW3Zey z?qtKqk-a{@Ci1u*Et*)Dr0qjxO5h*SqWsvS38^+Q*+hD_b4*1m!hsq+H#`P+7CF3; z^Qi?({um2IXWr#@xAeqns*Wgjcv%~xby18RQb{BBaSs`kIK0N&@RL(m z%F{y@@&p{&HBPpEi3%iJyNo2k)(cUQBx{z40JjQ>ghv(`yv9fbYif}cqpUolYd)Qh z8b3SPP+BY(t-NNDAX+aU%9_0Lxo*U>Dh)S?Ea^i_c|oTAesO zx4E1(UX2AmVrFsr8`jdBWArO$7MIt8UxL$E8t@!?B&mhcBFt^U+)!h`z0u|OTAVJ6 n1M>`&cxoEF9*YfAPc43q4QFszX4l(srUZ1_8r<|k9zOpMdAQHt literal 57512 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 diff --git a/kexts/Other/SMCSuperIO.kext/Contents/Info.plist b/kexts/Other/SMCSuperIO.kext/Contents/Info.plist old mode 100755 new mode 100644 index 0ab32cc..26ef062 --- a/kexts/Other/SMCSuperIO.kext/Contents/Info.plist +++ b/kexts/Other/SMCSuperIO.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18F132 + 17D102 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.0.5 + 1.0.6 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,21 @@ MacOSX CFBundleVersion - 1.0.5 + 1.0.6 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 9F2000 DTPlatformVersion GM DTSDKBuild - 18E219 + 17E189 DTSDKName - macosx10.14 + macosx10.13 DTXcode - 1020 + 0941 DTXcodeBuild - 10E1001 + 9F2000 IOKitPersonalities ru.joedm.SMCSuperIO diff --git a/kexts/Other/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO b/kexts/Other/SMCSuperIO.kext/Contents/MacOS/SMCSuperIO index 3ce3ea14c904d5a454eb3279f959070f520bd517..f8724171d1952e4d899b0c5d57874e7a9f264194 100755 GIT binary patch literal 47464 zcmeHQ4SbW;xlf@$@uLY&w0;s4u_|Daex(Z9(4?eNAkvCO#WtiV4YW;66QEwjVyTdI z)$YSxcDH#u_i?%Ide^BJP&Y}z(W0Byi&NCQ**RrJ9CqNa;zsZPdCxh?o0FuZcz3tE zYkq|P^MB5BKHhWAd*1V$bKdmj6Td$>Nux;{uhD4E#22z=OS(qW2Bgmg_?pu+nyRV_ zTV;i!iv7!76>zT)Fq!e#^t#9xpQo%0iK7_NPr9ZhN+>;-x3MXj zpj^I+o0#?cJQDG7>I5Vi=`{uXp2k&NFQ<3ILKd)t7fNuEjGQ*r+j=Ogs;rg@i?9NU z`qFWo#Hrq>&IsvKRkg|+y~^b2=@o1IhxA093zZtHsv5jCRh~vqpsF_5=!z?!o|h+s zM-c$mvz`^wjr)y06LU zQNOd}TUAw7x_F_@S}N|@YL-dea)ug-Q-4#ZMR{c5dtjwTQ-%OXD|kK|BX|=alzk{q z`sSz;;9)XsU8m8kBfDyi=61kE_)4&;EC;q43G@+;L6m#_-{bEHKdisQ;Mu>fOh* zy0goX%Q5YpeaE!3dQcRUp_AutNtA!62Q4v6gsjtbEJMlmP7EFWK)b!a=ba4g_MXZ8 z#(k~BMgHmYMoDEK?~bkKgcQ#9WM?2skC)(R%yF+hT)4v>04~C+dJ-k{W+?UXM!HH-nh@Q za|?*gxKC-?T_uZy4P~L@_RwyHD-m1Pr)#vEZbKxSam3y};jIPefvsVkJ!I>vjh5G@ z-9Ca^X+x+@``oNamY(-AEE|7OqOrJkZ9^VPg7(lJN;AvezNpV0IjdjbjTLERE?{)!p)%x5f?XBTK$eP-a?bYX~J3d2N%gz>vs8Lk)tMqYlOrSc*5|XR|F2+ofOcAu(*BlZ<)xvMrR^oCu$^JF zfRb2g`(i^&bGjyQz45JR{oC6u8TR&OU0K@4+tLCMwf1&v+K6`hTcKZ%^w(NK);skl zQTvMx*DX)?zoJU?cFUc-qt&X~lls4QhjpEP#h&Q>*uKEfu9=sb+M0KtkHl{vjd>0PYByao9-^+A#H$ps4r1GJh)AXqcOH@%*N0?+^DcXp;?g5$ zp8gdQPmnksf!a;S(Jb?(?4!8Pu(&z6{}5M$>5KNkf2O=AqT#gqnOXj@NJ+DW+Gx{BvTV7Z#6OXE z4qZsw3TAl^OLG!c*rtONJaGz%?~&L8b|I`4f>Q{rl@M#8Qc?)ZMW$a9!oLdPCSh}} z5F+WkEo>Tua8%ele*?dYIYP5Q2=@x(FAE_cf`)|V0ik(C2oH+{`-R{Y#yVkhu?RX- z5jvm#bY$fC$k@KmVu)48d7krMNP4vm$*&>&?F2T1T=$0rVR9OO3;e`iv7F;kk7wZ< znSav!#DT|J_vV9hy3_Ezg@5%2=e&C@pHxm~GG>&-cOeMW7s zC1Z{zWI3xgv|Lvfx+@C5PuW{frUmu(_9X_)rgh|Ff5AS!IZHjChR;nCVm?17fBG-& zZ>_lwH$_r^YbrwjKK!j?B{T~BP5N6U2Id4mgx-T;Pw|KB?M3kO_gS?&((TsJ-ku{E z_I7O0byQ90UW^5m*4~L&SUG_umM~c81g%-X=R(Iqv>mzjk-edhdp@K%cj~Mi3lYhR ze%rcdVrZD`hlpW0216-ZPzX;}e7ME>lRcEob#{1;%^3a?`Ee0{?SI;T>nu=axu4a4 z+nT2&b6WmeQ?3&CwEeg3EdJR1xA`p6*!;KgSR^G+b0X#lDf@3$mQxD;o0U~!3jW(+ zlTwfr{I{R5G*j^3s#!Tx@ZXj*%M|>#4a_o`|8^_8jAZ`XJuEnx|Mn6KPUgQI$WiJj zng8~*k%BQ*xnC(Gga#p03ZYmCbA)h#5I#^+N30ixuw4k>5dv!^*t9Dph42lL>8nCG zB!n*t8?O)|=}Z%v$Az&;WRWg3jlyQL5Pm9xUJ=4mBFG?wy+W8G68xosSBp->`jHSE z!uSqhvrrK}_unvRkJTsqoATc(uqJuj5*q2=Y{m19W^Q^sn?parBedm{J)|`#+K)*414a8Y(pD?llceobw0*&|=Z+6f zMgo&@KONrC^2t7ErYM^8NmJkQ$t%!IS2S0U=C+nk_CvE&(d3ZE-tx(-&|I!)ETqY2 znwu5P64K0Inrub0f;8tCkCV>}-H%bd*+WCoZ4j)+ zO6#%men7dy9{N=AuAb|I17;7st++|i)m$k)ieZDVMH5)IztTQoD&3VMU40WUFOJKP z_7lig$A-YCSouG6twuA_*$>lAVeO^?lz!J7{AUmSdhpkO#v*oGIC$r-#a#1qt|^Py z{L_`Nh0S#ln=M?E9kH2tA+tFzVskFjXgBRvuCUbsP%gQw<5^{8FVq@Y8OK_E7g=@W zWsakAz0Ez()@`K4bbg7w{aMALZ6r`!+IpiVFpn0>LwiTQTm+LgT-Kvh{*HOCW8d-c zl@Kn2fCT3$Ftr$9e9IVC5q~96E!fy_eM!) zv641jMHe)+8Nf?wZy%4k8tLpr8B5zImW4h>la6$Dfl^S%SGS-5PoqYa9!5dil%Qvo z;4+ z#&pQ!hPk{Km4@~%YC9fq+k0(FiIxBC9l=3+sF%s@D+Wuid88YcQQH1oq|&qPJJa4h zvqGtq!ae?r5hiNmBbeeg!T-3puZ3}Uhb>zk*h%%!`n-;ITg3fG_wOtA&@gq)m3Hie zuCTXXVDC+zq10VR-q%nE%Kl|pM+>zp?J9*{Mr)3IHH>K`_E10R9j6%xT=rxdBHw^I zY(@-R-a}UsOnn%@>(Kbt;Y$&IFAMjw@F0bY-pu=k1F|&5GW`iQD&Em;Ik#)CJe z;}Y7ZmSR|l8EyLDeU3IB(DOg^DV|a{Vlu9JL}g=O`TP-e>aOF||1EYMJffmUSYpP9 zNP92AYJ{r2&B~+p^C`)xhKjo`{lC}VnBQY_`G0#l&-R0q@hRfVzHo&3#J5F!*_~Wt zkJvnrg&KxWoFB0XaLtT}%{f?ZAe(a{HgrIre1=KTXiv5N8Suf>z_$S zI((`(Z@Homc0W@jlqmC5L@135K$_p@X8;l{rqS4>7M`0jywN( z3FCm)wucKJD|LCA?AE(4CDVWgQcyolobNbrT*s51UQw{=uo} zk@?!~XW?$xv6fCKhx#ICln?a$HsfSZf`IVk1GR184VP@y-nwtzNiEKIW@>N!Pn=fn z*Jjg!k+IK%4yYNB08<#vem#}e#EW`CCRr1a9j|G;_Dj0==x zPHR8%x2XBga-MW1hI_h%Cux^3)$^oJuuR9cAKApNa%}sNPqCa**pGaQT}TT1k+-9h z;*wL?kDSGdoWg!&KPzVn`;q&YWeWR|N0?=@{m9;_%4HeI#PNRhe$V`q+=xanSoeM z->_oii8P>gQ#&538&9w!_FEL0ow5HIGPVKl#&hw|w@H68U59w{H=dwZ1OlFoCupP! ztloG+IriSx%k1aF{;&^$n9T;3Z9Kuwl|RM;=TTreaz;r4){Q5W_YT@RSfGId^O5Dp znGj|}m`R!$5Y8syA_yN*&^ZuZgwQ?iFrD_yKp<^Y;_?U6Ul7}rg}V$$R++kr!_m!@}eV%;2`pa|v zUgoP$l1KHIoUa;AJzrIwhs;*IwAeS7&?gt`I_{zqa!2V!J!2TB+`1Rgn};vZn}>sC zp@!~KdT}hF;X-DJSNGtG?kt`Bv*e~_YSZwjrpwi)eWRMLP@DFXDURYX|7aDQM4Rzl znuJe;cfKg}p)~)+`*H8$QTH?gA)cFF78p+^lXJ8y&mwJ?iopn}O=zVKw zpMC%Pt?#7SJJKBpYiD8U2s>=WcJBVet-npPPo}5mS_GA7cU)YJTHBzrhTiBol+m${ zS2B(v_9@2@4^Y`pd@#4ie?{x36W8fOZ=T#ecO)6BIr%(Qvh})Z z9C+M`1P+f!-O@pG`}MZ|fIe|gp@zcSr|4Z}p-=3n54@2H`@X<5*uxvzK(%v%{2_Ef zoG4ySXIA@U=4<|D(i#5+;<~x&_FBImbJs+aLO3}NM6`k$|R&c3c;Dfm+@teh$MQ_ajW1%K)hW|_>NT9=_* zMlyfuTP!%4KXrr!C-bLS8tG>Wy(8#Fa(_fo51%7+zToZ9 zy#gKP4*cxrkA5PYsvFg3KiL~@@lI7YmLn3r;Fj36>ZGX@&d4d>3po|w3F#q5NZvHrkqb_o9B4vv-wDaFChY1C_tVn><{Et$ zLweDiIK6vLNbm0x(yQtehu(81q__16Crq4lzV?bMr%gU{#>`7I&d_9QuF_nsxlvO- z;fkg!jE1IKr>EXsqYrrXO#!Drpbyl!^**QH-55ASQ@*IUJm_=#OP5@y*EBVGy!s-& zMvhkF4!B(beN)iq^ZElwibv7A>O8(P;>=xsw=>|@uk-rX)O)?YS^9vd!R^<(*CI!K zlQ-yhxo7FUe!a^ZY{V}!>Fd3&HSwu9Yf$94h{BE)2}P-Kul2ax`YW2w&@A)#13_oK za!D&2JOM|2aFwT#7tf~bF5P6xQ7b@y*`P4dJ_H2BzpSU6)KOMFa0Dy zB0c@;NFsf9lJu7*(chIs?@ywq-)~8jFZ~)pB0c>8K_WdlXo>XdIw!eh64TJj0Q8}^ z0O-@rF)YIIT&0f=z7Ku$92wJS=m&7yyN%ANZMw@U=YL zhdGw|L%;enS~$6(qlMFN$BY(Ezm`K)aetEh>Gxko3#Xsh87-V#)zQM$*Gh8#xlA*_ zafqV^8(;J>aMWOfk3O_xN}mCajKQu-NQtov%gprY=E&Ho{~s8m{i##@+~V^Z_`C)_ zuYu2NAe9;z;^VJQ&#b#IOC{FlHveC1ApBSEAG#T==Jg!^TJ2!?3+LZuU{~hAyDREX zHRnD_ueKq%g@<=??BdwXF)YG!SWNom4*K{wG8X^8VJ_1ZaddF3=I9gQ`1LXRbXypP zIWiXgAM2+YED4VIgL77U-8Bt!q6=bCqZB0L9K)Ra6zr0jP#Kbi34Iqi9{4=Nkz^fj zr%sNf`+NG(@4KUoCT4Rqb98X5ZXE6->XC$M590mFqh>ws2g}afss}#{rH9IQDbw;~3_+lcW7k zmTwV9Ge-l*Y>s-4SsZm7&#hwd&*G@(n9Y&)2DGRc;n&h*O$*0bhwG+K5x(?ekww=M z(`cOd5*N?E2L+!)p%~}zrSN`k|0?Ic%PCZ&xfo#-F6LJ^a4zOwF3xp&#a#0M=bbYd z|32qkS2O-Rag>+Zmp%hLygQrm@#uV%-vGDI;=G@ycfH`Vn7xB@;lH~%7k>TSoOkl{ z9^zd1@AUJ*l%IGm{*pM#m&MEXJI-6sf9Nv-i#%HF*@(ZdK)-H`=qFhy_Gu)ZC-DUm zzg^-r5??RzuStBD#NU_rRCE}1`HCdIM&e(Wc#p(CkoaUgQ`G5CllU5m|A)jc!lINq z{`C^~OZ+K`ACdT#XghU!)e`@*#GjS;dlEkzZLLl(U*dj=KOymVBt8xIt~$M&CEhCW z$0bfjGSu;}J|mXX*&lWIQxgB3#4p4d8nyi*iML4nNr@kn_yssdq)x9);`d4X35g$+ z_=PybrA}|L#P65*c8R|)@k?>6Se@Qdi9aCmXC!_^;+NrUvO2wG691yapOg4eiOq@%JQ7Z;`0mpWgIP^Q97BC-HAdyhq{(C4MGe4pFDC zmw2wkOC;`+_N+f|Bb{aV7*;ko*5D^miS7EZ(kI*ET*;;%`3SmGDr_rTQo&6Rky#P65*_ay$3#E(h* zJiKG5&d)0GRTBS_#QP;a@#5I@W=VXB#QhTAD)BcY{%48ba7k=_H4=YR;=L08K;qLb zjZLpY;>{9&MB>j&{C$b*rp2b8FY!Ahe!s-GN&F>=e^|AR?Nc?Vze@Ehd68})* z=S`1If1bo^B;GFZCnWxc#5I@2rhlcx7fU=Sar!x!G}U~3kHp`X_>{|I?adOelK2A> ze_Z0PO8iraUp6B)zfy_&B>s;Qe@^1>N&KuUV$;u&_-zv3DDiC)e_7(kC4R}w*!-*# z-zf3z691LN>1V^#?Prj5#6On!7p{rT-yrct z5^t9Hze)UEiJv`${Dl(ll=#yUKQ3{@ zwXx}~llT)7|GmWX46*U=lK8(%{6mS)Hpa%Mb$oSy{;I@Zkocb^o@I}neWOa~B;h|EeLhVsm=TQwToBAG)#boI<(Ai8YkmSs434{QOVi)3~J(Nvk; zKvZGoRv?O&*#*o8ZUYtoI}zUu)KzLUg}`j^>wqo5>w#g|%?0iR&I9%VZvbvZ_>I6V zz#`y!=q4@J++0^-s$^}yx8 zY~XD`1MqgB8F&Y<2#6-gv;*%1I)GKcN?9ziPr%8k(nEK09Xs$ z23!T)g2H)#L&$`%6MQvr7@Tk`_!=N(PS^!r56l23+y>qN)PWOj0X71|(EEUWz`KC` zKtJ#Run9N-3;+j#LEsQ@EpQmP4oH=?9+&}a2I_!!1G9kt0MrBT0cHd51sZ@GfM(!* zz;2||0<1)3wgRbsy>dJEL*EJ93j8v#3-}daHq!knZ~**kz!u=cKs)g3z&hYR5=VMlfm@K? zH-Ig`e*&5j{!L&v@LNC~@Y|$Ex{m;Ti1*LH1L#Cuz$}D+2WUt9M}gG{|1NMn^xp#( z0lyD40Dl1V0sjR^ooyRXk97YPxDEQpfDY(?2wac!{tdVV`p1EF(EmHI6Z#(khoJ8U z>VZE74g#M5ni2jaunzbXup0OuzzoFS4lF``JAe-0PGBYQX<#+*8DJgoS)dR26X1H_ zPk}AK=YU&)yMUd*FmNld2iTANcLTG5dw^ZgKM&jn{28ztxEHt+*b58;`+$AGeZYR; z3%~=w7l8x7p92ShzW@#aUjhyTUk1`m+z-qEz5>(%{}Y%6+z-?PUj=3Ze+e`IUjv$f zuLFyK2Y`0q8$kN|m2Uzofo}n;f&T@p1O5u=1O6Jg9{4t}1vmiQ0{jiI6Zj5rEAY3# zF5tVsZNT?{-N1vuoxtA#!@xmcAMg-x0PXZXa1eMHI1Ky%SOok%(2Vvw0<`1$KLi@U zhk%`^?>_(!0FMGSz+=D+;77o0*!>Zh1w0Pa13w1ttk7tNfy2oE6QBn9oFF~oeF_W% z{{-9${hxtdz>~mA=tqDCa6FJRvw>;AKBSutJOG>k8~{!P4gx0uw*fPN-M}+|UBEMe zJAr2b!@#qFeYYZU-~bT&Rhb8tVb2dZ1e^lw2c82Q1mfMa%mLuJz+vE2U>Nbvqj2E) zzzkp((0&X4#x;;01{VSy;1>aP;Mn`iECRm-SP6b9&{-*fs z+oq$wacMu8to*I;+2@_l@TUfbKgeNNeFMW0*j)_!Uf2;%GcsJ1%aH!2Ch4!3i1q>w zO<_3Y9EP-RPx|YS{-wYr9P2oSQLbsEpNVz>KF;x{S2KRz473yUGdbRiaN?Q_v>R|a z%17v%%5dL#3~4f^gyVV$yXP{TjO!wP^JQpnpbqKG0Y)U92ilA971RUaeB?vuL_H85x}M<_To>^hN*T7HJr{tVdpYKlz~3T& z!fVmrZUQdi_%X+SM17F{E!Y$OnPUcUA^7WvPl!=XQ&n}_Vxu8?(8*|6wa6WC7S}tQ znrsO|@!p@?pDfhG-o&#iui@F&#z)U-at9pVb#8xo0B;4_8XSeCOUm7TdTTF%vGT@W zv9rE@rPH-0QF3{A1wF1cOWjSbI(JR5-kre4ltZuOEmpn0XLmN%)VuvQ$J%m3m8t*^ zqoH&OGj#joN|W0Z@cL{j^Eit!Sv1WQZmIP5<>LxN7 ztCrfzZA+Kgtg42K)aMj#1==XF=wr_KIp#H6R5K~15Vr)b#<#9#=NM}G77IV=3-RyIO{!k zyUXyZb3MyJN-NLrUgc@ROV5!JsbuA-gOUvcR-%;h@p|+^ce8Ev(gI}W3V8jcMsu`C z2vSN_>8vTkXkTuuD!?1dc#Yd{gKV?e;x8akE@pS5%Uk0v@!3|_u<*RnB}k!{E4}rnodTM5 zEO|TpUOdzS%{=db-_y9tfl@44xf->Z>{{tj78{WjdW;cWW6jCsSj&5C!irRt$%W=k zt@N&yDcUtB%R0vypr)_z7T0;|Yiy44s?^&c2R|K9UsK}uHaMJtI>rI#5dtA`il)5CGg2CoBF{;==8{K=JTFs^5_xW>9wqYpOg&2EIhuNu$n!My zD3RxC>QN%k*VLn!#UnZOD1}L*LR06%8Iozb}NmNXyJY4iirY4iirY4iirY4iirY4iir zY4iirY4ij9@W|NP=QR33&S~_6oTU9A*VE_;r1r?;rel~C72w&r*x5kS=&{d-Rgn`- zr4m0x3;E=|z8-n1XBz6MyUGQf?`(1#O-;^Px8kBZn@|_?veD0Cl`FrB zWz1KWzf>C4#MV)=784^(vax=Fd11umFq$KeLgBuMEbB$4r;%hoVO7T^lz$m`16Bxx;b^@cg z+Ge8_8<8VdQ-fh)Z9{B#Yg}hzn&>jF(cr9E9c&8B4>mR1*!rhBP+nYCht(+yvrByL zM)Js3J6HkK7OTCUM#rK6mf^@kDT^xD$Py^7_ckfv%vDtxm})#V6>finr%}22C=cfM zs%^03NM&aW)Nw_i6-lf&D|cuUe`u*=``vd1-A%MGfTiI00tDRk^~EUWD)%kE_^Qjn zI*zhB9&zR5OU!XLtzq%4_+hyODKt0(uDa-2N_-{dG`O3ZoU7c$^&Sj0w$*B{E3Peb z8r|z|X`=Oh#n_P>K>k>MklZ{6cpb=Ku?;3Co$G}ExYiSBuE0hB z9MFciYshu_eD%#(mr$+&s{npLd6sdhxtzf!cPaf4p+D#g#P{FanA&SX_3>Lm z)dzB;jhwiV@?72q`pHG%0?Shf_Qa2_D5%mtbyT)cppN2hB-ebDi^{{*HhO6ZVW~S1 z^f$&|b{={?+tgWv#Sg6Z#oZTqjqde2*qZrDk-8*4+W8UPw-Jpc*MDS1 zlV|HZ3eaG~ zfA}ZYWooavA1uatAk}N) zJD~sr-eR}A#$6-ER9t3U4=&&>AgaQRx_lL zMiDnM=EXf2$Oh3C-eLH=$X4^CmQlZ{LJw@eQ2NEWU*kn#DJ9LbLcb zPG}b2$O+BjTRD+gWZ`V|R*0;Xox&`&R*0;Kog%f=S|PITb&AwdYlX<_)+tg;trbkE zwL)asYV=GaD^;g3ORW`hQo9#&Qfq~r)b53x)LJ1YwR<5awN}VUtrc?PA2*3^ncUPy zq}{zG^Z^zDY6tkbInjVlo7kgE`W?NcLk)MqlJ~n$=Uo=B^c9xRrR?$vK-` zUSBhFF6cl=F%}h8k#nS)oW@0oCQq}S(bLbtsW<$7Jbtc!m0Nv)4eK!S?8uZO79Obh zR&RsT(OnsQ*MLPr}n^9rg5dpjb1J)KBic5%@i~^ z*B3i|&Xt~ec=M;Q&N0%`JI>ccXC9}Bky}fPMsjoK;@n4)#il%0vSp-v$0B9nUrr2q z<&0pQo}D&Guwuox-xGus@O1_(Fwk0sR9WU)tYFdEqPW&6j5xhQ-zKQA&(DEXz)Pze`4ip2nsC zxqii72>zf8f3AY}fmlm;%1X%-l^Y%#D{!K6L;@4VEX2wgI|GIl9@JOlNSM-`FADPp5QYH36d z!HmKFGvvwE7EYa4qFuA3*M;YRvYtoHrapb-Aje*HGAKc|$|K}-+E0l%mIh23VJx+o zD3MW{FlmI(l55gNlye(XE9T&iVC(L5lo9tt;w{h^HM^I@3Nt%G6}vt-mSmLagmQXr z%q5_^nVn@DYt%fkJWd(o&j7`&kB_1BSef=UpJo|oMO3N!Qarw#IKDcT+Na2LY_J$N zp|_FtH0Y$@7)nkHcdX#2k-aImCUV-1W20 z*e#=Dw_~Wz0#8$9^C>|cvUSAxd%#SsKgNqPqaLhopK{e}RG!W#um^Bt)i~MwC2Ejt?lPJMpD#pBlFV5m2GT4fqK`~6Qt3`r1{00{WGHGQc{%bu$*-3>HFLb;u97a2Z$&9#cuPfo zZ-Dw`#j?gPa@DP=s>Poyi`A?OI{i4B?_AmBtq%s=bbh2N r;H_$OHeyHIg+H0qq^Y96S61b1s;c*{(o{9z#CF8IitOo?FwK7h0tXF% literal 79688 zcmeIb34B!5**`uY!63rKg_@SOjtiQK*qQ9nq6uVRViFi3Ac~rVWCCNBiCGY8X+skv zV;UQ^3$3+HwF@nM+gL52_+n5Cad|b}G_4j>Yjr4EqawzliPvrRa`X0uJjfBd#(PqNuI0qOZT{%23H*-A@G+$&0i zk@ZiPmD-q-KMD9x{?b!g+T>f;B!5e;`FEPMyRDgJz!8n`Gs)HxCgfj5V^f2_ZZ#X~ z@w=^ETGUULsJQZDqWZxI{{nT5;Rx#fP5P=7JjC+EbwA8rlHO7vP+FRwSCVJ4QTlSQ znZ`+Pq%)2-+^-IVV-?#!6}BbKxt`hpt96o=Wi;lYObq@h@XSwlgO@!oBf+& z@r~j`{x$g;YNPv?qWMSM?B7Wd{^|K()t{67>q?RiiJSe?yhHpd%bUu>rh0z#c1yc! zI5UaI_pc&QTN|iTKI;BC?vXZ5B>*)0hpJ?GsGNB4zqGWdU{Rqvzo3Mzdn9@`N9R;d z%zjbylktD&eKy;2ki=JPw%jXZo%XU9KL^tP2K;xxai-Y=meC>kk2c$PNe=P35ik?~ zDV)NJb31l!P5aVUt{JS_a@BiJTmZ8q{2zbDH88G$aSe=XU|a*^8W`8WxCX{GFs^}d z4UB7GTm%0XHL%PR{F|rswWQqkp{n3}Rl(x-+ucX1I*Q-7?|9F?z4=I}5R+f~jt%ec zE<^M~8^Ef9?%{`1iBW>WcIDFUuzg4KFia2U9JO!yfsk+yw+^1zI-FqNL{nt@4)^e^ z;Sus^4+4a&dw4EQ=IviORau`nWV5vn+w5(a!rKnuzx?CrOt=FJPls(2>}@G9%qO>= z&bj-rMC9qrI3Qrg8v>>c0eWO4!#*6C24__r?qQ_j=z((bc)9XjNFfNP3Sy250^t-N zMmRr^;cS%QY?k4)M-2x~ZB_f+M@4#%dRiY#y7p1~nYIXhA8mJk0Bs%JO)DCq4fq57 z9c|q^p(^;M%!3a?t6?gA=!)td`E^vuR+A6ghxWXZC``9+_@H&)gxq#$8Tr{CY#t6i z8(Ju2`a7D3r#vfy*`vpAl2INgez&+ksOngD^dFF#bnT;67unBjgAWKNMtaQg*)}pV zVo6bmmeB0mdu5QEo=H_fks}n$Yow9w?hj;WUDk)?9f+SNxM8^6{jR5D!!SzfyTLbM z5b|`+aIGi*(@zRv$%a%>l@}bU$`85^?Q;*&G7$;49-V0K{0sLNLixhTOld*|8s`?ftPVaGaYZ2yIO z=xzH2eQ(>Z+w->l6!*)b#M!Uxl?2ix?tb}g`-Q!z0QMcEdk2+`7P2$tuPJ?@8M1C2 zf+i2O?oFr)B0eJ3p_x>1gz02y8p+D)2?dLI9KFnb>*tUXsUs-K-bwX{baV�o6(UtU%)3hxQCkI6igB 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 Y_*ssk#y_i33QKAE*jHLnL3bzqKf8l6*8l(j diff --git a/kexts/Other/VirtualSMC.kext/Contents/Info.plist b/kexts/Other/VirtualSMC.kext/Contents/Info.plist old mode 100755 new mode 100644 index 6f687d1..6126f40 --- a/kexts/Other/VirtualSMC.kext/Contents/Info.plist +++ b/kexts/Other/VirtualSMC.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18F132 + 17D102 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.0.5 + 1.0.6 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,21 @@ MacOSX CFBundleVersion - 1.0.5 + 1.0.6 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 10E1001 + 9F2000 DTPlatformVersion GM DTSDKBuild - 18E219 + 17E189 DTSDKName - macosx10.14 + macosx10.13 DTXcode - 1020 + 0941 DTXcodeBuild - 10E1001 + 9F2000 IOKitPersonalities as.vit9696.VirtualSMC diff --git a/kexts/Other/VirtualSMC.kext/Contents/MacOS/VirtualSMC b/kexts/Other/VirtualSMC.kext/Contents/MacOS/VirtualSMC index 7e7b68e5fae6333be8ecd251c5702fab0da35d9b..2295abbd8f2327e179dbf92260887cfc968744a4 100755 GIT binary patch literal 100696 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 Kl^^Qh-~R!AH(K@p literal 161864 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

@av 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 Ang9R* diff --git a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/AppleSmc.h b/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/AppleSmc.h deleted file mode 100755 index 35d26da..0000000 --- a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/AppleSmc.h +++ /dev/null @@ -1,421 +0,0 @@ -/** @file - Copyright (C) 2014 - 2016, CupertinoNet. All rights reserved.
- - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -**/ -#ifndef APPLE_SMC_H_ -#define APPLE_SMC_H_ - -#define SMC_MAKE_IDENTIFIER(A, B, C, D) \ - (((D) << 24) | ((C) << 16) | ((B) << 8) | (A)) - -// PMIO - -#define SMC_PORT_BASE 0x0300 -#define SMC_PORT_LENGTH 0x0020 - -#define SMC_PORT_OFFSET_DATA 0x00 -#define SMC_PORT_OFFSET_COMMAND 0x04 -#define SMC_PORT_OFFSET_STATUS SMC_PORT_OFFSET_COMMAND -#define SMC_PORT_OFFSET_RESULT 0x1E -#define SMC_PORT_OFFSET_EVENT 0x1F - -// MMIO - -#define SMC_MMIO_BASE_ADDRESS 0xFEF00000 -#define SMC_MMIO_LENGTH 0x00010000 - -#define SMC_MMIO_DATA_VARIABLE 0x00 -#define SMC_MMIO_DATA_FIXED 0x78 - -// MMIO offsets - -#define SMC_MMIO_OFFSET_KEY 0x00 -#define SMC_MMIO_OFFSET_KEY_TYPE SMC_MMIO_OFFSET_KEY -#define SMC_MMIO_OFFSET_SMC_MODE SMC_MMIO_OFFSET_KEY -#define SMC_MMIO_OFFSET_DATA_SIZE 0x05 -#define SMC_MMIO_OFFSET_KEY_ATTRIBUTES 0x06 -#define SMC_MMIO_OFFSET_COMMAND 0x07 -#define SMC_MMIO_OFFSET_RESULT SMC_MMIO_OFFSET_COMMAND -#define SMC_MMIO_OFFSET_LOG 0x08 - -// Read addresses - -#define SMC_MMIO_READ_KEY \ - (SMC_MMIO_DATA_VARIABLE + SMC_MMIO_OFFSET_KEY) - -#define SMC_MMIO_READ_KEY_TYPE \ - (SMC_MMIO_DATA_VARIABLE + SMC_MMIO_OFFSET_KEY_TYPE) - -#define SMC_MMIO_READ_DATA_SIZE \ - (SMC_MMIO_DATA_VARIABLE + SMC_MMIO_OFFSET_DATA_SIZE) - -#define SMC_MMIO_READ_KEY_ATTRIBUTES \ - (SMC_MMIO_DATA_VARIABLE + SMC_MMIO_OFFSET_KEY_ATTRIBUTES) - -#define SMC_MMIO_READ_LOG \ - (SMC_MMIO_DATA_FIXED + SMC_MMIO_OFFSET_LOG) - -#define SMC_MMIO_READ_RESULT \ - (SMC_MMIO_DATA_FIXED + SMC_MMIO_OFFSET_RESULT) - -#define SMC_MMIO_READ_EVENT_STATUS 0x4000 -#define SMC_MMIO_READ_UNKNOWN1 0x4004 -#define SMC_MMIO_READ_KEY_STATUS 0x4005 - -// Write addresses - -#define SMC_MMIO_WRITE_MODE \ - (SMC_MMIO_DATA_VARIABLE + SMC_MMIO_OFFSET_SMC_MODE) - -#define SMC_MMIO_WRITE_KEY \ - (SMC_MMIO_DATA_FIXED + SMC_MMIO_OFFSET_KEY) - -#define SMC_MMIO_WRITE_INDEX \ - (SMC_MMIO_DATA_FIXED + SMC_MMIO_OFFSET_KEY_TYPE) - -#define SMC_MMIO_WRITE_DATA_SIZE \ - (SMC_MMIO_DATA_FIXED + SMC_MMIO_OFFSET_DATA_SIZE) - -#define SMC_MMIO_WRITE_KEY_ATTRIBUTES \ - (SMC_MMIO_DATA_FIXED + SMC_MMIO_OFFSET_KEY_ATTRIBUTES) - -#define SMC_MMIO_WRITE_COMMAND \ - (SMC_MMIO_DATA_FIXED + SMC_MMIO_OFFSET_COMMAND) - -typedef UINT32 SMC_ADDRESS; - -// Modes - -#define SMC_MODE_APPCODE 'A' -#define SMC_MODE_UPDATE 'U' -#define SMC_MODE_BASE 'B' - -// SMC_MODE -typedef CHAR8 *SMC_MODE; - -enum { - SmcResetModeMaster = 0, - SmcResetModeAppCode = 1, - SmcResetModeUpdate = 2, - SmcResetModeBase = 3 -}; - -typedef UINT8 SMC_RESET_MODE; - -enum { - SmcFlashTypeAppCode = 1, - SmcFlashTypeBase = 2, - SmcFlashTypeUpdate = 3, - SmcFlashTypeEpm = 4 -}; - -typedef UINT8 SMC_FLASH_TYPE; - -enum { - SmcFlashModeAppCode = SmcResetModeMaster, - SmcFlashModeUpdate = SmcResetModeBase, - SmcFlashModeBase = SmcResetModeUpdate, - SmcFlashModeEpm = SmcResetModeMaster -}; - -typedef UINT8 SMC_FLASH_MODE; - -// Commands - -enum { - SmcCmdReadValue = 0x10, - SmcCmdWriteValue = 0x11, - SmcCmdGetKeyFromIndex = 0x12, - SmcCmdGetKeyInfo = 0x13, - SmcCmdReset = 0x14, - SmcCmdWriteValueAtIndex = 0x15, - SmcCmdReadValueAtIndex = 0x16, - SmcCmdGetSramAddress = 0x17, - SmcCmdReadPKey = 0x20, // response based on payload submitted - SmcCmdUnknown1 = 0x77, - SmcCmdFlashWrite = 0xF1, - SmcCmdFlashAuth = 0xF2, - SmcCmdFlashType = 0xF4, - SmcCmdFlashWriteMoreData = 0xF5, // write more data than available at once - SmcCmdFlashAuthMoreData = 0xF6 // auth more data than available at once -}; - -typedef UINT8 SMC_COMMAND; - -// Reports - -#define SMC_STATUS_AWAITING_DATA BIT0 ///< Ready to read data. -#define SMC_STATUS_IB_CLOSED BIT1 /// A write is pending. -#define SMC_STATUS_BUSY BIT2 ///< Busy processing a command. -#define SMC_STATUS_GOT_COMMAND BIT3 ///< The last input was a command. -#define SMC_STATUS_UKN_0x16 BIT4 -#define SMC_STATUS_KEY_DONE BIT5 -#define SMC_STATUS_READY BIT6 // Ready to work -#define SMC_STATUS_UKN_0x80 BIT7 // error - -// SMC_STATUS -typedef UINT8 SMC_STATUS; - -enum { - SmcSuccess = 0, - SmcError = 1, - - SmcCommCollision = 128, - SmcSpuriousData = 129, - SmcBadCommand = 130, - SmcBadParameter = 131, - SmcNotFound = 132, - SmcNotReadable = 133, - SmcNotWritable = 134, - SmcKeySizeMismatch = 135, - SmcFramingError = 136, - SmcBadArgumentError = 137, - - SmcTimeoutError = 183, - SmcKeyIndexRangeError = 184, - - SmcBadFunctionParameter = 192, - SmcEventBufferWrongOrder = 196, - SmcEventBufferReadError = 197, - SmcDeviceAccessError = 199, - SmcUnsupportedFeature = 203, - SmcSmbAccessError = 204, - - SmcInvalidSize = 206 -}; - -#define SMC_ERROR(a) (((UINTN)(a)) > 0) - -#define EFI_STATUS_FROM_SMC_RESULT(x) \ - ((((UINTN)(x)) == SmcSuccess) ? EFI_SUCCESS : EFIERR ((UINTN)(x))) - -#define EFI_SMC_SUCCESS SmcSuccess -#define EFI_SMC_ERROR EFIERR (SmcError) - -#define EFI_SMC_COMM_COLLISION EFIERR (SmcCommCollision) -#define EFI_SMC_SPURIOUS_DATA EFIERR (SmcSpuriousData) -#define EFI_SMC_BAD_COMMAND EFIERR (SmcBadCommand) -#define EFI_SMC_BAD_PARAMETER EFIERR (SmcBadParameter) -#define EFI_SMC_NOT_FOUND EFIERR (SmcNotFound) -#define EFI_SMC_NOT_READABLE EFIERR (SmcNotReadable) -#define EFI_SMC_NOT_WRITABLE EFIERR (SmcNotWritable) -#define EFI_SMC_KEY_MISMATCH EFIERR (SmcKeySizeMismatch) -#define EFI_SMC_FRAMING_ERROR EFIERR (SmcFramingError) -#define EFI_SMC_BAD_ARGUMENT_ERROR EFIERR (SmcBadArgumentError) - -#define EFI_SMC_TIMEOUT_ERROR EFIERR (SmcTimeoutError) -#define EFI_SMC_KEY_INDEX_RANGE_ERROR EFIERR (SmcKeyIndexRangeError) - -#define EFI_SMC_BAD_FUNCTION_PARAMETER EFIERR (SmcBadFunctionParameter) -#define EFI_SMC_EVENT_BUFFER_WRONG_ORDER EFIERR (SmcEventBufferWrongOrder) -#define EFI_SMC_EVENT_BUFFER_READ_ERROR EFIERR (SmcEventBufferReadError) -#define EFI_SMC_DEVICE_ACCESS_ERROR EFIERR (SmcDeviceAccessError) -#define EFI_SMC_UNSUPPORTED_FEATURE EFIERR (SmcUnsupportedFeature) -#define EFI_SMB_ACCESS_ERROR EFIERR (SmcSmbAccessError) - -#define EFI_SMC_INVALID_SIZE EFIERR (SmcInvalidSize) - -// SMC_RESULT -typedef UINT8 SMC_RESULT; - -// Key Types - -#define SMC_MAKE_KEY_TYPE(A, B, C, D) SMC_MAKE_IDENTIFIER ((A), (B), (C), (D)) - -enum { - SmcKeyTypeCh8s = SMC_MAKE_KEY_TYPE ('c', 'h', '8', '*'), - SmcKeyTypeChar = SMC_MAKE_KEY_TYPE ('c', 'h', 'a', 'r'), - SmcKeyTypeFloat = SMC_MAKE_KEY_TYPE ('f', 'l', 't', ' '), - SmcKeyTypeFlag = SMC_MAKE_KEY_TYPE ('f', 'l', 'a', 'g'), - SmcKeyTypeFp1f = SMC_MAKE_KEY_TYPE ('f', 'p', '1', 'f'), - SmcKeyTypeFp2e = SMC_MAKE_KEY_TYPE ('f', 'p', '2', 'e'), - SmcKeyTypeFp3d = SMC_MAKE_KEY_TYPE ('f', 'p', '3', 'd'), - SmcKeyTypeFp4c = SMC_MAKE_KEY_TYPE ('f', 'p', '4', 'c'), - SmcKeyTypeFp5b = SMC_MAKE_KEY_TYPE ('f', 'p', '5', 'b'), - SmcKeyTypeFp6a = SMC_MAKE_KEY_TYPE ('f', 'p', '6', 'a'), - SmcKeyTypeFp79 = SMC_MAKE_KEY_TYPE ('f', 'p', '7', '9'), - SmcKeyTypeFp88 = SMC_MAKE_KEY_TYPE ('f', 'p', '8', '8'), - SmcKeyTypeFp97 = SMC_MAKE_KEY_TYPE ('f', 'p', '9', '7'), - SmcKeyTypeFpa6 = SMC_MAKE_KEY_TYPE ('f', 'p', 'a', '6'), - SmcKeyTypeFpb5 = SMC_MAKE_KEY_TYPE ('f', 'p', 'b', '5'), - SmcKeyTypeFpc4 = SMC_MAKE_KEY_TYPE ('f', 'p', 'c', '4'), - SmcKeyTypeFpd3 = SMC_MAKE_KEY_TYPE ('f', 'p', 'd', '3'), - SmcKeyTypeFpe2 = SMC_MAKE_KEY_TYPE ('f', 'p', 'e', '2'), - SmcKeyTypeFpf1 = SMC_MAKE_KEY_TYPE ('f', 'p', 'f', '1'), - SmcKeyTypeHex = SMC_MAKE_KEY_TYPE ('h', 'e', 'x', '_'), - SmcKeyTypeIoft = SMC_MAKE_KEY_TYPE ('i', 'o', 'f', 't'), - SmcKeyTypeSint8 = SMC_MAKE_KEY_TYPE ('s', 'i', '8', ' '), - SmcKeyTypeSint16 = SMC_MAKE_KEY_TYPE ('s', 'i', '1', '6'), - SmcKeyTypeSint32 = SMC_MAKE_KEY_TYPE ('s', 'i', '3', '2'), - SmcKeyTypeSint64 = SMC_MAKE_KEY_TYPE ('s', 'i', '6', '4'), - SmcKeyTypeSp1e = SMC_MAKE_KEY_TYPE ('s', 'p', '1', 'e'), - SmcKeyTypeSp2d = SMC_MAKE_KEY_TYPE ('s', 'p', '2', 'd'), - SmcKeyTypeSp3c = SMC_MAKE_KEY_TYPE ('s', 'p', '3', 'c'), - SmcKeyTypeSp4b = SMC_MAKE_KEY_TYPE ('s', 'p', '4', 'b'), - SmcKeyTypeSp5a = SMC_MAKE_KEY_TYPE ('s', 'p', '5', 'a'), - SmcKeyTypeSp69 = SMC_MAKE_KEY_TYPE ('s', 'p', '6', '9'), - SmcKeyTypeSp78 = SMC_MAKE_KEY_TYPE ('s', 'p', '7', '8'), - SmcKeyTypeSp87 = SMC_MAKE_KEY_TYPE ('s', 'p', '8', '7'), - SmcKeyTypeSp96 = SMC_MAKE_KEY_TYPE ('s', 'p', '9', '6'), - SmcKeyTypeSpa5 = SMC_MAKE_KEY_TYPE ('s', 'p', 'a', '5'), - SmcKeyTypeSpb4 = SMC_MAKE_KEY_TYPE ('s', 'p', 'b', '4'), - SmcKeyTypeSpc3 = SMC_MAKE_KEY_TYPE ('s', 'p', 'c', '3'), - SmcKeyTypeSpd2 = SMC_MAKE_KEY_TYPE ('s', 'p', 'd', '2'), - SmcKeyTypeSpe1 = SMC_MAKE_KEY_TYPE ('s', 'p', 'e', '1'), - SmcKeyTypeSpf0 = SMC_MAKE_KEY_TYPE ('s', 'p', 'f', '0'), - SmcKeyTypeUint8z = SMC_MAKE_KEY_TYPE ('u', 'i', '8', '\0'), - SmcKeyTypeUint8 = SMC_MAKE_KEY_TYPE ('u', 'i', '8', ' '), - SmcKeyTypeUint8s = SMC_MAKE_KEY_TYPE ('u', 'i', '8', '*'), - SmcKeyTypeUint16 = SMC_MAKE_KEY_TYPE ('u', 'i', '1', '6'), - SmcKeyTypeUint32 = SMC_MAKE_KEY_TYPE ('u', 'i', '3', '2'), - SmcKeyTypeUint64 = SMC_MAKE_KEY_TYPE ('u', 'i', '6', '4'), - SmcKeyTypeAla = SMC_MAKE_KEY_TYPE ('{', 'a', 'l', 'a'), - SmcKeyTypeAlc = SMC_MAKE_KEY_TYPE ('{', 'a', 'l', 'c'), - SmcKeyTypeAli = SMC_MAKE_KEY_TYPE ('{', 'a', 'l', 'i'), - SmcKeyTypeAlp = SMC_MAKE_KEY_TYPE ('{', 'a', 'l', 'p'), - SmcKeyTypeAlr = SMC_MAKE_KEY_TYPE ('{', 'a', 'l', 'r'), - SmcKeyTypeAlt = SMC_MAKE_KEY_TYPE ('{', 'a', 'l', 't'), - SmcKeyTypeAlv = SMC_MAKE_KEY_TYPE ('{', 'a', 'l', 'v'), - SmcKeyTypeClc = SMC_MAKE_KEY_TYPE ('{', 'c', 'l', 'c'), - SmcKeyTypeClh = SMC_MAKE_KEY_TYPE ('{', 'c', 'l', 'h'), - SmcKeyTypeFds = SMC_MAKE_KEY_TYPE ('{', 'f', 'd', 's'), - SmcKeyTypeHdi = SMC_MAKE_KEY_TYPE ('{', 'h', 'd', 'i'), - SmcKeyTypeJst = SMC_MAKE_KEY_TYPE ('{', 'j', 's', 't'), - SmcKeyTypeLia = SMC_MAKE_KEY_TYPE ('{', 'l', 'i', 'a'), - SmcKeyTypeLic = SMC_MAKE_KEY_TYPE ('{', 'l', 'i', 'c'), - SmcKeyTypeLim = SMC_MAKE_KEY_TYPE ('{', 'l', 'i', 'm'), - SmcKeyTypeLkb = SMC_MAKE_KEY_TYPE ('{', 'l', 'k', 'b'), - SmcKeyTypeLks = SMC_MAKE_KEY_TYPE ('{', 'l', 'k', 's'), - SmcKeyTypeLsc = SMC_MAKE_KEY_TYPE ('{', 'l', 's', 'c'), - SmcKeyTypeLsd = SMC_MAKE_KEY_TYPE ('{', 'l', 's', 'd'), - SmcKeyTypeLsf = SMC_MAKE_KEY_TYPE ('{', 'l', 's', 'f'), - SmcKeyTypeLso = SMC_MAKE_KEY_TYPE ('{', 'l', 's', 'o'), - SmcKeyTypeMss = SMC_MAKE_KEY_TYPE ('{', 'm', 's', 's'), - SmcKeyTypePwm = SMC_MAKE_KEY_TYPE ('{', 'p', 'w', 'm'), - SmcKeyTypeRev = SMC_MAKE_KEY_TYPE ('{', 'r', 'e', 'v') -}; - -// SMC_KEY_TYPE -typedef UINT32 SMC_KEY_TYPE; - -// Key Attributes - -#define SMC_KEY_ATTRIBUTE_PRIVATE_WRITE BIT0 -#define SMC_KEY_ATTRIBUTE_PRIVATE_READ BIT1 -#define SMC_KEY_ATTRIBUTE_ATOMIC BIT2 -#define SMC_KEY_ATTRIBUTE_CONST BIT3 -#define SMC_KEY_ATTRIBUTE_FUNCTION BIT4 -#define SMC_KEY_ATTRIBUTE_UKN_0x20 BIT5 -#define SMC_KEY_ATTRIBUTE_WRITE BIT6 -#define SMC_KEY_ATTRIBUTE_READ BIT7 - -// SMC_KEY_ATTRIBUTES -typedef UINT8 SMC_KEY_ATTRIBUTES; - - -// Data - -#define SMC_MAX_DATA_SIZE (SMC_MMIO_DATA_FIXED - SMC_MMIO_DATA_VARIABLE) - -typedef UINT8 SMC_DATA; -typedef UINT8 SMC_DATA_SIZE; - -// Keys - -// SMC_KEY_IS_VALID_CHAR -#define SMC_KEY_IS_VALID_CHAR(x) (((x) >= 0x20) && ((x) <= 0x7E)) - -// SMC_MAKE_KEY -#define SMC_MAKE_KEY(A, B, C, D) SMC_MAKE_IDENTIFIER ((A), (B), (C), (D)) - -#define SMC_KEY_NUM SMC_MAKE_KEY ('$', 'N', 'u', 'm') -#define SMC_KEY_ADR SMC_MAKE_KEY ('$', 'A', 'd', 'r') -#define SMC_KEY_NO_KEYS SMC_MAKE_KEY ('#', 'K', 'e', 'y') -#define SMC_KEY_LDKN SMC_MAKE_KEY ('L', 'D', 'K', 'N') -#define SMC_KEY_HBKP SMC_MAKE_KEY ('H', 'B', 'K', 'P') - -typedef UINT32 SMC_KEY; -typedef UINT32 SMC_KEY_INDEX; - -typedef UINT8 SMC_DEVICE_INDEX; - -// Flash data - -// SMC_FLASH_SIZE_MAX -#define SMC_FLASH_SIZE_MAX 0x0800 - -// SMC_FLASH_SIZE -typedef UINT16 SMC_FLASH_SIZE; - -// Events - -enum { - SmcEventALSChange = 0x2A, - SmcEventShutdownImminent = 0x40, - SmcEventBridgeOSPanic = 0x41, - SmcEventLogMessage = 0x4C, - SmcEventKeyDone = 0x4B, - SmcEventPThermalLevelChanged = 0x54, - SmcEventCallPlatformFunction = 0x55, - SmcEventSMSDrop = 0x60, - SmcEventUnknown6A = 0x6A, // Bug?? - SmcEventSMSOrientation = 0x69, - SmcEventSMSShock = 0x6F, - SmcEventSystemStateNotify = 0x70, - SmcEventPowerStateNotify = 0x71, - SmcEventHidEventNotify = 0x72, - SmcEventPLimitChange = 0x80, - SmcEventPCIeReady = 0x83, // Not certain -}; - -// SmcEventSystemStateNotify subtypes, not always certain -// Mostly from bridgeOS kernelcache and ramrod. -// Check SMCRegisterForSubTypeNotification in libSMC.dylib. -enum { - SmcSystemStateNotifyMacOsPanicCause = 4, // Name unclear - SmcSystemStateNotifyPrepareForS0 = 6, - SmcSystemStateNotifyMacOsPanicDone = 10, - SmcSystemStateNotifyRestart = 15, - SmcSystemStateNotifyMacEfiFirmwareUpdated = 16, - SmcSystemStateNotifyQuiesceDevices = 17, - SmcSystemStateNotifyResumeDevices = 18, - SmcSystemStateNotifyGPUPanelPowerOn = 19, -}; - -// SmcSystemStateNotifyMacOsPanicCause values, received after PanicDone -enum { - SmcSystemStateNotifyPanicUnknown = 0, - SmcSystemStateNotifyPanicMacOSPanic = 1, - SmcSystemStateNotifyPanicMacOSWatchdog = 2, - SmcSystemStateNotifyPanicX86StraightS5Shutdown = 3, - SmcSystemStateNotifyPanicX86GlobalReset = 4, - SmcSystemStateNotifyPanicX86CpuCATERR = 5, - SmcSystemStateNotifyPanicACPIPanic = 6, -}; - -// SMC_EVENT_CODE -typedef UINT8 SMC_EVENT_CODE; - -// Log - -#define SMC_MAX_LOG_SIZE 0x80 - -typedef UINT8 SMC_LOG; -typedef UINT8 SMC_LOG_SIZE; - -// Hard drive encryption - -#define SMC_HBKP_SIZE 0x20 - -#endif // APPLE_SMC_H_ diff --git a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/AppleSmcBridge.hpp b/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/AppleSmcBridge.hpp deleted file mode 100755 index 4155450..0000000 --- a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/AppleSmcBridge.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// -// AppleSmcBridge.hpp -// AppleSmcBridge -// -// Copyright © 2017 vit9696. All rights reserved. -// - -#ifndef AppleSmcBridge_hpp -#define AppleSmcBridge_hpp - -#include - -using CHAR8 = char; -using UINT8 = uint8_t; -using UINT16 = uint16_t; -using UINT32 = uint32_t; - -static constexpr uint8_t BIT0 = 0b00000001; -static constexpr uint8_t BIT1 = 0b00000010; -static constexpr uint8_t BIT2 = 0b00000100; -static constexpr uint8_t BIT3 = 0b00001000; -static constexpr uint8_t BIT4 = 0b00010000; -static constexpr uint8_t BIT5 = 0b00100000; -static constexpr uint8_t BIT6 = 0b01000000; -static constexpr uint8_t BIT7 = 0b10000000; - -extern "C" { - #include "AppleSmc.h" -} - -#endif /* AppleSmcBridge_hpp */ diff --git a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_keyvalue.hpp b/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_keyvalue.hpp deleted file mode 100755 index eb38bda..0000000 --- a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_keyvalue.hpp +++ /dev/null @@ -1,125 +0,0 @@ -// -// kern_keyvalue.hpp -// VirtualSMC -// -// Copyright © 2017 vit9696. All rights reserved. -// - -#ifndef kern_keyvalue_hpp -#define kern_keyvalue_hpp - -#include -#include -#include - -struct VirtualSMCKeyValue { - /** - * Key name - */ - SMC_KEY key; - - /** - * Key value - */ - _Atomic(VirtualSMCValue *) value; - - /** - * Original value - */ - _Atomic(VirtualSMCValue *) backup; - - /** - * Should key value pair be serialisable - * - * @param confidential confidential serialisation stores are allowed - * - * @return true if should be saved - */ - bool serializable(bool confidential) const; - - /** - * Get serialized size (normally key, size, key data) - * - * @return size in bytes - */ - size_t serializedSize() const; - - /** - * Write serialized data to the buffer - * - * @param dst serialization buffer reference of at least serializedSize() - */ - void serialize(uint8_t *&dst) const; - - /** - * Read serialized data - * - * @param src serialization buffer reference (increased) - * @param size serialization buffer size (decreased) - * @param name read key name - * @param out read key data (must be preallocated) - * @param outsz key data size - * - * @return true on succesful read - */ - static bool deserialize(const uint8_t *&src, uint32_t &size, SMC_KEY &name, SMC_DATA *out, SMC_DATA_SIZE &outsz); - - /** - * Create key/value pair for storage - * - * @param k key name - * @param v key value - * - * @return key/value pair - */ - static VirtualSMCKeyValue create(SMC_KEY k, VirtualSMCValue *v) { - VirtualSMCKeyValue kv {k}; - atomic_init(&kv.value, v); - atomic_init(&kv.backup, nullptr); - return kv; - } - - /** - * Key/value deleter responsible for freeing value dynamic memory - * - * @param kv key/value pair - */ - static void deleter(VirtualSMCKeyValue kv) { - // This is just an old compiler crash workaround, no need for atomicity here! - auto v = atomic_load_explicit(&kv.value, memory_order_relaxed); - auto b = atomic_load_explicit(&kv.backup, memory_order_relaxed); - if (v) VirtualSMCValue::deleter(v); - if (b) VirtualSMCValue::deleter(b); - } - - /** - * Key comparator for sorting - * - * @param a first key - * @param b second key - * - * @return like qsort (<0 if a goes before b) - */ - static int compare(const SMC_KEY a, const SMC_KEY b) { - if (a == b) - return 0; - else if (OSSwapInt32(a) < OSSwapInt32(b)) - return -1; - return 1; - } - - /** - * Key value comparator for sorting - * - * @param a opaque k/v pointer - * @param b opaque k/v pointer - * - * @return like qsort (<0 if a goes before b) - */ - static int compare(const void *a, const void *b) { - return compare(static_cast(a)->key, static_cast(b)->key); - } -}; - - -#endif /* kern_keyvalue_hpp */ diff --git a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_smcinfo.hpp b/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_smcinfo.hpp deleted file mode 100755 index 65960a5..0000000 --- a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_smcinfo.hpp +++ /dev/null @@ -1,256 +0,0 @@ -// -// kern_smcinfo.hpp -// VirtualSMC -// -// Copyright © 2017 vit9696. All rights reserved. -// - -#ifndef kern_smcinfo_h -#define kern_smcinfo_h - -#include - -#include - -class SMCInfo { - /** - * Device-specific reproducible random state - */ - uint64_t generatorState {}; - -public: - - /** - * Size in bytes for SmcKeyTypeRev keys - */ - static constexpr SMC_DATA_SIZE RevisionSize = 6; - - /** - * Size in bytes for branch keys (usually ch8*) - */ - static constexpr SMC_DATA_SIZE BranchSize = 8; - - /** - * Size in bytes for hardware model name - */ - static constexpr SMC_DATA_SIZE ModelSize = 64; - - /** - * Size in bytes for MAC value - */ - static constexpr SMC_DATA_SIZE MacSize = 6; - - /** - * Size in bytes for Serial value - */ - static constexpr SMC_DATA_SIZE SerialSize = 16; - - /** - * Size in bytes for Motherboard Serial value - */ - static constexpr SMC_DATA_SIZE MotherboardSerialSize = 17; - - /** - * Device generation: - * - V1 is Big Endian Hitachi - * - V2 is Little Endian ARM - * - Unspecified is used for autodetection code - */ - enum class Generation { - Unspecified = 0, - V1 = 1, - V2 = 2, - V3 = 3 - }; - - /** - * Device memory layout information - */ - struct Memory { - mach_vm_address_t start; - mach_vm_size_t size; - vm_prot_t prot; - }; - - /** - * Buffers describing device version information - */ - enum class Buffer { - RevMain, - RevFlasherBase, - RevFlasherUpdate, - Branch, - Platform, - HardwareModel, - MacAddress, - Serial, - MotherboardSerial - }; - - /** - * Corresponds to REV key contents - */ - SMC_DATA main[RevisionSize] {}; - - /** - * Corresponds to RVBF key contents - */ - SMC_DATA flasherBase[RevisionSize] {}; - - /** - * Corresponds to RVUF key contents - */ - SMC_DATA flasherUpdate[RevisionSize] {}; - - /** - * Corresponds to RBr key contents - */ - SMC_DATA branch[BranchSize] {}; - - /** - * Corresponds to RPlt key contents - */ - SMC_DATA platform[BranchSize] {}; - - /** - * Corresponds to SMC hardware model (aka compatible key) - */ - SMC_DATA hardwareModel[ModelSize] {}; - - /** - * Corresponds to RMAC key contents - */ - SMC_DATA macAddress[MacSize] {}; - - /** - * Corresponds to RSSN key contents - */ - SMC_DATA serial[SerialSize] {}; - - /** - * Corresponds to RSSN key contents - */ - SMC_DATA motherboardSerial[MotherboardSerialSize] {}; - - /** - * Get device generation based on obtained buffers - * - * @return device generation - */ - Generation getGeneration() const { - if (main[0] == 1) - return Generation::V1; - else if (main[0] == 2) - return Generation::V2; - else if (main[0] == 3 || main[0] == 0) - return Generation::V3; - DBGLOG("smcinfo", "invalid generation %X, defaulting to V2", main[0]); - return Generation::V2; - } - - /** - * Initialise reproducible pseudo-random number generator with device info - */ - void generatorSeed() { - union { - uint8_t arr[8]; - uint64_t raw; - } seed; - - seed.arr[0] = main[0]; - seed.arr[1] = main[1]; - seed.arr[2] = main[3]; - seed.arr[3] = main[5]; - seed.arr[4] = branch[0]; - seed.arr[5] = branch[1]; - seed.arr[6] = branch[2]; - seed.arr[7] = branch[4]; - - generatorState = seed.raw ^ 0x106689D45497FDB5; - } - - /** - * Get next reproducible pseudo-random number based on device info - * generatorSeed must be called before using this function - * - * @return pseudo-random number - */ - uint64_t generatorRand() { - uint64_t x = generatorState; - x ^= x >> 12; // a - x ^= x << 25; // b - x ^= x >> 27; // c - generatorState = x; - return x * 0x2545F4914F6CDD1D; - } - - /** - * Get device information buffer - * - * @param id buffer id - * - * @return pointer to the buffer - */ - SMC_DATA *getBuffer(Buffer id) { - switch (id) { - case Buffer::RevMain: - return main; - case Buffer::RevFlasherBase: - return flasherBase; - case Buffer::RevFlasherUpdate: - return flasherUpdate; - case Buffer::Branch: - return branch; - case Buffer::Platform: - return platform; - case Buffer::HardwareModel: - return hardwareModel; - case Buffer::MacAddress: - return macAddress; - case Buffer::Serial: - return serial; - case Buffer::MotherboardSerial: - return motherboardSerial; - } - } - - /** - * Get device information buffer size - * - * @param id buffer id - * - * @return buffer size - */ - SMC_DATA_SIZE getBufferSize(Buffer id) { - switch (id) { - case Buffer::RevMain: - case Buffer::RevFlasherBase: - case Buffer::RevFlasherUpdate: - return RevisionSize; - case Buffer::Branch: - case Buffer::Platform: - return BranchSize; - case Buffer::HardwareModel: - return ModelSize; - case Buffer::MacAddress: - return MacSize; - case Buffer::Serial: - return SerialSize; - case Buffer::MotherboardSerial: - return MotherboardSerialSize; - } - } - - /** - * Check if the necessary buffer information was supplied previously - * - * @return true if version info is ok - */ - bool isValid() const { - // Note, we do not check mac/serial validity, as they are optional! - // Everything but platform was also removed by T2! - return platform[0] && hardwareModel[0]; - } -}; - -#endif /* kern_smcinfo_h */ diff --git a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_value.hpp b/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_value.hpp deleted file mode 100755 index 666a81f..0000000 --- a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_value.hpp +++ /dev/null @@ -1,149 +0,0 @@ -// -// kern_keyvalue.hpp -// VirtualSMC -// -// Copyright © 2018 vit9696. All rights reserved. -// - -#ifndef kern_value_hpp -#define kern_value_hpp - -#include -#include - -#include - -/** - * Serialization level determining external value storage necessity - */ -enum class EXPORT SerializeLevel { - None, - Normal, - Confidential, - Default = Confidential -}; - -class VirtualSMCKeystore; -class VirtualSMCKeyValue; - -class EXPORT VirtualSMCValue { - friend VirtualSMCKeystore; - friend VirtualSMCKeyValue; -protected: - - /** - * Value contents retrieved by other protocols - */ - SMC_DATA data[SMC_MAX_DATA_SIZE] {}; - - /** - * Actual value contents size (could be less than SMC_MAX_DATA_SIZE) - */ - SMC_DATA_SIZE size {}; - - /** - * One of the enum types defined in AppleSmc.h specifying value type - */ - SMC_KEY_TYPE type {}; - - /** - * Bitmask of key attributes defined in AppleSmc.h defining value abilities - */ - SMC_KEY_ATTRIBUTES attr {}; - - /** - * Serialization level defining the necessity to serialize values on power events - */ - SerializeLevel serializeLevel {SerializeLevel::None}; - - /** - * On read access, update the data if needed, and perform custom access control. - * For base value, always allow the access if keystore allowed it. - * - * @return SmcSuccess if allowed - */ - virtual SMC_RESULT readAccess() { - return SmcSuccess; - } - - /** - * On write access, update the data if needed, and perform custom access control. - * For base value, always allow the access if keystore allowed it. - * - * @return SmcSuccess if allowed - */ - virtual SMC_RESULT writeAccess() { - return SmcSuccess; - } - -public: - /** - * Initialises a value with existing data. - * - * @param data Initial data, must be at least size bytes - * @param size Amount of data bytes used, at most SMC_MAX_DATA_SIZE - * @param type Value type - * @param attr Value attributes - * @param level Serialization necessity - * - * @return true on success - */ - EXPORT bool init(const SMC_DATA *data, SMC_DATA_SIZE size, SMC_KEY_TYPE type, SMC_KEY_ATTRIBUTES attr, SerializeLevel level = SerializeLevel::None); - - /** - * Initialises a value with an OSDictionary. - * Dictionary keys are described in VirtualKeystore::merge(const OSArray *) method. - * - * @param dict An OSDictionary that describes the value - * - * @return true on success - */ - EXPORT bool init(const OSDictionary *dict); - - /** - * Obtain value contents - * - * @param size Amount of used bytes - * - * @return Pointer to the value data buffer. - * - * The buffer shall never be modified externally. - */ - const SMC_DATA *get(SMC_DATA_SIZE &size) const; - - /** - * Update the internal buffer, assuming the same - * amount of bytes is used for this value. - * - * @param src new contents - */ - virtual SMC_RESULT update(const SMC_DATA *src); - - /** - * Checks serialization necessity - * - * @param confidential confidential information storage is allowed - * - * @retrurn true if the value needs to be serialized - */ - bool serializable(bool confidential) const { - return serializeLevel == SerializeLevel::Normal || - (serializeLevel == SerializeLevel::Confidential && confidential); - } - - /** - * It is not recommended to free created values but you can if you need - */ - virtual ~VirtualSMCValue() = default; - - /** - * Used for storing values in evector - * - * @param inst value to be freed - */ - static void deleter(VirtualSMCValue *inst) { - delete inst; - } -}; - -#endif /* kern_value_hpp */ diff --git a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_vsmcapi.hpp b/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_vsmcapi.hpp deleted file mode 100755 index 493af33..0000000 --- a/kexts/Other/VirtualSMC.kext/Contents/Resources/VirtualSMCSDK/kern_vsmcapi.hpp +++ /dev/null @@ -1,278 +0,0 @@ -// -// kern_vsmcapi.hpp -// VirtualSMC -// -// Copyright © 2018 vit9696. All rights reserved. -// - -#ifndef kern_vsmcapi_hpp -#define kern_vsmcapi_hpp - -#include -#include -#include -#include - -namespace VirtualSMCAPI { - /** - * SMC device service name. Please be aware that the same name is used for any (including physical) SMC device. - */ - static constexpr const char *ServiceName = "APP0001"; - - /** - * Main communication platform function interface. - * Takes plugin IOService and VirtualSMCPlugin as arguments. No modifications to struct contents are allowed once it is submitted. - * Virtual key functions may be invoked asynchronously from inside IOSimpleLock context, so they should be designed - * with the help of lock-free algorithms. - */ - static constexpr const char *SubmitPlugin = "VirtualSMCSubmitPlugin"; - - /** - * A total maximum of allowed plugins for installation. - */ - static constexpr size_t PluginMax = 16; - - /** - * Accepted plugin API (and ABI) compatibility - */ - static constexpr size_t Version = 1; - - /** - * Sorted key storage containing pairs of keys and values. - */ - using KeyStorage = evector; - - /** - * Main description structure submitted by a plugin. Must be unchanged and never deallocated after submission. - */ - struct Plugin { - const char *product; // Product name (e.g. xStringify(PRODUCT_NAME)) - size_t version; // Product version (e.g. parseModuleVersion(xStringify(MODULE_VERSION))) - size_t apiver; // Product API compatibility (i.e. VirtualSMCAPIVersion) - // Please note, that storage vectors MUST be sorted. Otherwise the behaviour is undefined. - KeyStorage data, dataHidden; - }; - - /** - * Register plugin handler for plugin loading - * - * @param handler function to handle the notification - * @param context function context - * - * @result notifier (must be released) or nullptr - */ - EXPORT IONotifier *registerHandler(IOServiceMatchingNotificationHandler handler, void *context); - - /** - * Asynchronous event poster, which may be used for submitting plugin events. - * Note, this may only be used after SubmitPlugin. - * - * @param code event code to post - * @param data data to include in the interrupt - * @param dataSize size of the supplied data - * - * @return true on success - */ - EXPORT bool postInterrupt(SMC_EVENT_CODE code, const void *data=nullptr, uint32_t dataSize=0); - - /** - * Obtain emulated SMC device info to determine used keys and their format. - * Note, this may only be used within SubmitPlugin or afterwards. - * - * @param info device info object to be copied to - * - * @return true on success - */ - EXPORT bool getDeviceInfo(SMCInfo &info); - - /** - * Adds a key with given value to a key storage. - * Does nothing if given value is nullptr. - * - * @param key an SMC key - * @param data a key storage to add the key to - * @param val an SMC value for the given key - * - * @return true on success - */ - EXPORT bool addKey(SMC_KEY key, KeyStorage &data, VirtualSMCValue *val); - - /** - * Initializes the given value with the appropriate data. Creates new value if nullptr passed as thisValue. - * - * @param smcData a pointer to SMC_DATA to be used for the value. - * @param smcDataSize a size of given SMC_DATA. Cannot be 0. - * @param smcKeyType a key type to init value with. - * @param thisValue a pointer to VirtualSMCValue. Must always be heap-based, don't use address take operator (&). If nullptr passed an instance of VirtualSMCValue will be created for you. Defaults to nullptr. - * @param smcKeyAttrs a key attributes as SMC_KEY_ATTRIBUTES flags. Defaults to SMC_KEY_ATTRIBUTE_READ. - * @param serializeLevel a serialize level needed. Defaults to SerializeLevel::None. - * - * @return thisValue either passed or created new on success, nullptr if something went wrong. - */ - EXPORT VirtualSMCValue *valueWithData(const SMC_DATA *smcData, SMC_DATA_SIZE smcDataSize, SMC_KEY_TYPE smcKeyType, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None); - - /** - * Decode Apple SP signed fixed point fractional format - * - * @param type encoding type, e.g. SmcKeyTypeSp78 - * @param value value as it is read from SMC_DATA field - * - * @return floating point value - */ - EXPORT double decodeSp(uint32_t type, uint16_t value); - - /** - * Encode Apple SP signed fixed point fractional format - * - * @param type encoding type, e.g. SmcKeyTypeSp78 - * @param value source value - * - * @return value as it is to be written to SMC_DATA field - */ - EXPORT uint16_t encodeSp(uint32_t type, double value); - - /** - * Decode Apple FP unsigned fixed point fractional format - * - * @param type encoding type, e.g. SmcKeyTypeFp88 - * @param value value as it is read from SMC_DATA field - * - * @return floating point value - */ - EXPORT double decodeFp(uint32_t type, uint16_t value); - - /** - * Encode Apple FP unsigned fixed point fractional format - * - * @param type encoding type, e.g. SmcKeyTypeFp88 - * @param value source value - * - * @return value as it is to be written to SMC_DATA field - */ - EXPORT uint16_t encodeFp(uint32_t type, double value); - - /** - * Decode Apple float fractional format - * - * @param value value as it is read from SMC_DATA field - * - * @return floating point value - */ - inline float decodeFlt(uint32_t value) { - union { uint32_t u32; float f; } v {value}; - return v.f; - } - - /** - * Encode Apple float fractional format - * - * @param value source value - * - * @return value as it is to be written to SMC_DATA field - */ - inline uint32_t encodeFlt(float value) { - union { float f; uint32_t u32; } v {value}; - return v.u32; - } - - /** - * A convenient method for initializing flag type key value. - * - * @param flagValue a boolean true or false. - * @see VirtualSMCAPI::valueWithData - */ - inline VirtualSMCValue *valueWithFlag(bool flagValue, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None) { - return valueWithData(reinterpret_cast(&flagValue), sizeof(bool), SmcKeyTypeFlag, thisValue, smcKeyAttrs, serializeLevel); - } - - /** - * A convenient method for initializing Uint8 type key value. - * - * @param uint8Value an integer of 0..255 range. - * @see VirtualSMCAPI::valueWithData - */ - inline VirtualSMCValue *valueWithUint8(uint8_t uint8Value, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None) { - return valueWithData(reinterpret_cast(&uint8Value), sizeof(uint8_t), SmcKeyTypeUint8, thisValue, smcKeyAttrs, serializeLevel); - } - - /** - * A convenient method for initializing Sint16 type key value. - * - * @param int16Value an integer of -32767..32768 range. - * @see VirtualSMCAPI::valueWithData - */ - inline VirtualSMCValue *valueWithSint16(int16_t int16Value, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None) { - int16_t t = OSSwapHostToBigInt16(int16Value); - return valueWithData(reinterpret_cast(&t), sizeof(int16_t), SmcKeyTypeSint16, thisValue, smcKeyAttrs, serializeLevel); - } - - /** - * A convenient method for initializing Uint16 type key value. - * - * @param uint16Value an integer of 0..65535 range. - * @see VirtualSMCAPI::valueWithData - */ - inline VirtualSMCValue *valueWithUint16(uint16_t uint16Value, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None) { - uint16_t t = OSSwapHostToBigInt16(uint16Value); - return valueWithData(reinterpret_cast(&t), sizeof(uint16_t), SmcKeyTypeUint16, thisValue, smcKeyAttrs, serializeLevel); - } - - /** - * A convenient method for initializing Sint32 type key value. - * - * @param int32Value an integer of –2147483648..2147483647 range. - * @see VirtualSMCAPI::valueWithData - */ - inline VirtualSMCValue *valueWithSint32(int32_t int32Value, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None) { - int32_t t = OSSwapHostToBigInt32(int32Value); - return valueWithData(reinterpret_cast(&t), sizeof(int32_t), SmcKeyTypeSint32, thisValue, smcKeyAttrs, serializeLevel); - } - - /** - * A convenient method for initializing uint32_t type key value. - * - * @param uint32Value an integer of 0..4294967295 range. - * @see VirtualSMCAPI::valueWithData - */ - inline VirtualSMCValue *valueWithUint32(uint32_t uint32Value, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None) { - uint32_t t = OSSwapHostToBigInt32(uint32Value); - return valueWithData(reinterpret_cast(&t), sizeof(uint32_t), SmcKeyTypeUint32, thisValue, smcKeyAttrs, serializeLevel); - } - - /** - * A convenient method for initializing spXX key value - * - * @param value floating point value - * @param type Apple sp type (see encodeSp) - * @see VirtualSMCAPI::valueWithData - */ - inline VirtualSMCValue *valueWithSp(double value, SMC_KEY_TYPE spType, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None) { - auto e = encodeSp(spType, value); - return valueWithData(reinterpret_cast(&e), sizeof(e), spType, thisValue, smcKeyAttrs, serializeLevel); - } - - /** - * A convenient method for initializing fpXX key value - * - * @param value floating point value - * @param type Apple fp type (see encodeFp) - * @see VirtualSMCAPI::valueWithData - */ - inline VirtualSMCValue *valueWithFp(double value, SMC_KEY_TYPE fpType, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None) { - auto e = encodeFp(fpType, value); - return valueWithData(reinterpret_cast(&e), sizeof(e), fpType, thisValue, smcKeyAttrs, serializeLevel); - } - - /** - * A convenient method for initializing flt key value - * - * @param value floating point value - * @see VirtualSMCAPI::valueWithData - */ - inline VirtualSMCValue *valueWithFlt(float value, VirtualSMCValue *thisValue = nullptr, SMC_KEY_ATTRIBUTES smcKeyAttrs = SMC_KEY_ATTRIBUTE_READ, SerializeLevel serializeLevel = SerializeLevel::None) { - auto e = encodeFlt(value); - return valueWithData(reinterpret_cast(&e), sizeof(e), SmcKeyTypeFloat, thisValue, smcKeyAttrs, serializeLevel); - } -} - -#endif /* kern_vsmcapi_hpp */