Как взаимодействовать с самодельными расширениями ядра OSX?
Я нашел следующее руководство по созданию расширения: https://developer.apple.com/library/mac/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptKEXT/kext_tutorial.html Это прекрасно работает, но я не смог найти способ отправки команд на мое расширение.
Было бы здорово, если бы кто-нибудь мог указать мне на пример :)
Или даже опубликовать минимальный пример :)
Почему я спрашиваю?
Я знаю, что почти все работает внутри пользовательского пространства. Поскольку приближается лето и температура в моей комнате под крышей становится все выше, мне очень больно видеть, как мой MacBook Air медленно выкипает. НО чем я наткнулся на этот github.com/nanoant/DisableTurboBoost.kext. Кажется, это работает. Но нет никакого способа включить или отключить по требованию, кроме ручной загрузки и выгрузки kext. Мне бы очень хотелось иметь маленькое приложение для отправки моему расширению команды для установки или отключения бита Turbo Boost.
И после сканирования http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf
я нашел много интересных функций для использования. Но я понятия не имею, как получить информацию, собранную из моего расширения... Не могли бы вы указать мне пример? Или полезная книга?
И поскольку только kext может использовать ядро Framework, у меня нет другого выбора, чтобы писать напрямую в регистры ЦП ... Или я?? Не могли бы вы указать мне пример? Или полезная книга?