I'm writing an application which reports back readings from CPU temperature sensors, and the fan speed monitor. However, according to the Intel documentation on PECI, the instructions required must be run in ring 0 mode, i.e. kernel mode, or an exception is thrown.
I encountered code online to transition from protected mode to kernel mode, but none from user to kernel mode, and I read it was forbidden by the kernel. Is there a work around, hopefully that does not require patching the kernel, to allow a program initially in user mode to run as kernel mode?