Lines Matching refs:cmd

384 SMMUv3::processCommand(const SMMUCommand &cmd)
386 switch (cmd.dw0.type) {
396 DPRINTF(SMMUv3, "CMD_CFGI_STE sid=%#x\n", cmd.dw0.sid);
397 configCache.invalidateSID(cmd.dw0.sid);
400 slave_interface->microTLB->invalidateSID(cmd.dw0.sid);
401 slave_interface->mainTLB->invalidateSID(cmd.dw0.sid);
407 const auto range = cmd.dw1.range;
420 const auto start_sid = cmd.dw0.sid & ~((1 << (range + 1)) - 1);
436 cmd.dw0.sid, cmd.dw0.ssid);
437 configCache.invalidateSSID(cmd.dw0.sid, cmd.dw0.ssid);
441 cmd.dw0.sid, cmd.dw0.ssid);
443 cmd.dw0.sid, cmd.dw0.ssid);
449 DPRINTF(SMMUv3, "CMD_CFGI_CD_ALL sid=%#x\n", cmd.dw0.sid);
450 configCache.invalidateSID(cmd.dw0.sid);
453 slave_interface->microTLB->invalidateSID(cmd.dw0.sid);
454 slave_interface->mainTLB->invalidateSID(cmd.dw0.sid);
460 DPRINTF(SMMUv3, "CMD_TLBI_NH_ALL vmid=%#x\n", cmd.dw0.vmid);
462 slave_interface->microTLB->invalidateVMID(cmd.dw0.vmid);
463 slave_interface->mainTLB->invalidateVMID(cmd.dw0.vmid);
465 tlb.invalidateVMID(cmd.dw0.vmid);
466 walkCache.invalidateVMID(cmd.dw0.vmid);
472 cmd.dw0.asid, cmd.dw0.vmid);
475 cmd.dw0.asid, cmd.dw0.vmid);
477 cmd.dw0.asid, cmd.dw0.vmid);
479 tlb.invalidateASID(cmd.dw0.asid, cmd.dw0.vmid);
480 walkCache.invalidateASID(cmd.dw0.asid, cmd.dw0.vmid);
485 const Addr addr = cmd.addr();
487 addr, cmd.dw0.vmid);
490 addr, cmd.dw0.vmid);
492 addr, cmd.dw0.vmid);
494 tlb.invalidateVAA(addr, cmd.dw0.vmid);
495 const bool leaf_only = cmd.dw1.leaf ? true : false;
496 walkCache.invalidateVAA(addr, cmd.dw0.vmid, leaf_only);
501 const Addr addr = cmd.addr();
503 addr, cmd.dw0.asid, cmd.dw0.vmid);
506 addr, cmd.dw0.asid, cmd.dw0.vmid);
508 addr, cmd.dw0.asid, cmd.dw0.vmid);
510 tlb.invalidateVA(addr, cmd.dw0.asid, cmd.dw0.vmid);
511 const bool leaf_only = cmd.dw1.leaf ? true : false;
512 walkCache.invalidateVA(addr, cmd.dw0.asid, cmd.dw0.vmid,
518 const Addr addr = cmd.addr();
520 addr, cmd.dw0.vmid);
523 ipaCache.invalidateIPA(addr, cmd.dw0.vmid);
525 if (!cmd.dw1.leaf)
526 walkCache.invalidateVMID(cmd.dw0.vmid);
531 DPRINTF(SMMUv3, "CMD_TLBI_S12_VMALL vmid=%#x\n", cmd.dw0.vmid);
533 slave_interface->microTLB->invalidateVMID(cmd.dw0.vmid);
534 slave_interface->mainTLB->invalidateVMID(cmd.dw0.vmid);
536 tlb.invalidateVMID(cmd.dw0.vmid);
537 ipaCache.invalidateVMID(cmd.dw0.vmid);
538 walkCache.invalidateVMID(cmd.dw0.vmid);
560 warn("Unimplemented command %#x\n", cmd.dw0.type);