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>