freebsd-dev/sys/dev/hwpmc
John Baldwin 21157ad3b1 Adjust the handling of the local APIC PMC interrupt vector:
- Provide lapic_disable_pmc(), lapic_enable_pmc(), and lapic_reenable_pmc()
  routines in the local APIC code that the hwpmc(4) driver can use to
  manage the local APIC PMC interrupt vector.
- Do not enable the local APIC PMC interrupt vector by default when
  HWPMC_HOOKS is enabled.  Instead, the hwpmc(4) driver explicitly
  enables the interrupt when it is succesfully initialized and disables
  the interrupt when it is unloaded.  This avoids enabling the interrupt
  on unsupported CPUs which may result in spurious NMIs.

Reported by:	rnoland
Reviewed by:	jkoshy
Approved by:	re (kib)
MFC after:	2 weeks
2009-08-14 21:05:08 +00:00
..
hwpmc_amd.c - Efficiency tweak: when checking for PMC overflows, only go to 2008-12-02 10:46:35 +00:00
hwpmc_amd.h - Separate PMC class dependent code from other kinds of machine 2008-11-09 17:37:54 +00:00
hwpmc_arm.c Unbreak LINT. 2008-11-22 12:34:49 +00:00
hwpmc_core.c Adjust the handling of the local APIC PMC interrupt vector: 2009-08-14 21:05:08 +00:00
hwpmc_core.h - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo 2008-11-27 09:00:47 +00:00
hwpmc_ia64.c Unbreak LINT. 2008-11-22 12:34:49 +00:00
hwpmc_intel.c - Add support for nehalem/corei7 cpus. This supports all of the core 2009-01-27 07:29:37 +00:00
hwpmc_logging.c Fix a LOR between pmc_sx and proctree/allproc when creating a new thread 2009-06-25 20:59:37 +00:00
hwpmc_mod.c Fix a LOR between pmc_sx and proctree/allproc when creating a new thread 2009-06-25 20:59:37 +00:00
hwpmc_pentium.c - Separate PMC class dependent code from other kinds of machine 2008-11-09 17:37:54 +00:00
hwpmc_pentium.h - Separate PMC class dependent code from other kinds of machine 2008-11-09 17:37:54 +00:00
hwpmc_piv.c Adjust the handling of the local APIC PMC interrupt vector: 2009-08-14 21:05:08 +00:00
hwpmc_piv.h - Separate PMC class dependent code from other kinds of machine 2008-11-09 17:37:54 +00:00
hwpmc_powerpc.c Unbreak LINT. 2008-11-22 12:34:49 +00:00
hwpmc_ppro.c Adjust the handling of the local APIC PMC interrupt vector: 2009-08-14 21:05:08 +00:00
hwpmc_ppro.h - Separate PMC class dependent code from other kinds of machine 2008-11-09 17:37:54 +00:00
hwpmc_sparc64.c Unbreak LINT. 2008-11-22 12:34:49 +00:00
hwpmc_tsc.c - Separate PMC class dependent code from other kinds of machine 2008-11-09 17:37:54 +00:00
hwpmc_tsc.h - Separate PMC class dependent code from other kinds of machine 2008-11-09 17:37:54 +00:00
hwpmc_x86.c Adjust the handling of the local APIC PMC interrupt vector: 2009-08-14 21:05:08 +00:00
pmc_events.h - Add support for nehalem/corei7 cpus. This supports all of the core 2009-01-27 07:29:37 +00:00