freebsd-nq/sys/dev/hwpmc
Joseph Koshy 0cfab8ddc1 - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo
and Core Duo), models 0xF (Core2), model 0x17 (Core2Extreme) and
  model 0x1C (Atom).

  In these CPUs, the actual numbers, kinds and widths of PMCs present
  need to queried at run time.  Support for specific "architectural"
  events also needs to be queried at run time.

  Model 0xE CPUs support programmable PMCs, subsequent CPUs
  additionally support "fixed-function" counters.

- Use event names that are close to vendor documentation, taking in
  account that:
  - events with identical semantics on two or more CPUs in this family
    can have differing names in vendor documentation,
  - identical vendor event names may map to differing events across
    CPUs,
  - each type of CPU supports a different subset of measurable
    events.

  Fixed-function and programmable counters both use the same vendor
  names for events.  The use of a class name prefix ("iaf-" or
  "iap-" respectively) permits these to be distinguished.

- In libpmc, refactor pmc_name_of_event() into a public interface
  and an internal helper function, for use by log handling code.

- Minor code tweaks: staticize a global, freshen a few comments.

Tested by:	gnn
2008-11-27 09:00:47 +00:00
..
hwpmc_amd.c Correct an indexing error (a change missed out in #184802). 2008-11-15 10:56:36 +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 - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo 2008-11-27 09:00:47 +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 PMCs in Intel CPUs of Family 6, model 0xE (Core Solo 2008-11-27 09:00:47 +00:00
hwpmc_logging.c - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo 2008-11-27 09:00:47 +00:00
hwpmc_mod.c - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo 2008-11-27 09:00:47 +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 Introduce cpu_vendor_id and replace a lot of strcmp(cpu_vendor, "..."). 2008-11-26 19:25:13 +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 Introduce cpu_vendor_id and replace a lot of strcmp(cpu_vendor, "..."). 2008-11-26 19:25:13 +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 Introduce cpu_vendor_id and replace a lot of strcmp(cpu_vendor, "..."). 2008-11-26 19:25:13 +00:00
pmc_events.h - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo 2008-11-27 09:00:47 +00:00