[PATCH v4 0/4] Add BHRB Facility Support

Glenn Miles posted 4 patches 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240328192356.2144086-1-milesg@linux.vnet.ibm.com
Maintainers: Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>
target/ppc/cpu.h                       |  24 ++++++
target/ppc/cpu_init.c                  |  41 +++++++++-
target/ppc/helper.h                    |   8 ++
target/ppc/helper_regs.c               |  37 +++++++++
target/ppc/insn32.decode               |   8 ++
target/ppc/machine.c                   |  23 +++++-
target/ppc/misc_helper.c               |  50 ++++++++++++
target/ppc/power8-pmu-regs.c.inc       |   5 ++
target/ppc/power8-pmu.c                |  48 +++++++++++-
target/ppc/power8-pmu.h                |  11 ++-
target/ppc/spr_common.h                |   1 +
target/ppc/translate.c                 | 102 +++++++++++++++++++++++--
target/ppc/translate/bhrb-impl.c.inc   |  43 +++++++++++
target/ppc/translate/branch-impl.c.inc |   2 +-
14 files changed, 386 insertions(+), 17 deletions(-)
create mode 100644 target/ppc/translate/bhrb-impl.c.inc
[PATCH v4 0/4] Add BHRB Facility Support
Posted by Glenn Miles 1 month ago
This is a series of patches for adding support for the Branch History
Rolling Buffer (BHRB) facility.  This was added to the Power ISA
starting with version 2.07.  Changes were subsequently made in version
3.1 to limit BHRB recording to instructions run in problem state only
and to add a control bit to disable recording (MMCRA[BHRBRD]).

Changes from previous version:
 - Rebased on latest master head (req'd changing cpu_env to tcg_env)
 - Fixed compiler errors for non ppc64-softmmu targets
 - Fixed compiler errors from compiling on 32-bit platforms

Glenn Miles (4):
  target/ppc: Add new hflags to support BHRB
  target/ppc: Add recording of taken branches to BHRB
  target/ppc: Add clrbhrb and mfbhrbe instructions
  target/ppc: Add migration support for BHRB

 target/ppc/cpu.h                       |  24 ++++++
 target/ppc/cpu_init.c                  |  41 +++++++++-
 target/ppc/helper.h                    |   8 ++
 target/ppc/helper_regs.c               |  37 +++++++++
 target/ppc/insn32.decode               |   8 ++
 target/ppc/machine.c                   |  23 +++++-
 target/ppc/misc_helper.c               |  50 ++++++++++++
 target/ppc/power8-pmu-regs.c.inc       |   5 ++
 target/ppc/power8-pmu.c                |  48 +++++++++++-
 target/ppc/power8-pmu.h                |  11 ++-
 target/ppc/spr_common.h                |   1 +
 target/ppc/translate.c                 | 102 +++++++++++++++++++++++--
 target/ppc/translate/bhrb-impl.c.inc   |  43 +++++++++++
 target/ppc/translate/branch-impl.c.inc |   2 +-
 14 files changed, 386 insertions(+), 17 deletions(-)
 create mode 100644 target/ppc/translate/bhrb-impl.c.inc

-- 
2.31.8