Lines Matching refs:data
35 * have any way to gather data other than that collected by the Xen trace
91 * NDATA: Number of populated data fields.
103 * Every xdt_poll_nsec nano-seconds we poll the trace buffers for data and feed
144 /* Macros to extract the domid and cpuid from a HVM trace data field */
304 struct t_rec **data; /* buffer data records */
640 tbuf.data = (struct t_rec **)kmem_alloc(tbuf.cnt * sizeof (*tbuf.data),
646 tbuf.data[i] = (struct t_rec *)((uintptr_t)cpu_buf +
672 kmem_free(tbuf.data, tbuf.cnt * sizeof (*tbuf.data));
698 uint32_t *data;
721 data = rec->u.cycles.extra_u32;
725 data = rec->u.nocycles.extra_u32;
739 * data[0] = prev domid
740 * data[1] = time spent on pcpu
742 sp->prev_domid = data[0];
743 sp->prev_ctime = data[1];
750 * data[0] = next domid
751 * data[1] = time spent waiting to get on cpu
752 * data[2] = time slice
754 sp->next_domid = data[0];
755 sp->next_wtime = data[1];
756 sp->next_ts = data[2];
763 * data[0] = prev domid
764 * data[1] = prev vcpuid
765 * data[2] = next domid
766 * data[3] = next vcpuid
774 xdt_update_domain_context(data[0], data[1]);
776 xdt_update_sched_context(cpuid, data[0], data[1]);
778 if (data[0] != sp->prev_domid &&
779 data[2] != sp->next_domid) {
785 sp->prev_vcpuid = data[1];
786 sp->next_vcpuid = data[3];
797 xdt_update_sched_context(cpuid, data[2], data[3]);
798 xdt_update_domain_context(data[2], data[3]);
806 * data[0] = domid
807 * data[1] = vcpuid
809 XDT_PROBE2(XDT_SCHED_BLOCK, data[0], data[1]);
816 * data[0] = domid
817 * data[1] = vcpuid
819 XDT_PROBE2(XDT_SCHED_SLEEP, data[0], data[1]);
826 * data[0] = domid
827 * data[1] = vcpuid
829 XDT_PROBE2(XDT_SCHED_WAKE, data[0], data[1]);
836 * data[0] = domid
837 * data[1] = vcpuid
839 XDT_PROBE2(XDT_SCHED_YIELD, data[0], data[1]);
846 * data[0] = domid
847 * data[1] = initiating vcpu
848 * data[2] = shutdown code
850 switch (data[2]) {
868 XDT_PROBE2(eid, data[0], data[1]);
882 * data[0] = domid
883 * data[1] = vcpu
885 XDT_PROBE2(XDT_SCHED_ADD_VCPU, data[0], data[1]);
892 * data[0] = domid;
894 XDT_PROBE1(XDT_SCHED_ADJDOM, data[1]);
900 * data[0] = (domain << 16) | vcpu;
901 * data[1] = oldstate;
902 * data[2] = newstate;
904 XDT_PROBE4(XDT_SCHED_RUNSTATE_CHANGE, data[0] >> 16,
905 data[0] & 0xffff, data[1], data[2]);
912 * data[0] = (domain << 16) | vcpu;
914 XDT_PROBE2(XDT_SCHED_CONTINUE_RUNNING, data[0] >> 16,
915 data[0] & 0xffff);
924 * data[0] = target domid
926 XDT_PROBE1(XDT_MEM_PAGE_GRANT_MAP, data[0]);
933 * data[0] = target domid
935 XDT_PROBE1(XDT_MEM_PAGE_GRANT_UNMAP, data[0]);
942 * data[0] = target domid
944 XDT_PROBE1(XDT_MEM_PAGE_GRANT_TRANSFER, data[0]);
954 * data[0] = eip
955 * data[1] = eax
957 XDT_PROBE2(XDT_PV_HYPERCALL, data[0], data[1]);
963 * data[0] = rip(0:31)
964 * data[1] = rip(32:63)
965 * data[2] = eax;
967 rip64 = (((uint64_t)data[1]) << 32) | data[0];
968 XDT_PROBE2(XDT_PV_HYPERCALL, rip64, data[2]);
974 * data[0] = eip
975 * data[1] = trapnr | (error_code_valid << 15)
978 XDT_PROBE4(XDT_PV_TRAP, data[0], data[1] & 0x7fff,
979 (data[1] >> 15) & 1, data[1] >> 16);
985 * data[0] = rip(0:31)
986 * data[1] = rip(32:63)
987 * data[2] = trapnr | (error_code_valid << 15)
990 rip64 = (((uint64_t)data[1]) << 32) | data[2];
991 XDT_PROBE4(XDT_PV_TRAP, rip64, data[2] & 0x7fff,
992 (data[2] >> 15) & 1, data[2] >> 16);
998 * data[0] = eip
999 * data[1] = vaddr
1000 * data[2] = error code
1002 XDT_PROBE3(XDT_PV_PAGE_FAULT, data[0], data[1], data[2]);
1008 * data[0] = rip(0:31)
1009 * data[1] = rip(31:63)
1010 * data[2] = vaddr(0:31)
1011 * data[3] = vaddr(31:63)
1012 * data[4] = error code
1014 rip64 = (((uint64_t)data[1]) << 32) | data[0];
1015 addr64 = (((uint64_t)data[3]) << 32) | data[2];
1016 XDT_PROBE3(XDT_PV_PAGE_FAULT, rip64, addr64, data[4]);
1023 * data[1] = eip
1025 XDT_PROBE1(XDT_PV_FORCED_INVALID_OP, data[1]);
1032 * data[1] = rip(0:31)
1033 * data[2] = rip(31:63)
1036 rip64 = (((uint64_t)data[2]) << 32) | data[1];
1044 * data[0] = eip
1046 XDT_PROBE1(XDT_PV_EMULATE_PRIVOP, data[0]);
1053 * data[0] = rip(0:31)
1054 * data[1] = rip(31:63)
1056 rip64 = (((uint64_t)data[1]) << 32) | data[0];
1076 * data[0] = eip
1077 * data[1] = vaddr
1079 XDT_PROBE2(XDT_PV_PAGING_FIXUP, data[0], data[2]);
1087 * data[0] = eip(0:31)
1088 * data[1] = eip(31:63)
1089 * data[2] = vaddr(0:31)
1090 * data[3] = vaddr(31:63)
1092 rip64 = (((uint64_t)data[1]) << 32) | data[0];
1093 addr64 = (((uint64_t)data[3]) << 32) | data[2];
1099 * data[0] = eip
1100 * data[1] = offset
1102 XDT_PROBE2(XDT_PV_DT_MAPPING_FAULT, data[0], data[1]);
1108 * data[0] = eip(0:31)
1109 * data[1] = eip(31:63)
1110 * data[2] = offset(0:31)
1111 * data[3] = offset(31:63)
1113 rip64 = (((uint64_t)data[1]) << 32) | data[0];
1114 val64 = (((uint64_t)data[3]) << 32) | data[2];
1127 * data[0] = pte
1128 * data[1] = addr
1129 * data[2] = eip
1131 XDT_PROBE3(XDT_PV_PTWR_EMULATION, data[0], data[1], data[2]);
1137 * data[0] = pte(0:31)
1138 * data[1] = pte(32:63)
1139 * data[2] = addr(0:31)
1140 * data[3] = addr(32:63)
1141 * data[4] = rip(0:31)
1142 * data[5] = rip(32:63)
1144 pte64 = (((uint64_t)data[1]) << 32) | data[0];
1145 addr64 = (((uint64_t)data[3]) << 32) | data[2];
1146 rip64 = (((uint64_t)data[5]) << 32) | data[4];
1165 * data[0] = cpu vendor specific exit code
1166 * data[1] = guest eip
1168 XDT_PROBE2(XDT_HVM_VMEXIT, data[0], data[1]);
1174 * data[0] = cpu vendor specific exit code
1175 * data[1] = guest rip(0:31)
1176 * data[2] = guest rip(32:64)
1178 rip64 = (((uint64_t)data[2]) << 32) | data[1];
1179 XDT_PROBE2(XDT_HVM_VMEXIT, data[0], rip64);
1187 * data[0] = error code
1188 * data[1] = guest VA(0:31)
1189 * data[2] = guest VA(32:64)
1191 addr64 = (((uint64_t)data[2]) << 32) | data[1];
1192 XDT_PROBE2(XDT_HVM_PF_XEN, data[0], addr64);
1199 * data[0] = error code
1200 * data[1] = guest VA
1202 XDT_PROBE2(XDT_HVM_PF_XEN, data[0], data[1]);
1215 * data[0] = error code
1216 * data[1] = guest VA(0:31)
1217 * data[2] = guest VA(32:64)
1219 addr64 = (((uint64_t)data[2]) << 32) | data[1];
1220 XDT_PROBE2(XDT_HVM_PF_INJECT, data[0], addr64);
1227 * data[0] = trap
1228 * data[1] = error code
1230 XDT_PROBE2(XDT_HVM_EXC_INJECT, data[0], data[1]);
1236 * data[0] = vector
1238 XDT_PROBE1(XDT_HVM_VIRQ_INJECT, data[0]);
1249 * data[0] = control register #
1250 * data[1] = value(0:31)
1251 * data[2] = value(32:63)
1253 val64 = (((uint64_t)data[2]) << 32) | data[1];
1254 XDT_PROBE2(XDT_HVM_CR_READ, data[0], val64);
1265 * data[0] = control register #
1266 * data[1] = value(0:31)
1267 * data[2] = value(32:63)
1269 val64 = (((uint64_t)data[2]) << 32) | data[1];
1270 XDT_PROBE2(XDT_HVM_CR_READ, data[0], val64);
1281 * data[0] = (domid<<16 + vcpuid)
1289 * data[0] = (domid<<16 + vcpuid)
1296 * data[0] = MSR
1297 * data[1] = value(0:31)
1298 * data[2] = value(32:63)
1300 val64 = (((uint64_t)data[3]) << 32) | data[2];
1301 XDT_PROBE2(XDT_HVM_MSR_READ, data[0], val64);
1307 * data[0] = MSR;
1308 * data[1] = value(0:31)
1309 * data[2] = value(32:63)
1311 val64 = (((uint64_t)data[2]) << 32) | data[1];
1312 XDT_PROBE2(XDT_HVM_MSR_WRITE, data[0], val64);
1318 * data[0] = %eax (input)
1319 * data[1] = %eax
1320 * data[2] = %ebx
1321 * data[3] = %ecx
1322 * data[4] = %edx
1324 XDT_PROBE5(XDT_HVM_CPUID, data[0], data[1], data[2], data[3],
1325 data[4]);
1339 * data[0] = vector
1340 * data[1] = source
1341 * data[2] = info
1343 XDT_PROBE3(XDT_HVM_INTR_WINDOW, data[0], data[1], data[2]);
1361 * data[0] = %eax
1363 XDT_PROBE1(XDT_HVM_VMMCALL, data[0]);
1369 * data[0] = 1 if VCPU runnable, 0 if not
1371 XDT_PROBE1(XDT_HVM_HLT, data[0]);
1376 * data[0] = INVLPGA ? 1 : 0
1377 * data[1] = vaddr(0:31)
1378 * data[2] = vaddr(32:63)
1380 addr64 = (((uint64_t)data[2]) << 32) | data[1];
1381 XDT_PROBE2(XDT_HVM_INVLPG, data[0], addr64);
1387 * data[0] = (domid<<16 + vcpuid)
1402 * data[0] = addr(0:31)
1403 * data[1] = addr(32:63)
1404 * data[2] = count
1405 * data[3] = size
1421 addr64 = (((uint64_t)data[1]) << 32) | data[0];
1422 XDT_PROBE3(eid, addr64, data[2], data[3]);
1434 * data[0] = value(0:31)
1435 * data[1] = value(32:63)
1437 val64 = (((uint64_t)data[1]) << 32) | data[0];
1452 * data[0] = pte(0:31)
1453 * data[1] = pte(32:63)
1454 * data[2] = va
1455 * data[3] = flags
1457 pte64 = ((uint64_t)data[1] << 32) | data[0];
1458 XDT_PROBE3(XDT_SHADOW_NOT_SHADOW, pte64, data[2], data[3]);
1463 * data[0] = pte(0:31)
1464 * data[1] = pte(32:63)
1465 * data[2] = va(0:31)
1466 * data[3] = va(32:63)
1467 * data[4] = flags
1469 addr64 = ((uint64_t)data[2] << 32) | data[3];
1470 pte64 = ((uint64_t)data[1] << 32) | data[0];
1471 XDT_PROBE3(XDT_SHADOW_NOT_SHADOW, pte64, addr64, data[4]);
1475 * data[0] = va
1477 XDT_PROBE1(XDT_SHADOW_FAST_PROPAGATE, data[0]);
1482 * data[0] = va(0:31)
1483 * data[1] = va(32:63)
1485 addr64 = ((uint64_t)data[1] << 32) | data[0];
1490 * data[0] = va
1492 XDT_PROBE1(XDT_SHADOW_FAST_MMIO, data[0]);
1497 * data[0] = va(0:31)
1498 * data[1] = va(32:63)
1500 addr64 = ((uint64_t)data[1] << 32) | data[0];
1505 * data[0] = va
1507 XDT_PROBE1(XDT_SHADOW_FALSE_FAST_PATH, data[0]);
1512 * data[0] = va(0:31)
1513 * data[1] = va(32:63)
1515 addr64 = ((uint64_t)data[1] << 32) | data[0];
1520 * data[0] = va
1522 XDT_PROBE1(XDT_SHADOW_MMIO, data[0]);
1527 * data[0] = va(0:31)
1528 * data[1] = va(32:63)
1530 addr64 = ((uint64_t)data[1] << 32) | data[0];
1535 * data[0] = pte(0:31)
1536 * data[1] = pte(32:63)
1537 * data[2] = va
1538 * data[3] = flags
1540 pte64 = ((uint64_t)data[1] << 32) | data[0];
1541 XDT_PROBE3(XDT_SHADOW_FIXUP, pte64, data[2], data[3]);
1546 * data[0] = pte(0:31)
1547 * data[1] = pte(32:63)
1548 * data[2] = va(0:31)
1549 * data[3] = va(32:63)
1550 * data[4] = flags
1552 addr64 = ((uint64_t)data[2] << 32) | data[3];
1553 pte64 = ((uint64_t)data[1] << 32) | data[0];
1554 XDT_PROBE3(XDT_SHADOW_FIXUP, pte64, addr64, data[4]);
1558 * data[0] = va
1560 XDT_PROBE1(XDT_SHADOW_DOMF_DYING, data[0]);
1565 * data[0] = va(0:31)
1566 * data[1] = va(32:63)
1568 addr64 = ((uint64_t)data[1] << 32) | data[0];
1573 * data[0] = pte(0:31)
1574 * data[1] = pte(32:63)
1575 * data[2] = val(0:31)
1576 * data[3] = val(32:63)
1577 * data[4] = addr
1578 * data[5] = flags
1580 pte64 = ((uint64_t)data[1] << 32) | data[0];
1581 val64 = ((uint64_t)data[3] << 32) | data[2];
1582 XDT_PROBE5(XDT_SHADOW_EMULATE, pte64, val64, data[4],
1583 data[5] & 0x7fffffff, data[5] >> 29);
1588 * data[0] = pte(0:31)
1589 * data[1] = pte(32:63)
1590 * data[2] = val(0:31)
1591 * data[3] = val(32:63)
1592 * data[4] = addr(0:31)
1593 * data[5] = addr(32:63)
1594 * data[6] = flags
1596 pte64 = ((uint64_t)data[1] << 32) | data[0];
1597 val64 = ((uint64_t)data[3] << 32) | data[2];
1598 addr64 = ((uint64_t)data[5] << 32) | data[4];
1599 XDT_PROBE5(XDT_SHADOW_EMULATE, pte64, val64, data[4],
1600 data[6] & 0x7fffffff, data[6] >> 29);
1604 * data[0] = gfn
1605 * data[1] = vaddr
1607 XDT_PROBE2(XDT_SHADOW_EMULATE_UNSHADOW_USER, data[0], data[1]);
1612 * data[0] = gfn(0:31)
1613 * data[1] = gfn(32:63)
1614 * data[2] = vaddr(0:31)
1615 * data[3] = vaddr(32:63)
1617 val64 = ((uint64_t)data[1] << 32) | data[0];
1618 addr64 = ((uint64_t)data[3] << 32) | data[2];
1623 * data[0] = gfn
1624 * data[1] = vaddr
1626 XDT_PROBE2(XDT_SHADOW_EMULATE_UNSHADOW_EVTINJ, data[0],
1627 data[1]);
1632 * data[0] = gfn(0:31)
1633 * data[1] = gfn(32:63)
1634 * data[2] = vaddr(0:31)
1635 * data[3] = vaddr(32:63)
1637 val64 = ((uint64_t)data[1] << 32) | data[0];
1638 addr64 = ((uint64_t)data[3] << 32) | data[2];
1643 * data[0] = gfn
1644 * data[1] = vaddr
1646 XDT_PROBE2(XDT_SHADOW_EMULATE_UNSHADOW_UNHANDLED, data[0],
1647 data[1]);
1652 * data[0] = gfn(0:31)
1653 * data[1] = gfn(32:63)
1654 * data[2] = vaddr(0:31)
1655 * data[3] = vaddr(32:63)
1657 val64 = ((uint64_t)data[1] << 32) | data[0];
1658 addr64 = ((uint64_t)data[3] << 32) | data[2];
1664 * data[0] = gfn(0:31)
1665 * data[1] = gfn(32:63)
1667 val64 = ((uint64_t)data[1] << 32) | data[0];
1672 * data[0] = gfn(0:31)
1673 * data[1] = gfn(32:63)
1675 val64 = ((uint64_t)data[1] << 32) | data[0];
1680 * data[0] = gmfn(0:31)
1681 * data[1] = gmfn(32:63)
1683 val64 = ((uint64_t)data[1] << 32) | data[0];
1688 * data[0] = gmfn(0:31)
1689 * data[1] = gmfn(32:63)
1691 val64 = ((uint64_t)data[1] << 32) | data[0];
1700 * data[0] = old freq
1701 * data[1] = new freq
1703 XDT_PROBE2(XDT_PM_FREQ_CHANGE, data[0], data[1]);
1707 * data[0] = C-state
1708 * data[1] = time
1710 XDT_PROBE2(XDT_PM_IDLE_ENTRY, data[0], data[1]);
1714 * data[0] = C-state
1715 * data[1] = time
1717 XDT_PROBE2(XDT_PM_IDLE_EXIT, data[0], data[1]);
1720 vcpu = data[1] >> 16;
1721 dom = data[1] & 0xffff;
1749 uintptr_t data;
1759 data = (uintptr_t)tbuf.data[cpuid] + offset;
1760 rec = (struct t_rec *)data;