Reply 240 of 253, by kalohimal
Falcosoft wrote on 2024-03-25, 11:17:Overall the problem seems to be that the set routines always use 'hardware' P-state numbering but the select routines use 'software' P-state numbering. In case of older Phenoms and Thuban with disabled boost there is no difference between the 2 numbering systems. But with enabled boost on Thuban there is an offset (1) between the 2 numbering systems:
software_pstates.png
Well, it's not as what you speculated. The program had implemented both software and hardware p-state numbering. It first reads the PSTATE_STATUS msr (MSRC001_0063) to find out the current software p-state number (current_pstate). Then physical msr number = (MSRC001_0064 + number_of_boost_states + current_pstate). Then it checks whether current_pstate is 0, and if so, toggle the TSC bit in HWCR msr.
Slow down your CPU with CPUSPD for DOS retro gaming.