www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/11/22/18:43:19

From: mlkessle AT cip DOT physik DOT uni-wuerzburg DOT de (Manuel Kessler)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: pentium RDMSR instruction
Date: 22 Nov 1996 14:16:13 GMT
Organization: CipPool der Physikalischen Institute, Uni Wuerzburg
Lines: 30
Message-ID: <574cjd$cq6@winx03.informatik.uni-wuerzburg.de>
References: <571ku3$gf1 AT news2 DOT noc DOT netcom DOT net> <5734kn$lnr AT troll DOT powertech DOT no>
NNTP-Posting-Host: wpax15.physik.uni-wuerzburg.de
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp


Ove Kaaven (ovek AT arcticnet DOT no) wrote:
:> mcarter@ wrote:
:> 
:> >I've got the new DJGPP binaries 2.7 for v2.1 and the assembler now recognizes
:> >Pentium instructions - great!  RDTSC works fine but RDMSR does not.  It gets 
:> >encoded as 0x0F,0x32 which is right but I get the following error when it is run:
:> 
:> >>Exiting due to signal SIGILL
:> >>Invalid Opcode at eip=00001581
:> 
:> I think RDMSR is a privileged instruction, and must be run from ring
:> 0. To use it, either your DPMI host must "simulate" it (not too
:> likely), or you must use a ring 0 host, e.g. cwsdpr0.
Some time ago I changed CWSDPMI to simulate the privileged RDMSR/WRMSR 
instructions even from ring 3. You can get the compiled version, sources
and diffs from my homepage (see below). But it works only if you don't
have emm386 or something similar active, because otherwise CWSDPMI can't
emulate because it runs itself in ring 3.
Hope this helps.
Ciao,
	Manuel

------------------------------------------------------------------------------
Manuel Kessler
Graduate Student at the University of Wuerzburg, Germany, Physics Department
SNAIL: Zeppelinstrasse 5, D-97074 Wuerzburg, Germany
EMAIL: mlkessle AT cip DOT physik DOT uni-wuerzburg DOT de
WWW: http://cip.physik.uni-wuerzburg.de/~mlkessle

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019