Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Sep 2003 17:47:06 +0000
From:      Sergey "DoubleF" Zaharchenko <doublef@tele-kom.ru>
To:        Shill <devnull@kma.eu.org>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Why is PCE not set in CR4?
Message-ID:  <20030930174706.7d221d56.doublef@tele-kom.ru>
In-Reply-To: <3F78AFAB.40806@kma.eu.org>
References:  <3F78AFAB.40806@kma.eu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--aV(=.m/AdMSH4k1E
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Tue, 30 Sep 2003 00:18:19 +0200 Shill <devnull@kma.eu.org> probably wrote:

> Hello all,
> 
> I've been playing with my Athlon's timestamp counter for a while,
> and I would like to experiment with the performance-monitoring
> counters now.
> 
> I can execute the RDTSC instruction from ring 3 because the TSD
> (TimeStamp Disable) bit in CR4 (Control Register 4) is cleared.
> 
> However, I am not allowed to use the RDPMC instruction from ring 3
> because the PCE (Performance-monitoring Counters Enable) bit is not set.

You can do it with /dev/perfmon. man 4 perfmon.

> Is there a reason (security? performance? other?) why FreeBSD does
> not set PCE at boot time?
>
> On a related subject, is there a way for a kernel module to catch a
> general-protection fault caused by an application trying to execute
> RDMSR or WRMSR, and have the kernel module execute the instruction
> for the application? Or is it cleaner to register two new system
> calls to achieve the same thing?

That would (probably) require adding superuser-configurable permissions
to read/write to a specific MSR, as some of them are critical. I doubt
it's worth creating extra device nodes, and I wonder if there's a
"cleaner" way to do that. 

-- 
DoubleF
The simpler the instruction, e.g. "press here", the
more difficult it will be to open the package.

--aV(=.m/AdMSH4k1E
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQE/ecGpwo7hT/9lVdwRAvcFAJwPdjioS+oR6wdSyB+fY+v63rb1iwCfe/eR
q60GRfli1FzQwx2E1ufS4ls=
=zHDs
-----END PGP SIGNATURE-----

--aV(=.m/AdMSH4k1E--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030930174706.7d221d56.doublef>