Robert, Patch applied. Thanks.
On Fri, Feb 27, 2009 at 4:39 PM, Robert Richter <robert.rich...@amd.com> wrote: > This patch updates revision flags and descriptions of some events. No > major changes, just an update mainly for the K8: > > BIOS and Kernel Developer's Guide, #26094, Revision: 3.30 > BIOS and Kernel Developer's Guide, #32559, Revision: 3.12 > > Signed-off-by: Robert Richter <robert.rich...@amd.com> > --- > lib/amd64_events_fam10h.h | 8 +++++++- > lib/amd64_events_k8.h | 45 > +++++++++++++++++++++++++++++++++++++-------- > lib/pfmlib_amd64_priv.h | 3 +++ > 3 files changed, 47 insertions(+), 9 deletions(-) > > diff --git a/lib/amd64_events_fam10h.h b/lib/amd64_events_fam10h.h > index 9f14fac..be893a2 100644 > --- a/lib/amd64_events_fam10h.h > +++ b/lib/amd64_events_fam10h.h > @@ -438,7 +438,7 @@ static pme_amd64_entry_t amd64_fam10h_pe[]={ > .pme_code = 0x45, > .pme_desc = "L1 DTLB Miss and L2 DTLB Hit", > .pme_flags = PFMLIB_AMD64_UMASK_COMBO, > - .pme_numasks = 4, > + .pme_numasks = 5, > .pme_umasks = { > { .pme_uname = "L2_4K_TLB_HIT", > .pme_udesc = "L2 4K TLB hit", > @@ -448,6 +448,11 @@ static pme_amd64_entry_t amd64_fam10h_pe[]={ > .pme_udesc = "L2 2M TLB hit", > .pme_ucode = 0x02, > }, > + { .pme_uname = "ALL", > + .pme_udesc = "All sub-events selected", > + .pme_ucode = 0x03, > + .pme_uflags = PFMLIB_AMD64_TILL_FAM10H_REV_B, > + }, > { .pme_uname = "L2_1G_TLB_HIT", > .pme_udesc = "L2 1G TLB hit", > .pme_ucode = 0x04, > @@ -456,6 +461,7 @@ static pme_amd64_entry_t amd64_fam10h_pe[]={ > { .pme_uname = "ALL", > .pme_udesc = "All sub-events selected", > .pme_ucode = 0x07, > + .pme_uflags = PFMLIB_AMD64_FAM10H_REV_C, > }, > }, > }, > diff --git a/lib/amd64_events_k8.h b/lib/amd64_events_k8.h > index d5b2413..c969537 100644 > --- a/lib/amd64_events_k8.h > +++ b/lib/amd64_events_k8.h > @@ -38,6 +38,12 @@ > * 0Fh Processors, Publication # 32559, Revision: 3.08, Issue Date: > * July 2007 > * > + * Feb 26 2009 -- Robert Richter, robert.rich...@amd.com > + * > + * Updates and fixes of some revision flags and descriptions according > + * to these documents: > + * BIOS and Kernel Developer's Guide, #26094, Revision: 3.30 > + * BIOS and Kernel Developer's Guide, #32559, Revision: 3.12 > */ > > static pme_amd64_entry_t amd64_k8_pe[]={ > @@ -489,19 +495,26 @@ static pme_amd64_entry_t amd64_k8_pe[]={ > .pme_code = 0x7F, > .pme_desc = "L2 Fill/Writeback", > .pme_flags = PFMLIB_AMD64_UMASK_COMBO, > - .pme_numasks = 3, > + .pme_numasks = 4, > .pme_umasks = { > { .pme_uname = "L2_FILLS", > .pme_udesc = "L2 fills (victims from L1 caches, TLB page > table walks and data prefetches)", > .pme_ucode = 0x01, > }, > + { .pme_uname = "ALL", > + .pme_udesc = "All sub-events selected", > + .pme_ucode = 0x01, > + .pme_uflags = PFMLIB_AMD64_TILL_K8_REV_E, > + }, > { .pme_uname = "L2_WRITEBACKS", > .pme_udesc = "L2 Writebacks to system.", > .pme_ucode = 0x02, > + .pme_uflags = PFMLIB_AMD64_K8_REV_F, > }, > { .pme_uname = "ALL", > .pme_udesc = "All sub-events selected", > .pme_ucode = 0x03, > + .pme_uflags = PFMLIB_AMD64_K8_REV_F, > }, > }, > }, > @@ -603,7 +616,7 @@ static pme_amd64_entry_t amd64_k8_pe[]={ > }, > /* 52 */{.pme_name = "RETIRED_MMX_AND_FP_INSTRUCTIONS", > .pme_code = 0xCB, > - .pme_desc = "Retired MMX Instructions", > + .pme_desc = "Retired MMX/FP Instructions", > .pme_flags = PFMLIB_AMD64_UMASK_COMBO, > .pme_numasks = 5, > .pme_umasks = { > @@ -864,24 +877,28 @@ static pme_amd64_entry_t amd64_k8_pe[]={ > /* 78 */{.pme_name = "THERMAL_STATUS_AND_ECC_ERRORS", > .pme_code = 0xE8, > .pme_desc = "Thermal Status and ECC Errors", > - .pme_flags = PFMLIB_AMD64_UMASK_COMBO, > - .pme_numasks = 6, > + .pme_flags = PFMLIB_AMD64_UMASK_COMBO | PFMLIB_AMD64_K8_REV_E, > + .pme_numasks = 7, > .pme_umasks = { > { .pme_uname = "CLKS_CPU_ACTIVE", > .pme_udesc = "Number of clocks CPU is active when HTC is > active", > .pme_ucode = 0x01, > + .pme_uflags = PFMLIB_AMD64_K8_REV_F, > }, > { .pme_uname = "CLKS_CPU_INACTIVE", > .pme_udesc = "Number of clocks CPU clock is inactive when > HTC is active", > .pme_ucode = 0x02, > + .pme_uflags = PFMLIB_AMD64_K8_REV_F, > }, > { .pme_uname = "CLKS_DIE_TEMP_TOO_HIGH", > - .pme_udesc = "Number of clocks when die temperature is > higher than the software high temperature", > + .pme_udesc = "Number of clocks when die temperature is > higher than the software high temperature threshold", > .pme_ucode = 0x04, > + .pme_uflags = PFMLIB_AMD64_K8_REV_F, > }, > { .pme_uname = "CLKS_TEMP_THRESHOLD_EXCEEDED", > .pme_udesc = "Number of clocks when high temperature > threshold was exceeded", > .pme_ucode = 0x08, > + .pme_uflags = PFMLIB_AMD64_K8_REV_F, > }, > { .pme_uname = "DRAM_ECC_ERRORS", > .pme_udesc = "Number of correctable and Uncorrectable DRAM > ECC errors", > @@ -889,7 +906,13 @@ static pme_amd64_entry_t amd64_k8_pe[]={ > }, > { .pme_uname = "ALL", > .pme_udesc = "All sub-events selected", > + .pme_ucode = 0x80, > + .pme_uflags = PFMLIB_AMD64_TILL_K8_REV_E, > + }, > + { .pme_uname = "ALL", > + .pme_udesc = "All sub-events selected", > .pme_ucode = 0x8F, > + .pme_uflags = PFMLIB_AMD64_K8_REV_F, > }, > }, > }, > @@ -984,11 +1007,11 @@ static pme_amd64_entry_t amd64_k8_pe[]={ > .pme_ucode = 0x02, > }, > { .pme_uname = "POSTED_WRITE_BYTE", > - .pme_udesc = "Posted SzWr Byte (1-32 bytes) Sub-cache-line > DMA writes, size varies; also flushes of", > + .pme_udesc = "Posted SzWr Byte (1-32 bytes) Sub-cache-line > DMA writes, size varies; also flushes of partially-filled Write Combining > buffer", > .pme_ucode = 0x04, > }, > { .pme_uname = "POSTED_WRITE_DWORD", > - .pme_udesc = "Posted SzWr Dword (1-16 dwords) > Block-oriented DMA writes, often cache-line sized; also", > + .pme_udesc = "Posted SzWr Dword (1-16 dwords) > Block-oriented DMA writes, often cache-line sized; also processor Write > Combining buffer flushes", > .pme_ucode = 0x08, > }, > { .pme_uname = "READ_BYTE_4_BYTES", > @@ -1013,7 +1036,7 @@ static pme_amd64_entry_t amd64_k8_pe[]={ > .pme_code = 0xEC, > .pme_desc = "Probe Responses and Upstream Requests", > .pme_flags = PFMLIB_AMD64_UMASK_COMBO, > - .pme_numasks = 8, > + .pme_numasks = 9, > .pme_umasks = { > { .pme_uname = "MISS", > .pme_udesc = "Probe miss", > @@ -1039,6 +1062,11 @@ static pme_amd64_entry_t amd64_k8_pe[]={ > .pme_udesc = "Upstream non-display refresh reads", > .pme_ucode = 0x20, > }, > + { .pme_uname = "ALL", > + .pme_udesc = "All sub-events selected", > + .pme_ucode = 0x3F, > + .pme_uflags = PFMLIB_AMD64_TILL_K8_REV_C, > + }, > { .pme_uname = "UPSTREAM_WRITES", > .pme_udesc = "Upstream writes", > .pme_ucode = 0x40, > @@ -1047,6 +1075,7 @@ static pme_amd64_entry_t amd64_k8_pe[]={ > { .pme_uname = "ALL", > .pme_udesc = "All sub-events selected", > .pme_ucode = 0x7F, > + .pme_uflags = PFMLIB_AMD64_K8_REV_D, > }, > }, > }, > diff --git a/lib/pfmlib_amd64_priv.h b/lib/pfmlib_amd64_priv.h > index ccf3f8d..7b300f0 100644 > --- a/lib/pfmlib_amd64_priv.h > +++ b/lib/pfmlib_amd64_priv.h > @@ -95,9 +95,12 @@ static const char *amd64_cpu_strs[] = { > #define PFMLIB_AMD64_FROM_REV(rev) ((rev)<<8) > #define PFMLIB_AMD64_TILL_REV(rev) ((rev)<<16) > #define PFMLIB_AMD64_NOT_SUPP 0x1ff00 > +#define PFMLIB_AMD64_TILL_K8_REV_C PFMLIB_AMD64_TILL_REV(AMD64_K8_REV_C) > #define PFMLIB_AMD64_K8_REV_D PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_D) > #define PFMLIB_AMD64_K8_REV_E PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_E) > +#define PFMLIB_AMD64_TILL_K8_REV_E PFMLIB_AMD64_TILL_REV(AMD64_K8_REV_E) > #define PFMLIB_AMD64_K8_REV_F PFMLIB_AMD64_FROM_REV(AMD64_K8_REV_F) > +#define PFMLIB_AMD64_TILL_FAM10H_REV_B > PFMLIB_AMD64_TILL_REV(AMD64_FAM10H_REV_B) > #define PFMLIB_AMD64_FAM10H_REV_C > PFMLIB_AMD64_FROM_REV(AMD64_FAM10H_REV_C) > #define PFMLIB_AMD64_TILL_FAM10H_REV_C > PFMLIB_AMD64_TILL_REV(AMD64_FAM10H_REV_C) > #define PFMLIB_AMD64_FAM10H_REV_D > PFMLIB_AMD64_FROM_REV(AMD64_FAM10H_REV_D) > -- > 1.6.1.3 > > > ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel