Lines Matching full:regs

83 	unsigned int func, regs[4], logical_cpus, param;
127 cpuid_count(func, param, regs);
130 cpuid_count(func, param, regs);
137 regs[1] &= (AMDFEID_CLZERO | AMDFEID_IRPERF |
156 regs[2] = (width << AMDID_COREID_SIZE_SHIFT) | logical_cpus;
161 cpuid_count(func, param, regs);
166 regs[2] &= ~AMDID2_SVM;
172 regs[2] &= ~AMDID2_PCXC;
173 regs[2] &= ~AMDID2_PNXC;
174 regs[2] &= ~AMDID2_PTSCEL2I;
179 regs[2] &= ~AMDID2_IBS;
182 regs[2] &= ~AMDID2_NODE_ID;
185 regs[2] &= ~AMDID2_OSVW;
188 regs[2] &= ~AMDID2_MWAITX;
194 regs[3] |= AMDID_RDTSCP;
196 regs[3] &= ~AMDID_RDTSCP;
210 regs[0] = 0;
211 regs[1] = 0;
212 regs[2] = 0;
213 regs[3] = 0;
227 regs[3] |= AMDPM_TSC_INVARIANT;
266 regs[0] = (logical_cpus << 14) | (1 << 8) |
268 regs[1] = (func > 0) ? (CACHE_LINE_SIZE - 1) : 0;
269 regs[2] = 0;
270 regs[3] = 0;
283 regs[0] = vcpu_id;
285 regs[1] = (threads << 8) |
291 regs[2] = 0;
292 regs[3] = 0;
296 do_cpuid(1, regs);
307 regs[1] &= ~(CPUID_LOCAL_APIC_ID);
308 regs[1] |= (vcpu_id << CPUID_0000_0001_APICID_SHIFT);
314 regs[2] &= ~(CPUID2_VMX | CPUID2_EST | CPUID2_TM2);
315 regs[2] &= ~(CPUID2_SMX);
317 regs[2] |= CPUID2_HV;
320 regs[2] |= CPUID2_X2APIC;
322 regs[2] &= ~CPUID2_X2APIC;
328 if (!(regs[2] & CPUID2_OSXSAVE))
329 regs[2] &= ~CPUID2_XSAVE;
336 regs[2] &= ~CPUID2_OSXSAVE;
337 if (regs[2] & CPUID2_XSAVE) {
344 regs[2] |= CPUID2_OSXSAVE;
351 regs[2] &= ~CPUID2_MON;
356 regs[2] &= ~CPUID2_PDCM;
361 regs[2] &= ~CPUID2_TSCDLT;
366 regs[3] &= ~(CPUID_ACPI | CPUID_TM);
371 regs[3] &= ~CPUID_DS;
379 regs[3] |= (CPUID_MCA | CPUID_MCE | CPUID_MTRR);
384 regs[1] &= ~CPUID_HTT_CORES;
385 regs[1] |= (logical_cpus & 0xff) << 16;
386 regs[3] |= CPUID_HTT;
390 cpuid_count(func, param, regs);
392 if (regs[0] || regs[1] || regs[2] || regs[3]) {
395 regs[0] &= 0x3ff;
396 regs[0] |= (cores - 1) << 26;
405 level = (regs[0] >> 5) & 0x7;
408 regs[0] |= (logical_cpus - 1) << 14;
413 regs[0] = 0;
414 regs[1] = 0;
415 regs[2] = 0;
416 regs[3] = 0;
420 cpuid_count(func, param, regs);
423 regs[0] = 0;
428 regs[1] &= CPUID_STDEXT_FSGSBASE |
442 regs[2] &= CPUID_STDEXT2_VAES |
444 regs[3] &= CPUID_STDEXT3_MD_CLEAR;
450 regs[2] |= CPUID_STDEXT2_RDPID;
456 regs[1] |= CPUID_STDEXT_INVPCID;
461 regs[0] = CPUTPM1_ARAT;
462 regs[1] = 0;
463 regs[2] = 0;
464 regs[3] = 0;
472 regs[0] = 0;
473 regs[1] = 0;
474 regs[2] = 0;
475 regs[3] = 0;
506 regs[0] = width & 0x1f;
507 regs[1] = logical_cpus & 0xffff;
508 regs[2] = (level << 8) | (param & 0xff);
509 regs[3] = x2apic_id;
511 regs[0] = 0;
512 regs[1] = 0;
513 regs[2] = 0;
514 regs[3] = 0;
521 regs[0] = 0;
522 regs[1] = 0;
523 regs[2] = 0;
524 regs[3] = 0;
528 cpuid_count(func, param, regs);
542 regs[0] &= limits->xcr0_allowed;
543 regs[2] = limits->xsave_max_size;
544 regs[3] &= (limits->xcr0_allowed >> 32);
548 regs[0] &= CPUID_EXTSTATE_XSAVEOPT;
549 regs[1] = 0;
550 regs[2] = 0;
551 regs[3] = 0;
560 regs[0] = 0;
561 regs[1] = 0;
562 regs[2] = 0;
563 regs[3] = 0;
581 regs[0] = 0;
582 regs[1] = 0;
583 regs[2] = 0;
584 regs[3] = 0;
593 regs[0] = 0;
594 regs[1] = 0;
595 regs[2] = 0;
596 regs[3] = 0;
600 regs[0] = CPUID_VM_HIGH;
601 bcopy(bhyve_id, &regs[1], 4);
602 bcopy(bhyve_id + 4, &regs[2], 4);
603 bcopy(bhyve_id + 8, &regs[3], 4);
614 cpuid_count(func, param, regs);
621 *rax = regs[0];
622 *rbx = regs[1];
623 *rcx = regs[2];
624 *rdx = regs[3];