Lines Matching refs:devid

288 static MemTxResult get_dte(GICv3ITSState *s, uint32_t devid, DTEntry *dte)  in get_dte()  argument
292 uint64_t entry_addr = table_entry_addr(s, &s->dt, devid, &res); in get_dte()
310 trace_gicv3_its_dte_read_fault(devid); in get_dte()
312 trace_gicv3_its_dte_read(devid, dte->valid, dte->size, dte->ittaddr); in get_dte()
361 uint32_t devid, uint32_t eventid, ITEntry *ite, in lookup_ite() argument
366 if (devid >= s->dt.num_entries) { in lookup_ite()
369 who, devid, s->dt.num_entries); in lookup_ite()
373 if (get_dte(s, devid, dte) != MEMTX_OK) { in lookup_ite()
379 "invalid dte for %d\n", who, devid); in lookup_ite()
514 static ItsCmdResult do_process_its_cmd(GICv3ITSState *s, uint32_t devid, in do_process_its_cmd() argument
522 cmdres = lookup_ite(s, __func__, devid, eventid, &ite, &dte); in do_process_its_cmd()
559 uint32_t devid, eventid; in process_its_cmd() local
561 devid = (cmdpkt[0] & DEVID_MASK) >> DEVID_SHIFT; in process_its_cmd()
565 trace_gicv3_its_cmd_int(devid, eventid); in process_its_cmd()
568 trace_gicv3_its_cmd_clear(devid, eventid); in process_its_cmd()
571 trace_gicv3_its_cmd_discard(devid, eventid); in process_its_cmd()
576 return do_process_its_cmd(s, devid, eventid, cmd); in process_its_cmd()
582 uint32_t devid, eventid; in process_mapti() local
589 devid = (cmdpkt[0] & DEVID_MASK) >> DEVID_SHIFT; in process_mapti()
595 trace_gicv3_its_cmd_mapi(devid, eventid, icid); in process_mapti()
598 trace_gicv3_its_cmd_mapti(devid, eventid, icid, pIntid); in process_mapti()
601 if (devid >= s->dt.num_entries) { in process_mapti()
604 __func__, devid, s->dt.num_entries); in process_mapti()
608 if (get_dte(s, devid, &dte) != MEMTX_OK) { in process_mapti()
622 "%s: no valid DTE for devid 0x%x\n", __func__, devid); in process_mapti()
652 uint32_t devid, eventid, vintid, doorbell, vpeid; in process_vmapti() local
661 devid = FIELD_EX64(cmdpkt[0], VMAPTI_0, DEVICEID); in process_vmapti()
667 trace_gicv3_its_cmd_vmapi(devid, eventid, vpeid, doorbell); in process_vmapti()
670 trace_gicv3_its_cmd_vmapti(devid, eventid, vpeid, vintid, doorbell); in process_vmapti()
673 if (devid >= s->dt.num_entries) { in process_vmapti()
676 __func__, devid, s->dt.num_entries); in process_vmapti()
680 if (get_dte(s, devid, &dte) != MEMTX_OK) { in process_vmapti()
687 __func__, devid); in process_vmapti()
697 __func__, eventid, devid, num_eventids); in process_vmapti()
793 static bool update_dte(GICv3ITSState *s, uint32_t devid, const DTEntry *dte) in update_dte() argument
800 trace_gicv3_its_dte_write(devid, dte->valid, dte->size, dte->ittaddr); in update_dte()
809 entry_addr = table_entry_addr(s, &s->dt, devid, &res); in update_dte()
824 uint32_t devid; in process_mapd() local
827 devid = (cmdpkt[0] & DEVID_MASK) >> DEVID_SHIFT; in process_mapd()
832 trace_gicv3_its_cmd_mapd(devid, dte.size, dte.ittaddr, dte.valid); in process_mapd()
834 if (devid >= s->dt.num_entries) { in process_mapd()
837 devid, s->dt.num_entries); in process_mapd()
847 return update_dte(s, devid, &dte) ? CMD_CONTINUE_OK : CMD_STALL; in process_mapd()
887 uint32_t devid, eventid; in process_movi() local
894 devid = FIELD_EX64(cmdpkt[0], MOVI_0, DEVICEID); in process_movi()
898 trace_gicv3_its_cmd_movi(devid, eventid, new_icid); in process_movi()
900 cmdres = lookup_ite(s, __func__, devid, eventid, &old_ite, &dte); in process_movi()
1086 uint32_t devid, eventid, vpeid, doorbell; in process_vmovi() local
1097 devid = FIELD_EX64(cmdpkt[0], VMOVI_0, DEVICEID); in process_vmovi()
1103 trace_gicv3_its_cmd_vmovi(devid, eventid, vpeid, doorbell_valid, doorbell); in process_vmovi()
1111 cmdres = lookup_ite(s, __func__, devid, eventid, &ite, &dte); in process_vmovi()
1188 uint32_t devid, eventid; in process_inv() local
1195 devid = FIELD_EX64(cmdpkt[0], INV_0, DEVICEID); in process_inv()
1198 trace_gicv3_its_cmd_inv(devid, eventid); in process_inv()
1200 cmdres = lookup_ite(s, __func__, devid, eventid, &ite, &dte); in process_inv()