[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[exelist] RDTSC on AMD



 	Hi all!
This letter maybe doesn't belong to this list.. but it's not so long.

 I've found on ROSE's egroups page ROSEDIAG and wanted to run
it on my AMD. Real mode good, QEMM good,
but Win95 and EMM386 crashed (resp. hung).

 The bug is in RDTSC instruction. On AMD is RDTSC (and maybe
RDPMC too, I can't test it) "totaly" privileged. It means it can be executed without
emulation only on CPL0 or under real mode EVEN if is TSD 0 (bit in CR4)
(resp. PCE 1).
 In other words: AMD behaves like Intel with TSD permanently set to 1
(resp. PCE to 0).

 In archive is emulator for Win9x and primitive MSR read/write utils.


EliCZ


AMD bugs I've found:
1. Setting DR6 bits is not exactly the same as on Intel   (doesn't matter)
2. K6 DRx bug (may matter when you're using a debugger)
3. 0F1h opcode doesn't cause exception 1 (doesn't matter, because it's undocummented)
4. RDTSC is privileged
..






------------------------------------------------------------------------
eGroup home: http://www.eGroups.com/list/exelist
Free Web-based e-mail groups by eGroups.com

Attachment: 2MSR.zip
Description: Zip compressed data