Why is PCE not set in CR4?

Grumble invalid at kma.eu.org
Thu Oct 2 06:00:05 PDT 2003


>>> 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




More information about the freebsd-hackers mailing list