I'm trying to find a device driver for WinNT/2000/XP that will allow me to SAFELY read/write from/to CMOS memory. I'm familiar with the 'giveio' driver which allows port I/O instructions to be executed under these operating systems, but using this approach might cause trouble (or so it seems) if an interrupt were to occur between outputting to port 0x70 and inputting from port 0x71.
I would like an approach which uses the HAL (hardware abstraction layer) to access the CMOS in a safe and "approved" manner. If possible, I'd like to find a ready-to-use device driver that will allow such access, but a source-code version (with 'build' and 'installation' instructions) would be acceptable. I'm willing to pay a modest amount of money for a ready-to-use driver, assuming that that driver can be included in my program(s) without any royalty payments.
Alternatively, I'd be happy if someone can convince me that the 'giveio' approach is safe under all normal circumstances (i.e. safe enought to incorporate into a program that is being shipped to a large number of users).