Home
last modified time | relevance | path

Searched refs:leaf (Results 1 – 8 of 8) sorted by relevance

/kernel/arch/x86/include/arch/x86/
A Dfeature.h57 #define X86_CPUID_BIT(leaf, word, bit) \ argument
71 if (leaf < X86_CPUID_HYP_BASE) { in x86_get_cpuid_leaf()
72 if (unlikely(leaf > max_cpuid)) in x86_get_cpuid_leaf()
75 return &_cpuid[leaf]; in x86_get_cpuid_leaf()
101 if (!leaf) in x86_feature_test()
180 if (!leaf) in x86_linear_address_width()
187 return (leaf->a >> 8) & 0xff; in x86_linear_address_width()
193 if (!leaf) in x86_physical_address_width()
200 return leaf->a & 0xff; in x86_physical_address_width()
206 if (!leaf) in x86_get_clflush_line_size()
[all …]
/kernel/arch/x86/
A Dcpu_topology.cpp82 if (!leaf) in extended_amd_topology_init()
86 uint32_t apic_id_core_id_size = BITS_SHIFT(leaf->c, 15, 12); in extended_amd_topology_init()
102 leaf = x86_get_cpuid_leaf(X86_CPUID_AMD_TOPOLOGY); in extended_amd_topology_init()
103 if (!leaf) in extended_amd_topology_init()
117 uint32_t nodes_per_processor = BITS_SHIFT(leaf->c, 10, 8) + 1; in extended_amd_topology_init()
140 if (!leaf) { in legacy_topology_init()
144 bool pkg_size_valid = !!(leaf->d & (1 << 28)); in legacy_topology_init()
150 uint8_t max_num_subpackage = (leaf->b >> 16) & 0xff; in legacy_topology_init()
152 leaf = x86_get_cpuid_leaf(X86_CPUID_CACHE_V2); in legacy_topology_init()
153 if (!leaf) { in legacy_topology_init()
[all …]
A Dregisters.cpp406 struct cpuid_leaf leaf; in read_xsave_state_info() local
411 xcr0_component_bitmap = ((uint64_t)leaf.d << 32) | leaf.a; in read_xsave_state_info()
418 xss_component_bitmap = ((uint64_t)leaf.d << 32) | leaf.c; in read_xsave_state_info()
442 bool align64 = !!(leaf.c & 0x2); in read_xsave_state_info()
444 state_components[i].size = leaf.a; in read_xsave_state_info()
453 max_area += leaf.a; in read_xsave_state_info()
485 struct cpuid_leaf leaf; in recompute_state_size() local
487 new_size = leaf.b; in recompute_state_size()
603 cpuid_leaf leaf; in x86_get_extended_register_state_component() local
605 *size = leaf.a; in x86_get_extended_register_state_component()
[all …]
A Dfeature.cpp109 if (leaf) { in x86_feature_init()
110 model_info.processor_type = (uint8_t)BITS_SHIFT(leaf->a, 13, 12); in x86_feature_init()
111 model_info.family = (uint8_t)BITS_SHIFT(leaf->a, 11, 8); in x86_feature_init()
112 model_info.model = (uint8_t)BITS_SHIFT(leaf->a, 7, 4); in x86_feature_init()
113 model_info.stepping = (uint8_t)BITS_SHIFT(leaf->a, 3, 0); in x86_feature_init()
118 model_info.display_family += BITS_SHIFT(leaf->a, 27, 20); in x86_feature_init()
122 model_info.display_model += BITS_SHIFT(leaf->a, 19, 16) << 4; in x86_feature_init()
215 cpuid_c((uint32_t)num, subleaf, &leaf->a, &leaf->b, &leaf->c, &leaf->d); in x86_get_cpuid_subleaf()
346 const struct cpuid_leaf* leaf; in x86_feature_debug() local
350 if (!leaf) { in x86_feature_debug()
[all …]
A Dproc_trace.cpp118 struct cpuid_leaf leaf; in x86_processor_trace_init() local
126 supports_cr3_filtering = !!(leaf.b & (1 << 0)); in x86_processor_trace_init()
127 supports_psb = !!(leaf.b & (1 << 1)); in x86_processor_trace_init()
128 supports_ip_filtering = !!(leaf.b & (1 << 2)); in x86_processor_trace_init()
129 supports_mtc = !!(leaf.b & (1 << 3)); in x86_processor_trace_init()
130 supports_ptwrite = !!(leaf.b & (1 << 4)); in x86_processor_trace_init()
131 supports_power_events = !!(leaf.b & (1 << 5)); in x86_processor_trace_init()
133 supports_output_topa = !!(leaf.c & (1 << 0)); in x86_processor_trace_init()
134 supports_output_topa_multi = !!(leaf.c & (1 << 1)); in x86_processor_trace_init()
135 supports_output_single = !!(leaf.c & (1 << 2)); in x86_processor_trace_init()
[all …]
A Dperf_mon.cpp477 struct cpuid_leaf leaf; in x86_perfmon_init_once() local
478 if (!x86_get_cpuid_subleaf(X86_CPUID_PERFORMANCE_MONITORING, 0, &leaf)) { in x86_perfmon_init_once()
482 perfmon_version = leaf.a & 0xff; in x86_perfmon_init_once()
484 perfmon_num_programmable_counters = (leaf.a >> 8) & 0xff; in x86_perfmon_init_once()
490 perfmon_programmable_counter_width = (leaf.a >> 16) & 0xff; in x86_perfmon_init_once()
504 unsigned ebx_length = (leaf.a >> 24) & 0xff; in x86_perfmon_init_once()
510 perfmon_unsupported_events = leaf.b & ((1u << ebx_length) - 1); in x86_perfmon_init_once()
512 perfmon_num_fixed_counters = leaf.d & 0x1f; in x86_perfmon_init_once()
518 perfmon_fixed_counter_width = (leaf.d >> 5) & 0xff; in x86_perfmon_init_once()
/kernel/arch/x86/hypervisor/
A Dvmexit.cpp173 cpuid_leaf leaf; in compute_xsave_size() local
178 if (leaf.a == 0 && leaf.b == 0 && leaf.c == 0 && leaf.d == 0) in compute_xsave_size()
180 const uint32_t component_offset = leaf.b; in compute_xsave_size()
181 const uint32_t component_size = leaf.a; in compute_xsave_size()
193 switch (leaf) { in handle_cpuid()
196 cpuid(leaf, in handle_cpuid()
204 cpuid_c(leaf, subleaf, in handle_cpuid()
209 switch (leaf) { in handle_cpuid()
986 cpuid_leaf leaf; in handle_xsetbv() local
987 if (!x86_get_cpuid_subleaf(X86_CPUID_XSAVE, 0, &leaf)) in handle_xsetbv()
[all …]
/kernel/arch/arm64/
A Drules.mk100 KEEP_FRAME_POINTER_COMPILEFLAGS += -mno-omit-leaf-frame-pointer

Completed in 27 milliseconds