xpes
unmake_pes(uint32_t pes, int cpuver, struct xpes *xpes)
xpes->cmask = (uint8_t)(pes >> CPC_P6_PES_CMASK_SHIFT);
xpes->pc = (pes >> CPC_P6_PES_PC) & 1u;
xpes->inv = (pes >> CPC_P6_PES_INV) & 1u;
xpes->irupt = (pes >> CPC_P6_PES_INT) & 1u;
xpes->edge = (pes >> CPC_P6_PES_E) & 1u;
xpes->sys = (pes >> CPC_P6_PES_OS) & 1u;
xpes->usr = (pes >> CPC_P6_PES_USR) & 1u;
xpes->umask = (uint8_t)(pes >> CPC_P6_PES_UMASK_SHIFT);
xpes->evsel = (uint8_t)pes;
struct xpes xpes[2];
unmake_pes(event->ce_pes[0], cpuver, &xpes[0]);
if ((pic[0] = regtostr(cpuver, 0, xpes[0].evsel)) == NULL)
unmake_pes(event->ce_pes[1], cpuver, &xpes[1]);
if ((pic[1] = regtostr(cpuver, 1, xpes[1].evsel)) == NULL) {
masktostr(buffer, xpes[0].cmask, tokens[D_cmask0]);
masktostr(buffer, xpes[1].cmask, tokens[D_cmask1]);
masktostr(buffer, xpes[0].umask, tokens[D_umask0]);
masktostr(buffer, xpes[1].umask, tokens[D_umask1]);
xpes[0].usr, xpes[1].usr, 1, tokens[D_nouser]);
xpes[0].sys, xpes[1].sys, 0, tokens[D_sys]);
xpes[0].edge, xpes[1].edge, 1, tokens[D_noedge]);
xpes[0].irupt, xpes[1].irupt, 0, tokens[D_int]);
xpes[0].inv, xpes[1].inv, 0, tokens[D_inv]);
xpes[0].pc, xpes[1].pc, 0, tokens[D_pc]);
struct xpes xpes[2];
unmake_pes(event->ce_pes[i], cpuver, &xpes[i]);
xpes[i].evsel)) == NULL) {
if (xpes[i].usr == 1)
if (xpes[i].sys == 1)
if (xpes[i].irupt == 1) {
if (xpes[i].cmask)
if (xpes[i].umask)
if (xpes[i].inv)
if (xpes[i].pc)
if (xpes[i].edge == 0)
if (xpes[i].cmask) {
attr[j].ca_val = xpes[i].cmask;
if (xpes[i].umask) {
attr[j].ca_val = xpes[i].umask;
if (xpes[i].inv) {
if (xpes[i].pc) {
if (xpes[i].edge == 0) {