@@ -34,6 +34,49 @@ pcm-raw -e core/config=0x00000000004300c5,name=BR_MISP_RETIRED.ALL_BRANCHES -e c
3434```
35354 . View/process the csv file using your favorite method. For example just open it in Excel.
3636
37+ --------------------------------------------------------------------------------
38+ Collecting Register Values
39+ --------------------------------------------------------------------------------
40+
41+ pcm-raw supports collecting raw MSR and PCICFG (CSR) register values. The syntax is described below:
42+
43+ Model Specific Registers (MSRs):
44+
45+ ```
46+ package_msr/config=<msr_address>,config1=<static_or_freerun>[,name=<name>]
47+ ```
48+
49+ static_or_freerun encoding:
50+ * 0 : static (last value reported in csv)
51+ * 1 : freerun (delta to last value reported in csv)
52+
53+ Examples:
54+ ```
55+ package_msr/config=0x34,config1=0,name=SMI_COUNT
56+ thread_msr/config=0x10,config1=1,name=TSC_DELTA
57+ thread_msr/config=0x10,config1=0,name=TSC
58+ ```
59+
60+ If the name is not specified the first event will show up as package_msr:0x34: static , with the name it will show up as SMI_COUNT in csv.
61+
62+ PCI Configuration Registers - PCICFG (CSR):
63+
64+ ```
65+ pcicfg<width>/config=<dev_id>,config1=<offset>,config2=<static_or_freerun>[,name=<name>]
66+ ```
67+
68+ * width: register width in bits (16,32,64)
69+ * dev_id: Intel PCI device id where the register is located
70+ * offset: offset of the register
71+ * static_or_freerun: same syntax as for MSR registers
72+
73+ Example:
74+
75+ ```
76+ pcicfg32/config=0xe20,config1=0x180,config2=0x0,name=CHANERR_INT
77+ ```
78+ From: https://www.intel.la/content/dam/www/public/us/en/documents/datasheets/xeon-e7-v2-datasheet-vol-2.pdf
79+
3780--------------------------------------------------------------------------------
3881Collecting Events By Names From Event Lists (https://github.com/intel/perfmon/ )
3982--------------------------------------------------------------------------------
0 commit comments