PDA

View Full Version : AMD: MSR C001_0104


Czernobyl
December 17th, 2010, 06:50
Interesting : MSR in subj accepts values in the interval 10h to 13h (inclusive). Out of bound values are adjusted to the nearest bound, 10 or 13, automatically !

Standard value = 11h. Other values disable IO port access ! Not too useful, but could be used on April's fool day.
Reads (IN instruction) return FF, writes (OUT...)have no effect...

Of course to test this, you'd rather clear the interrupt flag first, otherwise in effect you'll have rendered the machine all but deaf & dumb :=)

This is as seen on my K7, again, please go check your CPUs.

Do some of the regulars here get access to logical analysers or similar hardware tools ? It would be interesting to probe the CPU bus to further determine what happens when this MSR is not 11h.

BTW, anybody knows where to find the BIOS and kernel developer's guides for any revision of K7 ? For some reason, AMD made/makes available those pertaining to K6 on the one hand, K8 and over on the other hand, but not those for K7 procs

Have phun !

Czernobyl
December 20th, 2010, 06:15
Quote:
disable IO port access ! Not too useful...


Come to think about it, this could be advantageous in conjunction with the expanded debugging feature which allows breaking on any I/O (cf. my other posts and articles). Regular I/O breakpoints are traps in Intel parlance, that is, they occur only after the in or out operation is effected. With the addition of this new feature, you can capture any I/O attempt before the hardware is affected, examine and record the status and then decide whether or not to let the attempted operation complete (by toggling MSR C0010104 as part of the debug trap handler)