int ch, pat;
        u64 payload = packet->payload;
        int err = 0;
+       static const char *idx_name[] = {"PC", "TGT", "VA", "PA", "PBT"};
 
        switch (idx) {
        case SPE_ADDR_PKT_HDR_INDEX_INS:
        case SPE_ADDR_PKT_HDR_INDEX_BRANCH:
+       case SPE_ADDR_PKT_HDR_INDEX_PREV_BRANCH:
                ns = !!SPE_ADDR_PKT_GET_NS(payload);
                el = SPE_ADDR_PKT_GET_EL(payload);
                payload = SPE_ADDR_PKT_ADDR_GET_BYTES_0_6(payload);
                arm_spe_pkt_out_string(&err, &buf, &buf_len,
                                "%s 0x%llx el%d ns=%d",
-                               (idx == 1) ? "TGT" : "PC", payload, el, ns);
+                               idx_name[idx], payload, el, ns);
                break;
        case SPE_ADDR_PKT_HDR_INDEX_DATA_VIRT:
                arm_spe_pkt_out_string(&err, &buf, &buf_len,
 
 #define SPE_ADDR_PKT_HDR_INDEX_BRANCH          0x1
 #define SPE_ADDR_PKT_HDR_INDEX_DATA_VIRT       0x2
 #define SPE_ADDR_PKT_HDR_INDEX_DATA_PHYS       0x3
+#define SPE_ADDR_PKT_HDR_INDEX_PREV_BRANCH     0x4
 
 /* Address packet payload */
 #define SPE_ADDR_PKT_ADDR_BYTE7_SHIFT          56