This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: regarding privilege levels of pentium 4


--- Sven Eschenberg <eschenb@cs.uni-frankfurt.de>
wrote:

> Hi Ranjith,
> 
> I might be wrong on this, but I think the question
> is, if the Operating 
> System permits it or under which circumstances. It's
> neither a question 
> of what gcc or the hardware does, but what the OS
> you are using allows 
> to which processes.
Thanks. I am sending more details of my problem.

The OS I am using       : Linux.
The language in which the program is written : C(I am
attaching the program)
The compiler : gcc 3.2.3
Processor   : Pentium 4
I know password for root login. I logged in as root
and compiled my program. When compiled no errors were
reported. But when I run the program it simply shows
"Segmentation fault". 

My goal is to measure performance parameters (for
example the number of branch instructions that were
mispredicted), on Pentium 4, using "RDMSR" and "WRMSR"
instructions. Also I want to disble interrupts while
running my program.
The problem is that those instructions can be run only
at privilege level zero.

Can you help me.
Thanks.


> It might be, you need 'just' root priviledges, but
> I'd rather assume, 
> that you need to be within the kernel's context,
> since a cli command 
> endangers system stability (it could lead to a lock
> up) ...
> 
> Regards
> 
> -Sven
> 
> ranjith kumar wrote:
> >  Hi,
> >
> >
> >   How can we tell at what privilege level a
> program is
> > running.
> >   Is it possible to run a program at privilege
> level
> > 'zero' on a processor
> > like Pentium 4.
> >
> >    Actually I want to disable interrupts while
> running
> > my program. This
> > can be done by "cli" instruction. Using "asm
> inline"
> > feature of GCC, we
> > can include assembly instructions  in programs of
> C,
> > C++...etc.
> >
> >     But the problem is that "cli" instruction can
> be
> > executed only at
> > privilege level "zero".
> >
> > Can anyone  help me.
> >
> >
> >
> >
> > Thanking you.
> >
> >
> > 	
> > 	
> > 		
> >
>
___________________________________________________________
> 
> > All new Yahoo! Mail "The new Interface is stunning
> in its simplicity and ease of use." - PC Magazine 
> > http://uk.docs.yahoo.com/nowyoucan.html
> >   
> 
> 


	
	
		
___________________________________________________________ 
All new Yahoo! Mail "The new Interface is stunning in its simplicity and ease of use." - PC Magazine 
http://uk.docs.yahoo.com/nowyoucan.html
#include<stdio.h>
int main(void)
{
unsigned int p1;
asm volatile ("cli;");


asm volatile (" movl $0x300, %%ecx;"
"RDPMC;"
"movl %%eax, %0;"
:"=r"(p1)
:
:"%ecx","%edx","%eax");

printf("\n %u\n",p1);


asm volatile ("sti;");

}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]