|
PAPI 7.1.0.0
|

Go to the source code of this file.
Data Structures | |
| struct | p4_regmap_t |
Macros | |
| #define | _GNU_SOURCE /* for getline */ |
| #define | P4_REGMAP(a, n) { .addr = a, .name = n } |
| #define | PMC_PEBS_MATRIX_VERT 63 |
| #define | PMC_PEBS_ENABLE 64 |
| #define | P4_REPLAY_REAL_MASK 0x00000003 |
| #define | P4_REPLAY_VIRT_MASK 0x00000FFC |
Functions | |
| static int | pentium4_get_event_code (unsigned int event, unsigned int pmd, int *code) |
| static char * | pentium4_get_event_name (unsigned int event) |
| static char * | pentium4_get_event_mask_name (unsigned int event, unsigned int mask) |
| static void | pentium4_get_event_counters (unsigned int event, pfmlib_regmask_t *counters) |
| static unsigned int | pentium4_get_num_event_masks (unsigned int event) |
| static int | pentium4_dispatch_events (pfmlib_input_param_t *input, void *model_input, pfmlib_output_param_t *output, void *model_output) |
| static int | pentium4_pmu_detect (void) |
| static void | pentium4_get_impl_pmcs (pfmlib_regmask_t *impl_pmcs) |
| static void | pentium4_get_impl_pmds (pfmlib_regmask_t *impl_pmds) |
| static void | pentium4_get_impl_counters (pfmlib_regmask_t *impl_counters) |
| static void | pentium4_get_hw_counter_width (unsigned int *width) |
| static int | pentium4_get_event_desc (unsigned int event, char **desc) |
| static int | pentium4_get_event_mask_desc (unsigned int event, unsigned int mask, char **desc) |
| static int | pentium4_get_event_mask_code (unsigned int event, unsigned int mask, unsigned int *code) |
| static int | pentium4_get_cycle_event (pfmlib_event_t *e) |
| static int | pentium4_get_inst_retired (pfmlib_event_t *e) |
Variables | |
| static p4_regmap_t | p4_pmc_regmap [] |
| static p4_regmap_t | p4_pmd_regmap [] |
| static pentium4_replay_regs_t | p4_replay_regs [] |
| static int | p4_model |
| pfm_pmu_support_t | pentium4_support |
| #define _GNU_SOURCE /* for getline */ |
Definition at line 30 of file pfmlib_pentium4.c.
Definition at line 48 of file pfmlib_pentium4.c.
| #define P4_REPLAY_REAL_MASK 0x00000003 |
Definition at line 149 of file pfmlib_pentium4.c.
| #define P4_REPLAY_VIRT_MASK 0x00000FFC |
Definition at line 150 of file pfmlib_pentium4.c.
| #define PMC_PEBS_ENABLE 64 |
Definition at line 119 of file pfmlib_pentium4.c.
| #define PMC_PEBS_MATRIX_VERT 63 |
Definition at line 118 of file pfmlib_pentium4.c.
|
static |
pentium4_dispatch_events
Examine each desired event specified in "input" and find an appropriate ESCR/CCCR pair that can be used to count them.
Definition at line 317 of file pfmlib_pentium4.c.

|
static |
Definition at line 689 of file pfmlib_pentium4.c.
pentium4_get_event_code
Return the event-select value for the specified event as needed for the specified PMD counter.
Definition at line 196 of file pfmlib_pentium4.c.
|
static |
pentium4_get_event_counters
Fill in the 'counters' bitmask with all possible PMDs that could be used to count the specified event.
Definition at line 271 of file pfmlib_pentium4.c.

pentium4_get_event_desc
Return the description for the specified event (if it has one).
FIXME: In this routine, we make a copy of the description string to return. But in get_event_name(), we just return the string directly. Why the difference?
Definition at line 654 of file pfmlib_pentium4.c.
|
static |
Definition at line 681 of file pfmlib_pentium4.c.
|
static |
pentium4_get_event_mask_desc
Return the description for the specified event-mask (if it has one).
Definition at line 670 of file pfmlib_pentium4.c.
pentium4_get_event_mask_name
Return the name of the specified event-mask.
Definition at line 257 of file pfmlib_pentium4.c.
|
static |
pentium4_get_event_name
Return the name of the specified event.
Definition at line 247 of file pfmlib_pentium4.c.
|
static |
pentium4_get_hw_counter_width
Return the number of usable bits in the PMD counters.
Definition at line 640 of file pfmlib_pentium4.c.
|
static |
pentium4_get_impl_counters
Set the appropriate bit in the impl_counters bitmask for each counter that's available on Pentium4.
For now, all PMDs are counters, so just call get_impl_pmds().
Definition at line 630 of file pfmlib_pentium4.c.

|
static |
pentium4_get_impl_pmcs
Set the appropriate bit in the impl_pmcs bitmask for each PMC that's available on Pentium4.
FIXME: How can we detect when HyperThreading is enabled?
Definition at line 589 of file pfmlib_pentium4.c.

|
static |
pentium4_get_impl_pmds
Set the appropriate bit in the impl_pmcs bitmask for each PMD that's available on Pentium4.
FIXME: How can we detect when HyperThreading is enabled?
Definition at line 613 of file pfmlib_pentium4.c.


|
static |
Definition at line 699 of file pfmlib_pentium4.c.
pentium4_get_num_event_masks
Count the number of available event-masks for the specified event. All valid masks in pentium4_events[].event_masks are contiguous in the array and have a non-NULL name.
Definition at line 301 of file pfmlib_pentium4.c.
|
static |
pentium4_pmu_detect
Determine whether the system we're running on is a Pentium4 (or other CPU that uses the same PMU).
Definition at line 544 of file pfmlib_pentium4.c.

|
static |
Definition at line 188 of file pfmlib_pentium4.c.
|
static |
Definition at line 50 of file pfmlib_pentium4.c.
|
static |
Definition at line 121 of file pfmlib_pentium4.c.
|
static |
Definition at line 152 of file pfmlib_pentium4.c.
| pfm_pmu_support_t pentium4_support |
pentium4_support
Definition at line 720 of file pfmlib_pentium4.c.