Accessing SMX/TPM registers in Windows

Accessing SMX/TPM registers in Windows

I would like to do a measured launch in Windows.I have a Dell Optiplex 755 with TXT/VT-x/VT-d and the TPM enabled from BIOS. Also, I've installed the manufacturer drivers for the TPM and Q35 chipset. The VMX instructions work correctly as well as GETSEC. The GETSEC[CAPABILITIES] reports a compatible chipset. I can't, however, access the SMX or TPM registers.

According to the documentation, the SMX registers are memory mapped to 0xFED20000 - FED3FFFF and the TPM registers are mapped to 0xFED40000 - 0xFED4FFFF. These regions are listed as allocated resources in the Device Manager application, so the system is finding them.

I've tried read/writes tothe public SMX regs(0xFED30000)in assembly and the READ_REGISTER_XXX macros. Neither work. Even windbg can see anything in these ranges. What am I doing wrong? How do I access the SMX registers?

Thank you,


publicaciones de 2 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

You should be able to read the TXT public space registers (0xfed3xxxx) from a driver once you map them into your address space. I havent tried this under Windows myself, but I know of others who have.

In the case of the TPM, if you have a driver loaded then that may be preventing your access.

When you say that you are not able to read the registers, what exactly is the failure?

Deje un comentario

Por favor inicie sesión para agregar un comentario. ¿No es socio? Únase ya