On Tue Sep 26, 2023 at 3:43 AM AEST, Glenn Miles wrote: > 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]). > > Version 3 of this series disables branch recording on P8 and P9 due > to a drop in performance caused by recording branches outside of > problem state.
For this series, Reviewed-by: Nicholas Piggin <npig...@gmail.com> I finally got around to adding powerpc MMU support to kvm unit tests, so userspace and basic BHRB tests weren't much more work. Easier than testing it with perf in Linux! https://gitlab.com/npiggin/kvm-unit-tests.git powerpc Thanks, Nick > > 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 | 39 +++++++++- > target/ppc/helper.h | 5 ++ > target/ppc/helper_regs.c | 35 +++++++++ > target/ppc/insn32.decode | 8 ++ > target/ppc/machine.c | 23 +++++- > target/ppc/misc_helper.c | 46 +++++++++++ > 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 | 101 +++++++++++++++++++++++-- > target/ppc/translate/bhrb-impl.c.inc | 43 +++++++++++ > target/ppc/translate/branch-impl.c.inc | 2 +- > 14 files changed, 374 insertions(+), 17 deletions(-) > create mode 100644 target/ppc/translate/bhrb-impl.c.inc