CPU temp/voltage monitor redux

Hello everyone,

I am an utter neophyte WRT driver development (my DDK has still training wheels on it, but I did throw the bell away…) and I know that this subject has been batted around before, but I need much more help.

One of my current projects is to write a hardware monitor for an SBC with a VIA 686B Southbridge, running XP. The user side of this needs to be implemented along the lines of a drop in function for our application code, so we’re not interested in things like SpeedFan, etc. Correct me if I’m wrong, but it appears that the temperatures and voltages are stored in various registers on the southbridge, and access is by writing the proper BDF to the config register (0xcf8) and reading the result in the data space register (0xcfc).

I think I know enough that pci.sys is the driver for this device, which is device 7, on bus 0. I also think that I know that I can only access the config space to the chipset by using the method outlined in MS’s KB253232 (with a bus interface and calls to SetBusData and GetBusData). Now I’m certainly in the dark.

The Microsoft’s example code outlines a driver function that takes a PDEVICE_OBJECT as an IN argument. Should I get this from IoGetDeviceObjectPointer, and if so, what might the device name be, L"PCI" perhaps?

I have many more questions, but since I am probably off in far left field I’ll wait for some course corrections.

I think that ACPI IOCTLs can help.


Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

wrote in message news:xxxxx@ntdev…
> Hello everyone,
>
> I am an utter neophyte WRT driver development (my DDK has still training
wheels on it, but I did throw the bell away…) and I know that this subject
has been batted around before, but I need much more help.
>
> One of my current projects is to write a hardware monitor for an SBC with a
VIA 686B Southbridge, running XP. The user side of this needs to be implemented
along the lines of a drop in function for our application code, so we’re not
interested in things like SpeedFan, etc. Correct me if I’m wrong, but it
appears that the temperatures and voltages are stored in various registers on
the southbridge, and access is by writing the proper BDF to the config register
(0xcf8) and reading the result in the data space register (0xcfc).
>
> I think I know enough that pci.sys is the driver for this device, which is
device 7, on bus 0. I also think that I know that I can only access the config
space to the chipset by using the method outlined in MS’s KB253232 (with a bus
interface and calls to SetBusData and GetBusData). Now I’m certainly in the
dark.
>
> The Microsoft’s example code outlines a driver function that takes a
PDEVICE_OBJECT as an IN argument. Should I get this from
IoGetDeviceObjectPointer, and if so, what might the device name be, L"PCI"
perhaps?
>
> I have many more questions, but since I am probably off in far left field
I’ll wait for some course corrections.
>
>
>