mbox series

[v6,00/10] PMU-EBB support for PPC64 TCG

Message ID 20211108225047.1733607-1-danielhb413@gmail.com
Headers show
Series PMU-EBB support for PPC64 TCG | expand

Message

Daniel Henrique Barboza Nov. 8, 2021, 10:50 p.m. UTC
Hi,

This version contains changes proposed by Matheus in the
v5 review.

Changes from v5:
- patch 2:
  * added an extra argument to pmu_update_cycles() and pmc_is_active()
to consider the case where we want to consider the frozen counter bits
of a previous MMCR0 state
  * added additional logic to allow for FC14/FC56 bits to freeze their
individual counters without stopping the PMU 
- patch 3:
  * changed macro name to PMC_COUNTER_NEGATIVE_VAL and made it unsigned
  * fixed typo in comment
  * removed the extra space after '='
- patch 9:
  * check for FSCR[EBB] before firing the EBB exception

v5 link: https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg00385.html

Daniel Henrique Barboza (9):
  target/ppc: introduce PMUEventType and PMU overflow timers
  target/ppc: PMU basic cycle count for pseries TCG
  target/ppc: enable PMU counter overflow with cycle events
  target/ppc: enable PMU instruction count
  target/ppc/power8-pmu.c: add PM_RUN_INST_CMPL (0xFA) event
  target/ppc: PMU: handle setting of PMCs while running
  target/ppc/power8-pmu.c: handle overflow bits when PMU is running
  PPC64/TCG: Implement 'rfebb' instruction
  target/ppc/excp_helper.c: EBB handling adjustments

Gustavo Romero (1):
  target/ppc: PMU Event-Based exception support

 hw/ppc/spapr_cpu_core.c                |   6 +
 target/ppc/cpu.h                       |  60 +++-
 target/ppc/cpu_init.c                  |  20 +-
 target/ppc/excp_helper.c               |  93 ++++++
 target/ppc/helper.h                    |   4 +
 target/ppc/helper_regs.c               |   4 +
 target/ppc/insn32.decode               |   5 +
 target/ppc/meson.build                 |   1 +
 target/ppc/power8-pmu-regs.c.inc       |  45 ++-
 target/ppc/power8-pmu.c                | 403 +++++++++++++++++++++++++
 target/ppc/power8-pmu.h                |  25 ++
 target/ppc/spr_tcg.h                   |   3 +
 target/ppc/translate.c                 |  60 ++++
 target/ppc/translate/branch-impl.c.inc |  33 ++
 14 files changed, 749 insertions(+), 13 deletions(-)
 create mode 100644 target/ppc/power8-pmu.c
 create mode 100644 target/ppc/power8-pmu.h
 create mode 100644 target/ppc/translate/branch-impl.c.inc