Home | History | Annotate | Download | only in x86

Lines Matching defs:gprs

61 int vmx_vmlaunch(uint64_t *gprs);
62 int vmx_vmresume(uint64_t *gprs);
820 uint64_t gprs[NVMM_X64_NGPR];
1235 cpudata->gprs[NVMM_X64_GPR_RAX] = descs[0];
1236 cpudata->gprs[NVMM_X64_GPR_RBX] = descs[1];
1237 cpudata->gprs[NVMM_X64_GPR_RCX] = descs[2];
1238 cpudata->gprs[NVMM_X64_GPR_RDX] = descs[3];
1288 cpudata->gprs[NVMM_X64_GPR_RAX] = vmx_cpuid_max_basic;
1291 cpudata->gprs[NVMM_X64_GPR_RAX] &= nvmm_cpuid_00000001.eax;
1293 cpudata->gprs[NVMM_X64_GPR_RBX] &= ~CPUID_LOCAL_APIC_ID;
1294 cpudata->gprs[NVMM_X64_GPR_RBX] |= __SHIFTIN(vcpu->cpuid,
1297 cpudata->gprs[NVMM_X64_GPR_RCX] &= nvmm_cpuid_00000001.ecx;
1298 cpudata->gprs[NVMM_X64_GPR_RCX] |= CPUID2_RAZ;
1300 cpudata->gprs[NVMM_X64_GPR_RCX] |= CPUID2_PCID;
1303 cpudata->gprs[NVMM_X64_GPR_RDX] &= nvmm_cpuid_00000001.edx;
1308 cpudata->gprs[NVMM_X64_GPR_RCX] &= ~CPUID2_OSXSAVE;
1314 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1315 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1316 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1317 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1323 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1324 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1325 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1326 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1331 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1332 cpudata->gprs[NVMM_X64_GPR_RBX] &= nvmm_cpuid_00000007.ebx;
1333 cpudata->gprs[NVMM_X64_GPR_RCX] &= nvmm_cpuid_00000007.ecx;
1334 cpudata->gprs[NVMM_X64_GPR_RDX] &= nvmm_cpuid_00000007.edx;
1336 cpudata->gprs[NVMM_X64_GPR_RBX] |= CPUID_SEF_INVPCID;
1340 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1341 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1342 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1343 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1349 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1350 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1351 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1352 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1355 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1356 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1357 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1358 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1363 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1364 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1365 cpudata->gprs[NVMM_X64_GPR_RCX] =
1368 cpudata->gprs[NVMM_X64_GPR_RDX] = vcpu->cpuid;
1372 cpudata->gprs[NVMM_X64_GPR_RAX] = ilog2(ncpus);
1373 cpudata->gprs[NVMM_X64_GPR_RBX] = ncpus;
1374 cpudata->gprs[NVMM_X64_GPR_RCX] =
1377 cpudata->gprs[NVMM_X64_GPR_RDX] = vcpu->cpuid;
1380 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1381 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1382 cpudata->gprs[NVMM_X64_GPR_RCX] = 0; /* LVLTYPE_INVAL */
1383 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1388 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1389 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1390 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1391 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1399 cpudata->gprs[NVMM_X64_GPR_RAX] = vmx_xcr0_mask & 0xFFFFFFFF;
1401 cpudata->gprs[NVMM_X64_GPR_RBX] = sizeof(struct fxsave);
1403 cpudata->gprs[NVMM_X64_GPR_RBX] = sizeof(struct save87);
1405 cpudata->gprs[NVMM_X64_GPR_RBX] += 64; /* XSAVE header */
1406 cpudata->gprs[NVMM_X64_GPR_RCX] = sizeof(struct fxsave) + 64;
1407 cpudata->gprs[NVMM_X64_GPR_RDX] = vmx_xcr0_mask >> 32;
1410 cpudata->gprs[NVMM_X64_GPR_RAX] &=
1413 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1414 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1415 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1418 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1419 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1420 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1421 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1428 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1429 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1430 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1431 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1437 cpudata->gprs[NVMM_X64_GPR_RAX] = 0;
1438 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1439 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1440 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1450 cpudata->gprs[NVMM_X64_GPR_RAX] = VMX_CPUID_MAX_HYPERVISOR;
1451 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1452 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1453 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1454 memcpy(&cpudata->gprs[NVMM_X64_GPR_RBX], "___ ", 4);
1455 memcpy(&cpudata->gprs[NVMM_X64_GPR_RCX], "NVMM", 4);
1456 memcpy(&cpudata->gprs[NVMM_X64_GPR_RDX], " ___", 4);
1459 cpudata->gprs[NVMM_X64_GPR_RAX] = curcpu()->ci_data.cpu_cc_freq / 1000;
1461 cpudata->gprs[NVMM_X64_GPR_RBX] = lapic_per_second / 1000;
1463 cpudata->gprs[NVMM_X64_GPR_RBX] = 0;
1464 cpudata->gprs[NVMM_X64_GPR_RCX] = 0;
1465 cpudata->gprs[NVMM_X64_GPR_RDX] = 0;
1472 cpudata->gprs[NVMM_X64_GPR_RAX] = vmx_cpuid_max_extended;
1475 cpudata->gprs[NVMM_X64_GPR_RAX] &= nvmm_cpuid_80000001.eax;
1476 cpudata->gprs[NVMM_X64_GPR_RBX] &= nvmm_cpuid_80000001.ebx;
1477 cpudata->gprs[NVMM_X64_GPR_RCX] &= nvmm_cpuid_80000001.ecx;
1478 cpudata->gprs[NVMM_X64_GPR_RDX] &= nvmm_cpuid_80000001.edx;
1487 cpudata->gprs[NVMM_X64_GPR_RAX] &= nvmm_cpuid_80000007.eax;
1488 cpudata->gprs[NVMM_X64_GPR_RBX] &= nvmm_cpuid_80000007.ebx;
1489 cpudata->gprs[NVMM_X64_GPR_RCX] &= nvmm_cpuid_80000007.ecx;
1490 cpudata->gprs[NVMM_X64_GPR_RDX] &= nvmm_cpuid_80000007.edx;
1493 cpudata->gprs[NVMM_X64_GPR_RAX] &= nvmm_cpuid_80000008.eax;
1494 cpudata->gprs[NVMM_X64_GPR_RBX] &= nvmm_cpuid_80000008.ebx;
1495 cpudata->gprs[NVMM_X64_GPR_RCX] &= nvmm_cpuid_80000008.ecx;
1496 cpudata->gprs[NVMM_X64_GPR_RDX] &= nvmm_cpuid_80000008.edx;
1524 eax = cpudata->gprs[NVMM_X64_GPR_RAX];
1525 ecx = cpudata->gprs[NVMM_X64_GPR_RCX];
1545 cpudata->gprs[NVMM_X64_GPR_RAX] &= ~cpuid->u.mask.del.eax;
1546 cpudata->gprs[NVMM_X64_GPR_RBX] &= ~cpuid->u.mask.del.ebx;
1547 cpudata->gprs[NVMM_X64_GPR_RCX] &= ~cpuid->u.mask.del.ecx;
1548 cpudata->gprs[NVMM_X64_GPR_RDX] &= ~cpuid->u.mask.del.edx;
1551 cpudata->gprs[NVMM_X64_GPR_RAX] |= cpuid->u.mask.set.eax;
1552 cpudata->gprs[NVMM_X64_GPR_RBX] |= cpuid->u.mask.set.ebx;
1553 cpudata->gprs[NVMM_X64_GPR_RCX] |= cpuid->u.mask.set.ecx;
1554 cpudata->gprs[NVMM_X64_GPR_RDX] |= cpuid->u.mask.set.edx;
1624 fakecr0 = cpudata->gprs[gpr];
1692 gpr = cpudata->gprs[gpr];
1737 cpudata->gcr8 = cpudata->gprs[gpr];
1746 cpudata->gprs[gpr] = cpudata->gcr8;
1866 cpudata->gprs[NVMM_X64_GPR_RAX] = (val & 0xFFFFFFFF);
1867 cpudata->gprs[NVMM_X64_GPR_RDX] = (val >> 32);
1872 cpudata->gprs[NVMM_X64_GPR_RAX] = (val & 0xFFFFFFFF);
1873 cpudata->gprs[NVMM_X64_GPR_RDX] = (val >> 32);
1890 cpudata->gprs[NVMM_X64_GPR_RAX] = (val & 0xFFFFFFFF);
1891 cpudata->gprs[NVMM_X64_GPR_RDX] = (val >> 32);
1898 cpudata->gprs[NVMM_X64_GPR_RAX] = (val & 0xFFFFFFFF);
1899 cpudata->gprs[NVMM_X64_GPR_RDX] = (val >> 32);
1946 exit->u.rdmsr.msr = (cpudata->gprs[NVMM_X64_GPR_RCX] & 0xFFFFFFFF);
1967 rdx = cpudata->gprs[NVMM_X64_GPR_RDX];
1968 rax = cpudata->gprs[NVMM_X64_GPR_RAX];
1971 exit->u.wrmsr.msr = (cpudata->gprs[NVMM_X64_GPR_RCX] & 0xFFFFFFFF);
1995 val = (cpudata->gprs[NVMM_X64_GPR_RDX] << 32) |
1996 (cpudata->gprs[NVMM_X64_GPR_RAX] & 0xFFFFFFFF);
1998 if (__predict_false(cpudata->gprs[NVMM_X64_GPR_RCX] != 0)) {
2284 ret = vmx_vmresume(cpudata->gprs);
2286 ret = vmx_vmlaunch(cpudata->gprs);
2609 CTASSERT(sizeof(cpudata->gprs) == sizeof(state->gprs));
2611 memcpy(cpudata->gprs, state->gprs, sizeof(state->gprs));
2613 vmx_vmwrite(VMCS_GUEST_RIP, state->gprs[NVMM_X64_GPR_RIP]);
2614 vmx_vmwrite(VMCS_GUEST_RSP, state->gprs[NVMM_X64_GPR_RSP]);
2615 vmx_vmwrite(VMCS_GUEST_RFLAGS, state->gprs[NVMM_X64_GPR_RFLAGS]);
2761 CTASSERT(sizeof(cpudata->gprs) == sizeof(state->gprs));
2763 memcpy(state->gprs, cpudata->gprs, sizeof(state->gprs));
2765 state->gprs[NVMM_X64_GPR_RIP] = vmx_vmread(VMCS_GUEST_RIP);
2766 state->gprs[NVMM_X64_GPR_RSP] = vmx_vmread(VMCS_GUEST_RSP);
2767 state->gprs[NVMM_X64_GPR_RFLAGS] = vmx_vmread(VMCS_GUEST_RFLAGS);