MMCR0_PMAO
#define MMCR0_USER_MASK (MMCR0_FC | MMCR0_PMXE | MMCR0_PMAO)
#ifndef MMCR0_PMAO
mtspr(SPRN_MMCR0, mfspr(SPRN_MMCR0) & ~(MMCR0_PMXE|MMCR0_PMAO));
val &= ~(MMCR0_EBE | MMCR0_BHRBA | MMCR0_PMCC | MMCR0_PMAO |
if ((current->thread.mmcr0 & (MMCR0_PMAO | MMCR0_PMAO_SYNC)) != MMCR0_PMAO)
mtspr(SPRN_MMCR0, MMCR0_PMXE | MMCR0_PMCjCE | MMCR0_PMAO);
mtspr(SPRN_MMCR0, MMCR0_FC | MMCR0_PMAO);
reset_ebb_with_clear_mask(MMCR0_PMAO);
mask = MMCR0_PMAO | MMCR0_FC;
reset_ebb_with_clear_mask(MMCR0_PMAO | MMCR0_FC);
if ((val & (MMCR0_FC | MMCR0_PMAO)) == MMCR0_FC) {
reset_ebb_with_clear_mask(MMCR0_PMAO);