Skip to content

Commit 6463c56

Browse files
committed
README: PMU: Optimize dts description
1. Delete the inaccurate event mapping PMU_HW_CACHE_REFERENCES, PMU_HW_CACHE_MISSES, DTLB_READ_MISS and ITLB_READ_MISS, because no CPU can provide them directly at present 2. Modify the inaccurate event mapping PMU_HW_BRANCH_INSTRUCTIONS and PMU_HW_BRANCH_MISSES, refer to C908 3. Modify the mask bitmap to 0x7fff8, because the CPU actually only supports 18 mhpmcounters 4. Fix BPU event value 5. The raw-event id mapping is optimized into one row, ranging from 0x0 to 0xff Signed-off-by: Chen Pei <cp0613@linux.alibaba.com>
1 parent 04afa56 commit 6463c56

1 file changed

Lines changed: 24 additions & 77 deletions

File tree

README.adoc

Lines changed: 24 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -377,19 +377,15 @@ vmlinux: The Linux kernel ELF file
377377

378378
The configuration of PMU can be referred to link:https://github.com/riscv-software-src/opensbi/blob/master/docs/pmu_support.md[OpenSBI SBI PMU extension]
379379

380-
The following is an example of PMU configuration for the Xuantie C-series CPU, which may need to be modified according to the datasheet during actual use.
380+
The following is an example of PMU configuration for the Xuantie C-series CPU written according to the datasheet.
381381
....
382382
pmu {
383383
compatible = "riscv,pmu";
384384
riscv,event-to-mhpmevent =
385-
/* PMU_HW_CACHE_REFERENCES -> ll_cache_read_access */
386-
<0x00003 0x00000000 0x00000010>,
387-
/* PMU_HW_CACHE_MISSES -> ll_cache_read_miss */
388-
<0x00004 0x00000000 0x00000011>,
389385
/* PMU_HW_BRANCH_INSTRUCTIONS -> inst_branch */
390-
<0x00005 0x00000000 0x00000007>,
386+
<0x00005 0x00000000 0x00000036>,
391387
/* PMU_HW_BRANCH_MISSES -> inst_branch_mispredict */
392-
<0x00006 0x00000000 0x00000006>,
388+
<0x00006 0x00000000 0x00000038>,
393389
/* PMU_HW_STALLED_CYCLES_FRONTEND -> ifu_stalled_cycle */
394390
<0x00008 0x00000000 0x00000027>,
395391
/* PMU_HW_STALLED_CYCLES_BACKEND -> idu_stalled_cycle */
@@ -414,80 +410,31 @@ pmu {
414410
<0x10012 0x00000000 0x00000012>,
415411
/* LL_WRITE_MISS -> ll_cache_write_miss */
416412
<0x10013 0x00000000 0x00000013>,
417-
/* DTLB_READ_MISS -> dtlb_miss */
418-
<0x10019 0x00000000 0x00000004>,
419-
/* ITLB_READ_MISS -> itlb_miss */
420-
<0x10021 0x00000000 0x00000003>,
421413
/* BPU_READ_ACCESS -> branch_direction_prediction */
422-
<0x10030 0x00000000 0x0000001c>,
414+
<0x10028 0x00000000 0x0000001c>,
423415
/* BPU_READ_MISS -> branch_direction_misprediction */
424-
<0x10031 0x00000000 0x0000001b>;
416+
<0x10029 0x00000000 0x0000001b>;
425417
riscv,event-to-mhpmcounters =
426-
<0x00003 0x00003 0xfffffff8>,
427-
<0x00004 0x00004 0xfffffff8>,
428-
<0x00005 0x00005 0xfffffff8>,
429-
<0x00006 0x00006 0xfffffff8>,
430-
<0x00007 0x00007 0xfffffff8>,
431-
<0x00008 0x00008 0xfffffff8>,
432-
<0x00009 0x00009 0xfffffff8>,
433-
<0x0000a 0x0000a 0xfffffff8>,
434-
<0x10000 0x10000 0xfffffff8>,
435-
<0x10001 0x10001 0xfffffff8>,
436-
<0x10002 0x10002 0xfffffff8>,
437-
<0x10003 0x10003 0xfffffff8>,
438-
<0x10008 0x10008 0xfffffff8>,
439-
<0x10009 0x10009 0xfffffff8>,
440-
<0x10010 0x10010 0xfffffff8>,
441-
<0x10011 0x10011 0xfffffff8>,
442-
<0x10012 0x10012 0xfffffff8>,
443-
<0x10013 0x10013 0xfffffff8>,
444-
<0x10019 0x10019 0xfffffff8>,
445-
<0x10021 0x10021 0xfffffff8>,
446-
<0x10030 0x10030 0xfffffff8>,
447-
<0x10031 0x10031 0xfffffff8>;
418+
/* The Xuantie processor only implements 18 mhpmcounters, so the bitmap is 0x7fff8 */
419+
<0x00005 0x00005 0x7fff8>,
420+
<0x00006 0x00006 0x7fff8>,
421+
<0x00008 0x00008 0x7fff8>,
422+
<0x00009 0x00009 0x7fff8>,
423+
<0x10000 0x10000 0x7fff8>,
424+
<0x10001 0x10001 0x7fff8>,
425+
<0x10002 0x10002 0x7fff8>,
426+
<0x10003 0x10003 0x7fff8>,
427+
<0x10008 0x10008 0x7fff8>,
428+
<0x10009 0x10009 0x7fff8>,
429+
<0x10010 0x10010 0x7fff8>,
430+
<0x10011 0x10011 0x7fff8>,
431+
<0x10012 0x10012 0x7fff8>,
432+
<0x10013 0x10013 0x7fff8>,
433+
<0x10028 0x10028 0x7fff8>,
434+
<0x10029 0x10029 0x7fff8>;
448435
riscv,raw-event-to-mhpmcounters =
449-
<0x00000000 0x00000001 0xffffffff 0xffffffff 0xfffffff8>,
450-
<0x00000000 0x00000002 0xffffffff 0xffffffff 0xfffffff8>,
451-
<0x00000000 0x00000003 0xffffffff 0xffffffff 0xfffffff8>,
452-
<0x00000000 0x00000004 0xffffffff 0xffffffff 0xfffffff8>,
453-
<0x00000000 0x00000005 0xffffffff 0xffffffff 0xfffffff8>,
454-
<0x00000000 0x00000006 0xffffffff 0xffffffff 0xfffffff8>,
455-
<0x00000000 0x00000007 0xffffffff 0xffffffff 0xfffffff8>,
456-
<0x00000000 0x00000008 0xffffffff 0xffffffff 0xfffffff8>,
457-
<0x00000000 0x00000009 0xffffffff 0xffffffff 0xfffffff8>,
458-
<0x00000000 0x0000000a 0xffffffff 0xffffffff 0xfffffff8>,
459-
<0x00000000 0x0000000b 0xffffffff 0xffffffff 0xfffffff8>,
460-
<0x00000000 0x0000000c 0xffffffff 0xffffffff 0xfffffff8>,
461-
<0x00000000 0x0000000d 0xffffffff 0xffffffff 0xfffffff8>,
462-
<0x00000000 0x0000000e 0xffffffff 0xffffffff 0xfffffff8>,
463-
<0x00000000 0x0000000f 0xffffffff 0xffffffff 0xfffffff8>,
464-
<0x00000000 0x00000010 0xffffffff 0xffffffff 0xfffffff8>,
465-
<0x00000000 0x00000011 0xffffffff 0xffffffff 0xfffffff8>,
466-
<0x00000000 0x00000012 0xffffffff 0xffffffff 0xfffffff8>,
467-
<0x00000000 0x00000013 0xffffffff 0xffffffff 0xfffffff8>,
468-
<0x00000000 0x00000014 0xffffffff 0xffffffff 0xfffffff8>,
469-
<0x00000000 0x00000015 0xffffffff 0xffffffff 0xfffffff8>,
470-
<0x00000000 0x00000016 0xffffffff 0xffffffff 0xfffffff8>,
471-
<0x00000000 0x00000017 0xffffffff 0xffffffff 0xfffffff8>,
472-
<0x00000000 0x00000018 0xffffffff 0xffffffff 0xfffffff8>,
473-
<0x00000000 0x00000019 0xffffffff 0xffffffff 0xfffffff8>,
474-
<0x00000000 0x0000001a 0xffffffff 0xffffffff 0xfffffff8>,
475-
<0x00000000 0x0000001b 0xffffffff 0xffffffff 0xfffffff8>,
476-
<0x00000000 0x0000001c 0xffffffff 0xffffffff 0xfffffff8>,
477-
<0x00000000 0x0000001d 0xffffffff 0xffffffff 0xfffffff8>,
478-
<0x00000000 0x0000001e 0xffffffff 0xffffffff 0xfffffff8>,
479-
<0x00000000 0x0000001f 0xffffffff 0xffffffff 0xfffffff8>,
480-
<0x00000000 0x00000020 0xffffffff 0xffffffff 0xfffffff8>,
481-
<0x00000000 0x00000021 0xffffffff 0xffffffff 0xfffffff8>,
482-
<0x00000000 0x00000022 0xffffffff 0xffffffff 0xfffffff8>,
483-
<0x00000000 0x00000023 0xffffffff 0xffffffff 0xfffffff8>,
484-
<0x00000000 0x00000024 0xffffffff 0xffffffff 0xfffffff8>,
485-
<0x00000000 0x00000025 0xffffffff 0xffffffff 0xfffffff8>,
486-
<0x00000000 0x00000026 0xffffffff 0xffffffff 0xfffffff8>,
487-
<0x00000000 0x00000027 0xffffffff 0xffffffff 0xfffffff8>,
488-
<0x00000000 0x00000028 0xffffffff 0xffffffff 0xfffffff8>,
489-
<0x00000000 0x00000029 0xffffffff 0xffffffff 0xfffffff8>,
490-
<0x00000000 0x0000002a 0xffffffff 0xffffffff 0xfffffff8>;
436+
/* For raw event ID 0x0 - 0xff */
437+
<0x0 0x0 0xffffffff 0xffffff00 0x7fff8>;
491438
};
492439
....
493440

0 commit comments

Comments
 (0)