Add Pawnio Driver as an alternative to WinRing0
Hi, I've implemented PIIX4 and i801 support using the PawnIO driver.
I don't daily drive Windows, so proper testing would be amazing!
There's some details on PawnIO in this LibreHardwareMonitor thread; but basically it aims to be a secure alternative to WinRing0, by running signed modules written in Pawn that then present ioctls to userspace, instead of directly exposing low level access to userspace like WinRing0. For example, for this PR I've written the SmbusPIIX4 and SmbusI801 modules, that are then signed by namazso (the creator of PawnIO) so his signed Windows driver can interpret them.
To run this you will need to install PawnIO separately; and at the moment I've disabled PawnIO if WinRing0 is loaded, to prevent duplicate I2C busses from appearing.
The code is more of a proof of concept rather than something I'm looking to get merged, so I'm looking forward to hearing everyone's thoughts on this.
Thanks, Steve