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]).
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 | 45 +++++++++-- 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 | 43 +++++++++++ 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, 375 insertions(+), 19 deletions(-) create mode 100644 target/ppc/translate/bhrb-impl.c.inc -- 2.31.1