xcesr
unmake_cesr(uint32_t cesr, int cpuver, struct xcesr *xcesr)
xcesr->evsel[0] = (cesr >> CPC_P5_CESR_ES0_SHIFT) &
xcesr->evsel[1] = (cesr >> CPC_P5_CESR_ES1_SHIFT) &
xcesr->usr[0] = (cesr >> CPC_P5_CESR_USR0) & 1u;
xcesr->usr[1] = (cesr >> CPC_P5_CESR_USR1) & 1u;
xcesr->sys[0] = (cesr >> CPC_P5_CESR_OS0) & 1u;
xcesr->sys[1] = (cesr >> CPC_P5_CESR_OS1) & 1u;
xcesr->clk[0] = (cesr >> CPC_P5_CESR_CLK0) & 1u;
xcesr->clk[1] = (cesr >> CPC_P5_CESR_CLK1) & 1u;
xcesr->pc[0] = (cesr >> CPC_P5_CESR_PC0) & 1u;
xcesr->pc[1] = (cesr >> CPC_P5_CESR_PC1) & 1u;
if (xcesr->usr[0] == 0 && xcesr->sys[0] == 0)
xcesr->clk[0] = 0;
if (xcesr->usr[1] == 0 && xcesr->sys[1] == 0)
xcesr->clk[1] = 0;
struct xcesr xcesr;
unmake_cesr(event->ce_cesr, cpuver, &xcesr);
if ((pic[0] = regtostr(cpuver, 0, xcesr.evsel[0])) == NULL)
if ((pic[1] = regtostr(cpuver, 1, xcesr.evsel[1])) == NULL) {
xcesr.usr[0], xcesr.usr[1], 1, tokens[D_nouser]);
xcesr.sys[0], xcesr.sys[1], 0, tokens[D_sys]);
xcesr.clk[0], xcesr.clk[1], 0, tokens[D_noedge]);
xcesr.pc[0], xcesr.pc[1], 0, tokens[D_pc]);
struct xcesr xcesr;
unmake_cesr(event->ce_cesr, cpuver, &xcesr);
if ((pic[i] = regtostr(cpuver, i, xcesr.evsel[i]))
if (xcesr.usr[i] == 1)
if (xcesr.sys[i] == 1)
if (xcesr.clk[i] == 1)
if (xcesr.pc[i] == 1)
if (xcesr.clk[i] == 1) {
if (xcesr.pc[i] == 1) {