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