• Athira Rajeev's avatar
    powerpc/perf: BHRB control to disable BHRB logic when not used · 1cade527
    Athira Rajeev authored
    PowerISA v3.1 has few updates for the Branch History Rolling
    Buffer(BHRB).
    
    BHRB disable is controlled via Monitor Mode Control Register A (MMCRA)
    bit, namely "BHRB Recording Disable (BHRBRD)". This field controls
    whether BHRB entries are written when BHRB recording is enabled by
    other bits. This patch implements support for this BHRB disable bit.
    By setting 0b1 to this bit will disable the BHRB and by setting 0b0 to
    this bit will have BHRB enabled. This addresses backward
    compatibility (for older OS), since this bit will be cleared and
    hardware will be writing to BHRB by default.
    
    This patch addresses changes to set MMCRA (BHRBRD) at boot for
    power10 (there by the core will run faster) and enable this feature
    only on runtime ie, on explicit need from user. Also save/restore
    MMCRA in the restore path of state-loss idle state to make sure we
    keep BHRB disabled if it was not enabled on request at runtime.
    Signed-off-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/1594996707-3727-12-git-send-email-atrajeev@linux.vnet.ibm.com
    1cade527
core-book3s.c 59 KB