Switch from WinRing0 to PawnIO for low level IO (SMBus, Super IO) on Windows
This branch switches out the WinRing0 driver, which has come under fire for security issues after being flagged by Windows Defender, with a new driver called PawnIO. PawnIO uses signed binary modules (the source for which is tracked by the PawnIO repository) for each SMBus controller platform as well as Super IO access. Use of PawnIO requires running OpenRGB as administrator.
At this point, the PIIX4 (AMD) and i801 (Intel) SMBus controllers are implemented, including the aux bus on AMD used for certain motherboards. However, before this can be merged, we need a Nuvoton NCT6793D SMBus controller written for PawnIO. With that driver written, PawnIO will be at feature parity with the existing WinRing0 implementation and we can switch over.
I've started working on an NCT6793 driver for PawnIO here: