Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

SMC emulator layer

License

NotificationsYou must be signed in to change notification settings

cmd2001/VirtualSMC

 
 

Repository files navigation

Build StatusScan Status

Advanced Apple SMC emulator in the kernel. RequiresLilu for full functioning.

English (Current)
简体中文

Features

  • Supports macOS 10.4 and newer (10.9 and newer is recommended)
  • Implements MMIO protocol and interrupt-based responses for compatibility with modern OS
  • Properly reports key attributes and r/w protection in the keys
  • Allows tuning on per-model basis and allows to use different SMC generations
  • Extensible by the plugins for sensor and key addition support
  • Enablessmcdebug=XX boot argument support on 10.9
  • Replaces hardware SMC it finds (to disable SMC entirely you need to flash a dedicated firmware)

Boot arguments

  • Add-vsmcdbg to enable debug printing (available in DEBUG binaries).
  • Add-vsmcoff to switch off all the Lilu enhancements.
  • Add-vsmcbeta to enable Lilu enhancements on unsupported OS (14 and below are enabled by default).
  • Add-vsmcrpt to report about missing SMC keys to the system log.
  • Add-vsmccomp to prefer existing hardware SMC implementation if found.
  • Addvsmcgen=X to force exposing X-gen SMC device (1 and 2 are supported).
  • Addvsmchbkp=X to set HBKP dumping mode (0 - off, 1 - normal, 2 - without encryption).
  • Addvsmcslvl=X to set value serialisation level (0 - off, 1 - normal, 2 - with sensitive data (default)).
  • Addsmcdebug=0xff to enable AppleSMC debug information printing.
  • Addwatchdog=0 to disable WatchDog timer (if you get accidental reboots).

Credits

  • Apple for macOS
  • netkas for the original idea of creating a software SMC emulator
  • CupertinoNet for reversing most of MMIO protocol and SMC headers
  • Alex Ionescu for the initial reverse of SMC firmware
  • 07151129 for co-devoloping VirtualSMC and invaluable help during the research
  • lvs1974 for developing laptop sensor support
  • usr-sse2 for developing laptop sensor support
  • joedmru for developing Super I/O chips support
  • theopolis forsmc-fuzzer tool
  • kokke fortiny-AES-c
  • vit9696 forLilu.kext and this software
  • Additional big thanks go to all the contributors and researchers involved in Apple SMC exploration!

About

SMC emulator layer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++87.2%
  • C7.8%
  • Objective-C++2.8%
  • Shell0.9%
  • Assembly0.6%
  • Swift0.5%
  • Makefile0.2%

[8]ページ先頭

©2009-2025 Movatter.jp