/xen/xen/lib/x86/ |
A D | cpuid.c | 101 p->cache.subleaf[i] = u.c; in x86_cpuid_policy_fill_native() 138 p->topo.subleaf[i] = u.t; in x86_cpuid_policy_fill_native() 316 for ( subleaf = 0; subleaf < ARRAY_SIZE(p->cache.raw); ++subleaf ) in x86_cpuid_copy_to_buffer() 318 COPY_LEAF(leaf, subleaf, &p->cache.raw[subleaf]); in x86_cpuid_copy_to_buffer() 320 if ( p->cache.subleaf[subleaf].type == 0 ) in x86_cpuid_copy_to_buffer() 326 for ( subleaf = 0; in x86_cpuid_copy_to_buffer() 329 COPY_LEAF(leaf, subleaf, &p->feat.raw[subleaf]); in x86_cpuid_copy_to_buffer() 333 for ( subleaf = 0; subleaf < ARRAY_SIZE(p->topo.raw); ++subleaf ) in x86_cpuid_copy_to_buffer() 335 COPY_LEAF(leaf, subleaf, &p->topo.raw[subleaf]); in x86_cpuid_copy_to_buffer() 337 if ( p->topo.subleaf[subleaf].type == 0 ) in x86_cpuid_copy_to_buffer() [all …]
|
A D | policy.c | 14 do { e.leaf = (l); e.subleaf = (s); goto out; } while ( 0 ) in x86_cpu_policies_are_compatible()
|
/xen/tools/tests/cpu-policy/ |
A D | test-cpu-policy.c | 82 if ( leaves[i - 1].subleaf >= leaves[i].subleaf ) in leaves_are_sorted() 132 .cache.subleaf[0].type = 1, in test_cpuid_serialise_success() 166 .topo.subleaf[0].type = 1, in test_cpuid_serialise_success() 286 .leaf = { .leaf = 0, .subleaf = 0 }, in test_cpuid_deserialise_failure() 290 .leaf = { .leaf = 0x40000000, .subleaf = 0 }, in test_cpuid_deserialise_failure() 294 .leaf = { .leaf = 0x40000100, .subleaf = 0 }, in test_cpuid_deserialise_failure() 298 .leaf = { .leaf = 0x80000000, .subleaf = 0 }, in test_cpuid_deserialise_failure() 348 t->name, t->leaf.leaf, t->leaf.subleaf, in test_cpuid_deserialise_failure() 602 t->name, res, e.leaf, e.subleaf, e.msr); in test_is_compatible_success() 656 t->e.leaf, t->e.subleaf, t->e.msr, in test_is_compatible_failure() [all …]
|
/xen/xen/arch/x86/ |
A D | cpuid.c | 677 if ( p->cache.subleaf[i].type >= 1 && in recalculate_cpuid_policy() 678 p->cache.subleaf[i].type <= 3 ) in recalculate_cpuid_policy() 738 uint32_t subleaf, struct cpuid_leaf *res) in guest_cpuid() argument 763 if ( subleaf >= ARRAY_SIZE(p->cache.raw) ) in guest_cpuid() 775 *res = array_access_nospec(p->feat.raw, subleaf); in guest_cpuid() 779 if ( subleaf >= ARRAY_SIZE(p->topo.raw) ) in guest_cpuid() 782 *res = array_access_nospec(p->topo.raw, subleaf); in guest_cpuid() 990 switch ( subleaf ) in guest_cpuid() 1025 *(uint8_t *)&res->c = subleaf; in guest_cpuid() 1033 switch ( subleaf ) in guest_cpuid() [all …]
|
A D | x86_emulate.c | 170 int x86emul_cpuid(uint32_t leaf, uint32_t subleaf, in x86emul_cpuid() argument 173 guest_cpuid(current, leaf, subleaf, res); in x86emul_cpuid()
|
A D | traps.c | 958 uint32_t subleaf, struct cpuid_leaf *res) in cpuid_hypervisor_leaves() argument 998 switch ( subleaf ) in cpuid_hypervisor_leaves() 1032 if ( !is_hvm_domain(d) || subleaf != 0 ) in cpuid_hypervisor_leaves() 1066 if ( is_hvm_domain(d) || subleaf != 0 ) in cpuid_hypervisor_leaves()
|
A D | domctl.c | 237 &err.leaf, &err.subleaf)) || in update_domain_cpu_policy() 271 xdpc->err_subleaf = err.subleaf; in update_domain_cpu_policy()
|
/xen/tools/libxc/ |
A D | xc_cpuid_x86.c | 268 if ( lhs->subleaf != rhs->subleaf ) in compare_leaves() 269 return lhs->subleaf < rhs->subleaf ? -1 : 1; in compare_leaves() 278 const xen_cpuid_leaf_t key = { xend->leaf, xend->subleaf }; in find_leaf() 367 ERROR("Missing leaf %#x, subleaf %#x", xend->leaf, xend->subleaf); in xc_cpuid_xend_policy() 592 for ( i = 0; (p->cache.subleaf[i].type && in xc_cpuid_apply_policy() 595 p->cache.subleaf[i].cores_per_package = in xc_cpuid_apply_policy() 596 (p->cache.subleaf[i].cores_per_package << 1) | 1; in xc_cpuid_apply_policy() 597 p->cache.subleaf[i].threads_per_cache = 0; in xc_cpuid_apply_policy()
|
/xen/tools/tests/x86_emulator/ |
A D | x86-emulate.c | 137 uint32_t subleaf, in emul_test_cpuid() argument 143 : "a" (leaf), "c" (subleaf)); in emul_test_cpuid() 156 if ( leaf == 7 && subleaf == 0 ) in emul_test_cpuid()
|
A D | x86-emulate.h | 184 uint32_t subleaf,
|
/xen/tools/libxl/ |
A D | libxl_cpuid.c | 56 uint32_t subleaf; member 66 uint32_t leaf, uint32_t subleaf) in cpuid_find_match() argument 72 if ((*list)[i].input[0] == leaf && (*list)[i].input[1] == subleaf) in cpuid_find_match() 78 (*list)[i].input[1] = subleaf; in cpuid_find_match() 308 entry = cpuid_find_match(cpuid, flag->leaf, flag->subleaf); in libxl_cpuid_parse_config() 368 uint32_t leaf, subleaf = XEN_CPUID_INPUT_UNUSED; in libxl_cpuid_parse_config_xend() local 384 subleaf = value; in libxl_cpuid_parse_config_xend() 390 entry = cpuid_find_match(cpuid, leaf, subleaf); in libxl_cpuid_parse_config_xend()
|
/xen/xen/include/xen/lib/x86/ |
A D | cpuid.h | 57 uint32_t leaf, uint32_t subleaf, struct cpuid_leaf *l) in cpuid_count_leaf() argument 63 : "a" (leaf), "c" (subleaf) ); in cpuid_count_leaf() 163 } subleaf[CPUID_GUEST_NR_CACHE]; member 201 } subleaf[CPUID_GUEST_NR_TOPO]; member
|
A D | cpu-policy.h | 16 uint32_t leaf, subleaf; member
|
/xen/xen/include/asm-x86/ |
A D | processor.h | 254 unsigned int leaf, unsigned int subleaf) in cpuid_count_ebx() argument 258 cpuid_count(leaf, subleaf, &tmp, &ebx, &tmp, &tmp); in cpuid_count_ebx() 264 unsigned int leaf, unsigned int subleaf) in cpuid_count_edx() argument 268 cpuid_count(leaf, subleaf, &tmp, &tmp, &tmp, &edx); in cpuid_count_edx() 605 uint32_t subleaf, struct cpuid_leaf *res);
|
A D | cpuid.h | 68 uint32_t subleaf, struct cpuid_leaf *res);
|
/xen/xen/arch/x86/hvm/ |
A D | monitor.c | 196 unsigned int subleaf) in hvm_monitor_cpuid() argument 208 req.u.cpuid.subleaf = subleaf; in hvm_monitor_cpuid()
|
A D | hvm.c | 3438 unsigned int leaf = regs->eax, subleaf = regs->ecx; in hvm_vmexit_cpuid() local 3448 guest_cpuid(curr, leaf, subleaf, &res); in hvm_vmexit_cpuid() 3449 HVMTRACE_6D(CPUID, leaf, subleaf, res.a, res.b, res.c, res.d); in hvm_vmexit_cpuid() 3456 return hvm_monitor_cpuid(inst_len, leaf, subleaf); in hvm_vmexit_cpuid()
|
/xen/xen/include/asm-x86/hvm/ |
A D | monitor.h | 47 unsigned int subleaf);
|
A D | viridian.h | 68 uint32_t subleaf, struct cpuid_leaf *res);
|
/xen/xen/arch/x86/x86_emulate/ |
A D | x86_emulate.h | 532 uint32_t subleaf, 801 int x86emul_cpuid(uint32_t leaf, uint32_t subleaf,
|
/xen/xen/include/public/arch-x86/ |
A D | xen.h | 323 uint32_t leaf, subleaf; member
|
/xen/xen/include/public/ |
A D | vm_event.h | 327 uint32_t subleaf; member
|
/xen/tools/misc/ |
A D | xen-cpuid.c | 343 leaves[l].leaf, leaves[l].subleaf, in print_policy()
|
/xen/xen/arch/x86/hvm/viridian/ |
A D | viridian.c | 111 uint32_t subleaf, struct cpuid_leaf *res) in cpuid_viridian_leaves() argument
|
/xen/tools/tests/xen-access/ |
A D | xen-access.c | 857 req.u.cpuid.subleaf, in main()
|