Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 02 Oct 2003 14:57:03 +0200
From:      Grumble <invalid@kma.eu.org>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Why is PCE not set in CR4?
Message-ID:  <3F7C209F.7000205@kma.eu.org>

next in thread | raw e-mail | index | archive | help
>>> I have read the perfmon documentation and source code. For several 
>>> reasons, I do not think it is totally adequate in my situation.
>>
>> This is an extension to the i386_vm86() syscall which will let you turn
>> PCE on and off if you're the superuser.
> 
> Now that I think on this a bit more, a sysctl might be a better place to
> put this, but it seemed to belong with the i386_vm86() bits, rather than
> polluting initcpu.c right away.

Is vm86 related to virtual-8086 mode? Probably not... What does vm86 
stand for? Virtual machine?

> Mind you, if you're going to hack perfmon, perhaps putting this in initcpu
> isn't such a bad idea after all, with a loader tunable instead. That way
> perfmon can pickup on the tunable when attached by nexus during boot.

I am tempted to remove perfmon from the kernel, and write a kernel 
module for Athlon and another one for NetBurst.

Can a kernel module catch #UD (Invalid Opcode) and #GP (General 
Protection) exceptions generated from within the kernel module 
itself? Can I use sigaction(2)?

Can a kernel module catch a specific #GP exception generated from 
user land? Can I register a signal handler with sigaction(2)?

BTW, are performance-monitoring counters saved and restored on a 
context switch?

Shill




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F7C209F.7000205>