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

Reply via email to