VOGONS


First post, by i386

User metadata
Rank Newbie
Rank
Newbie

Hi all!

I want to present the new version of my old utility CPUCTL.EXE, that initially was written in 2016 year.
This program has been made for read and modify CPU MSR registers under DOS. It sometimes used for
tuning modern CPU (for example, make it more slowest in DOS enviromment), hardware investigation,
BIOS modifications, etc.

Utility command keys:
1. CPUCTL R reg32 - just to read one MSR number reg32

2. (NEW!) CPUCTL R reg32 reg32end - show MSR's registers list, begin
from reg32, end at reg32end (MSR dump). If any MSR registers in dumping
interval doesn't exist, appropriate strings just will be not appeared.
Dump a lot of MSR group can be take a long time, for interrupt just press
any key on keyboard.

3. CPUCTL W reg32 val64 - just write MSR reg32 with val64

4. CPUCTL WA reg32 val64 - write MSR reg32 with logical AND
old MSR value with new val64

5. CPUCTL WO reg32 val64 - write MSR reg32 with logical OR
old MSR value with new val64

6. CPUCTL WX reg32 val64 - write MSR reg32 with logical XOR
old MSR value with new val64

7. CPUCTL WM reg32 val64 - write MSR reg32 with mask in val64.
Another words - do not touch hex digits in old MSR value,
that were labeled as '*'

8. If we print WD instead W, then interrupts and all CPU caches
will be disabled during writting new value to MSR

Warning - a lot of MSR bits can be write only, read only or can not
be modify. Please see to Intel documentation. Changing MSRs may be
result hanging your system or unpredictional CPU behaviour. Please
be care with registers that set multiplier and voltage!

Program was writen with old Microsoft DOS C and Assembler compilers -
- MASM5.1 and MSC 5.1. Source also included in attachment.

Attachments

  • Filename
    CPU200R.ZIP
    File size
    15.75 KiB
    Downloads
    38 downloads
    File license
    Public domain