- Corrected the timeout unit from nano to second to fix the memory leak
- Added missing semicolon
- Fixed the type casting issue for buffer in readFileAsBytes()
- Attempt to fix the memory leak in readFileAsBytes()
- Renamed CPUTune.kext to CPUTuneCore.kext
- Fixed a kernel panic when resart the timer in readConfigAtRuntime()
- Fixed return status in start()
- Reverted to less aggressive MSR writters with null pointer protection
- Removed redudant log in setIfNotEqual
- Fixed some nits
- Protected against null pointer
- Fixed the readConfigAtRuntime read and set logic (use setIfNotEqual)
- Added Base to know region as new Xcode
- Fixed the kernel panic at boostrap due to write log to filesystem
- Fixed a kernel panic that reads MSR_IA32_HWP_REQUEST on CPUs unsupport HWP
- Fixed the NVRAM log string buffer
- Add version info for CPUTune; rename readFileNBytes to readFileAsBytes
- Add line number, better code style for LOG and DBGLOG
- Better logging with function name, more readable
- Fixed timer sounce timeout in
CPUTune::start
- Introduce
DBGLOG()
macro to reduce the log noise - Rename
myLOG()
toLOG()
- Remove unused header in CPUInfo's header; bump to the right version
- Check turbo rate limit RW/RO before writting to MSR
- Fix memory leak by freeing buffer after use
- Tune turbo ratio limit at runtime when turbo is enabled
- Make code cleaner and shorter, remove unnecessary
initKextPreferences()
- Make update timeout configurable so that we have a more looser/tigher control over the HWP request
- Move the
initKextPreferences()
up toCPUTune::init()
- Decouple HWP information to
CPUInfo
- Support no
0x/0X
prefix hexadecimal constant (e.g. 0x800d3008 as 800d3008)
- Verify and surface invalid HWP request properly
- Major release, fix logging in current value after
setIfNotEqual()
- Introduce HWP request at runtime
- Avoid construct objects twice
- Remove useless const qualifier + improved code style
- Added init/restore for
BD_PROCHOT
- Unified the log output for PROCHOT and use
setIfNotEqual()
- Fixed a bug in
readConfigAtRuntime
which was not restoring ProcHot correctly when coming out of sleep mode
- Fixed the return type of the
setIfNotEqual()
- Simplify writing logic to MSR
- Avoid dynamic allocation for CPUInfo and SIPTune, which avoid indefine blocking in kernel space + avoid memory leak
- Use type anotation
- More accurate logging for non-exist propreties in NVRAM
- Supports
BD_PROCHOT
signal on Intel CPU credits @christophe-duc - Update README.md
- Resolve linkage issue for kernel major/minor
- NVRAM protection
- Supported macOS Catalina
- Updated cpu info to
xnu-4903.221.2
- Updated csr header to
xnu-4903.221.2
- Simplify the enable if-condition
- Removed unused variables
- Corrected
writeBufferToFile()
return type
- Regularly checks profiles
- Allowed SIP control a bit easier via Info.plist tunning instead of reboot to recovery mode on a real mac
- Simplify memory deallocate code blocks via deleter routine
- Fixed compatible issues (supported OS X Mountain Lion and Xcode 3.2)
- Fixed code logic of HWP Enable, details can be found here
- Implemented Timer Event based feature for dynamic control CPU Performance at runtime
- CPUInfo to detect cpu information
- Implemented write logs to file
- Boot arguments check
- Unsupported version check
- Fixed memeory leak
- Fixed enableTurboBoost().
- Initial release