Lines Matching +full:0 +full:x8000000a

192 	[GDT_ENTRY_KERNEL32_CS]		= GDT_ENTRY_INIT(DESC_CODE32, 0, 0xfffff),
193 [GDT_ENTRY_KERNEL_CS] = GDT_ENTRY_INIT(DESC_CODE64, 0, 0xfffff),
194 [GDT_ENTRY_KERNEL_DS] = GDT_ENTRY_INIT(DESC_DATA64, 0, 0xfffff),
195 [GDT_ENTRY_DEFAULT_USER32_CS] = GDT_ENTRY_INIT(DESC_CODE32 | DESC_USER, 0, 0xfffff),
196 [GDT_ENTRY_DEFAULT_USER_DS] = GDT_ENTRY_INIT(DESC_DATA64 | DESC_USER, 0, 0xfffff),
197 [GDT_ENTRY_DEFAULT_USER_CS] = GDT_ENTRY_INIT(DESC_CODE64 | DESC_USER, 0, 0xfffff),
199 [GDT_ENTRY_KERNEL_CS] = GDT_ENTRY_INIT(DESC_CODE32, 0, 0xfffff),
200 [GDT_ENTRY_KERNEL_DS] = GDT_ENTRY_INIT(DESC_DATA32, 0, 0xfffff),
201 [GDT_ENTRY_DEFAULT_USER_CS] = GDT_ENTRY_INIT(DESC_CODE32 | DESC_USER, 0, 0xfffff),
202 [GDT_ENTRY_DEFAULT_USER_DS] = GDT_ENTRY_INIT(DESC_DATA32 | DESC_USER, 0, 0xfffff),
208 [GDT_ENTRY_PNPBIOS_CS32] = GDT_ENTRY_INIT(DESC_CODE32_BIOS, 0, 0xffff),
209 [GDT_ENTRY_PNPBIOS_CS16] = GDT_ENTRY_INIT(DESC_CODE16, 0, 0xffff),
210 [GDT_ENTRY_PNPBIOS_DS] = GDT_ENTRY_INIT(DESC_DATA16, 0, 0xffff),
211 [GDT_ENTRY_PNPBIOS_TS1] = GDT_ENTRY_INIT(DESC_DATA16, 0, 0),
212 [GDT_ENTRY_PNPBIOS_TS2] = GDT_ENTRY_INIT(DESC_DATA16, 0, 0),
217 [GDT_ENTRY_APMBIOS_BASE] = GDT_ENTRY_INIT(DESC_CODE32_BIOS, 0, 0xffff),
218 [GDT_ENTRY_APMBIOS_BASE+1] = GDT_ENTRY_INIT(DESC_CODE16, 0, 0xffff),
219 [GDT_ENTRY_APMBIOS_BASE+2] = GDT_ENTRY_INIT(DESC_DATA32_BIOS, 0, 0xffff),
221 [GDT_ENTRY_ESPFIX_SS] = GDT_ENTRY_INIT(DESC_DATA32, 0, 0xfffff),
222 [GDT_ENTRY_PERCPU] = GDT_ENTRY_INIT(DESC_DATA32, 0, 0xfffff),
236 return 0; in x86_nopcid_setup()
240 return 0; in x86_nopcid_setup()
253 return 0; in x86_noinvpcid_setup()
257 return 0; in x86_noinvpcid_setup()
286 "popl %0 \n\t" in flag_is_changeable_p()
287 "movl %0, %1 \n\t" in flag_is_changeable_p()
288 "xorl %2, %0 \n\t" in flag_is_changeable_p()
289 "pushl %0 \n\t" in flag_is_changeable_p()
292 "popl %0 \n\t" in flag_is_changeable_p()
298 return ((f1^f2) & flag) != 0; in flag_is_changeable_p()
317 lo |= 0x200000; in squash_the_stupid_serial_number()
324 c->cpuid_level = cpuid_eax(0); in squash_the_stupid_serial_number()
329 disable_x86_serial_nr = 0; in x86_serial_nr_setup()
393 unsigned long bits_missing = 0; in native_write_cr0()
396 asm volatile("mov %0,%%cr0": "+r" (val) : : "memory"); in native_write_cr0()
412 unsigned long bits_changed = 0; in native_write_cr4()
415 asm volatile("mov %0,%%cr4": "+r" (val) : : "memory"); in native_write_cr4()
424 WARN_ONCE(bits_changed, "pinned CR4 bits changed: 0x%lx!?\n", in native_write_cr4()
483 return 0; in x86_nofsgsbase_setup()
545 u64 msr = 0; in ibt_save()
590 wrmsrl(MSR_IA32_S_CET, 0); in setup_cet()
596 wrmsrl(MSR_IA32_S_CET, 0); in setup_cet()
607 wrmsrl(MSR_IA32_S_CET, 0); in cet_disable()
608 wrmsrl(MSR_IA32_U_CET, 0); in cet_disable()
623 { X86_FEATURE_MWAIT, 0x00000005 },
624 { X86_FEATURE_DCA, 0x00000009 },
625 { X86_FEATURE_XSAVE, 0x0000000d },
626 { 0, 0 }
639 * extended_extended_level is set to 0 if unavailable in filter_cpuid_features()
644 if (!((s32)df->level < 0 ? in filter_cpuid_features()
653 pr_warn("CPU: CPU feature " X86_CAP_FMT " disabled, no CPUID level 0x%x\n", in filter_cpuid_features()
661 * in particular, if CPUID levels 0x80000002..4 are supported, this
745 * per CPU stack canary is 0 in both per CPU areas. in switch_gdt_and_percpu_base()
767 if (c->extended_cpuid_level < 0x80000004) in get_model_name()
771 cpuid(0x80000002, &v[0], &v[1], &v[2], &v[3]); in get_model_name()
772 cpuid(0x80000003, &v[4], &v[5], &v[6], &v[7]); in get_model_name()
773 cpuid(0x80000004, &v[8], &v[9], &v[10], &v[11]); in get_model_name()
774 c->x86_model_id[48] = 0; in get_model_name()
777 p = q = s = &c->x86_model_id[0]; in get_model_name()
790 *(s + 1) = '\0'; in get_model_name()
801 cpuid_count(4, 0, &eax, &ebx, &ecx, &edx); in detect_num_cpu_cores()
802 if (eax & 0x1f) in detect_num_cpu_cores()
812 if (n >= 0x80000005) { in cpu_detect_cache_sizes()
813 cpuid(0x80000005, &dummy, &ebx, &ecx, &edx); in cpu_detect_cache_sizes()
817 c->x86_tlbsize = 0; in cpu_detect_cache_sizes()
821 if (n < 0x80000006) /* Some chips just has a large L1. */ in cpu_detect_cache_sizes()
824 cpuid(0x80000006, &dummy, &ebx, &ecx, &edx); in cpu_detect_cache_sizes()
828 c->x86_tlbsize += ((ebx >> 16) & 0xfff) + (ebx & 0xfff); in cpu_detect_cache_sizes()
838 if (l2size == 0) in cpu_detect_cache_sizes()
883 smp_num_siblings = (ebx & 0xff0000) >> 16; in detect_ht_early()
887 return 0; in detect_ht_early()
895 if (detect_ht_early(c) < 0) in detect_ht()
917 for (i = 0; i < X86_VENDOR_NUM; i++) { in get_cpu_vendor()
921 if (!strcmp(v, cpu_devs[i]->c_ident[0]) || in get_cpu_vendor()
941 cpuid(0x00000000, (unsigned int *)&c->cpuid_level, in cpu_detect()
942 (unsigned int *)&c->x86_vendor_id[0], in cpu_detect()
947 /* Intel-defined flags: level 0x00000001 */ in cpu_detect()
948 if (c->cpuid_level >= 0x00000001) { in cpu_detect()
951 cpuid(0x00000001, &tfms, &misc, &junk, &cap0); in cpu_detect()
957 c->x86_clflush_size = ((misc >> 8) & 0xff) * 8; in cpu_detect()
967 for (i = 0; i < NCAPINTS + NBUGINTS; i++) { in apply_forced_caps()
1018 /* Intel-defined flags: level 0x00000001 */ in get_cpu_cap()
1019 if (c->cpuid_level >= 0x00000001) { in get_cpu_cap()
1020 cpuid(0x00000001, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1026 /* Thermal and Power Management Leaf: level 0x00000006 (eax) */ in get_cpu_cap()
1027 if (c->cpuid_level >= 0x00000006) in get_cpu_cap()
1028 c->x86_capability[CPUID_6_EAX] = cpuid_eax(0x00000006); in get_cpu_cap()
1030 /* Additional Intel-defined flags: level 0x00000007 */ in get_cpu_cap()
1031 if (c->cpuid_level >= 0x00000007) { in get_cpu_cap()
1032 cpuid_count(0x00000007, 0, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1039 cpuid_count(0x00000007, 1, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1044 /* Extended state features: level 0x0000000d */ in get_cpu_cap()
1045 if (c->cpuid_level >= 0x0000000d) { in get_cpu_cap()
1046 cpuid_count(0x0000000d, 1, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1051 /* AMD-defined flags: level 0x80000001 */ in get_cpu_cap()
1052 eax = cpuid_eax(0x80000000); in get_cpu_cap()
1055 if ((eax & 0xffff0000) == 0x80000000) { in get_cpu_cap()
1056 if (eax >= 0x80000001) { in get_cpu_cap()
1057 cpuid(0x80000001, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1064 if (c->extended_cpuid_level >= 0x80000007) { in get_cpu_cap()
1065 cpuid(0x80000007, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1071 if (c->extended_cpuid_level >= 0x80000008) { in get_cpu_cap()
1072 cpuid(0x80000008, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1076 if (c->extended_cpuid_level >= 0x8000000a) in get_cpu_cap()
1077 c->x86_capability[CPUID_8000_000A_EDX] = cpuid_edx(0x8000000a); in get_cpu_cap()
1079 if (c->extended_cpuid_level >= 0x8000001f) in get_cpu_cap()
1080 c->x86_capability[CPUID_8000_001F_EAX] = cpuid_eax(0x8000001f); in get_cpu_cap()
1082 if (c->extended_cpuid_level >= 0x80000021) in get_cpu_cap()
1083 c->x86_capability[CPUID_8000_0021_EAX] = cpuid_eax(0x80000021); in get_cpu_cap()
1102 (c->extended_cpuid_level < 0x80000008)) in get_cpu_address_sizes()
1106 cpuid(0x80000008, &eax, &ebx, &ecx, &edx); in get_cpu_address_sizes()
1108 c->x86_virt_bits = (eax >> 8) & 0xff; in get_cpu_address_sizes()
1109 c->x86_phys_bits = eax & 0xff; in get_cpu_address_sizes()
1143 for (i = 0; i < X86_VENDOR_NUM; i++) in identify_cpu_without_cpuid()
1145 c->x86_vendor_id[0] = 0; in identify_cpu_without_cpuid()
1147 if (c->x86_vendor_id[0]) { in identify_cpu_without_cpuid()
1155 #define NO_SPECULATION BIT(0)
1227 /* AMD Family 0xf - 0x12 */
1228 VULNWL_AMD(0x0f, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO),
1229 VULNWL_AMD(0x10, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO),
1230 VULNWL_AMD(0x11, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO),
1231 VULNWL_AMD(0x12, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO),
1233 /* FAMILY_ANY must be last, otherwise 0x0f - 0x12 matches won't work */
1257 #define SRBDS BIT(0)
1291 VULNBL_INTEL_STEPPINGS(COMETLAKE_L, X86_STEPPINGS(0x0, 0x0), MMIO | RETBLEED),
1301 VULNBL_AMD(0x15, RETBLEED),
1302 VULNBL_AMD(0x16, RETBLEED),
1303 VULNBL_AMD(0x17, RETBLEED | SMT_RSB | SRSO),
1304 VULNBL_HYGON(0x18, RETBLEED | SMT_RSB | SRSO),
1305 VULNBL_AMD(0x19, SRSO),
1318 u64 ia32_cap = 0; in x86_read_arch_cap_msr()
1377 * When the CPU is not mitigated for TAA (TAA_NO=0) set TAA bug when: in cpu_set_bug_bits()
1485 int arglen, taint = 0; in cpu_parse_early_param()
1512 if (arglen <= 0) in cpu_parse_early_param()
1546 for (bit = 0; bit < 32 * NCAPINTS; bit++) { in cpu_parse_early_param()
1580 memset(&c->x86_capability, 0, sizeof(c->x86_capability)); in early_identify_cpu()
1581 c->extended_cpuid_level = 0; in early_identify_cpu()
1598 c->cpu_index = 0; in early_identify_cpu()
1643 int count = 0; in early_cpu_init()
1661 for (j = 0; j < 2; j++) { in early_cpu_init()
1693 loadsegment(fs, 0); in detect_null_seg_behavior()
1696 return tmp == 0; in detect_null_seg_behavior()
1722 * 0x18 is the respective family for Hygon. in check_null_seg_clears_base()
1724 if ((c->x86 == 0x17 || c->x86 == 0x18) && in check_null_seg_clears_base()
1734 c->extended_cpuid_level = 0; in generic_identify()
1751 if (c->cpuid_level >= 0x00000001) { in generic_identify()
1752 c->topo.initial_apicid = (cpuid_ebx(1) >> 24) & 0xFF; in generic_identify()
1755 c->topo.apicid = apic->phys_pkg_id(c->topo.initial_apicid, 0); in generic_identify()
1767 * systems that run Linux at CPL > 0 may or may not have the in generic_identify()
1802 c->topo.logical_pkg_id = 0; in validate_apic_and_package_id()
1814 c->x86_cache_size = 0; in identify_cpu()
1816 c->x86_model = c->x86_stepping = 0; /* So far unknown... */ in identify_cpu()
1817 c->x86_vendor_id[0] = '\0'; /* Unset */ in identify_cpu()
1818 c->x86_model_id[0] = '\0'; /* Unset */ in identify_cpu()
1820 c->x86_coreid_bits = 0; in identify_cpu()
1821 c->topo.cu_id = 0xff; in identify_cpu()
1835 memset(&c->x86_capability, 0, sizeof(c->x86_capability)); in identify_cpu()
1837 memset(&c->vmx_capability, 0, sizeof(c->vmx_capability)); in identify_cpu()
1849 c->topo.apicid = apic->phys_pkg_id(c->topo.initial_apicid, 0); in identify_cpu()
1895 if (!c->x86_model_id[0]) { in identify_cpu()
1928 for (i = 0; i < NCAPINTS; i++) in identify_cpu()
1970 wrmsr(MSR_IA32_SYSENTER_CS, tss->x86_tss.ss1, 0); in enable_sep_cpu()
1971 wrmsr(MSR_IA32_SYSENTER_ESP, (unsigned long)(cpu_entry_stack(cpu) + 1), 0); in enable_sep_cpu()
1972 wrmsr(MSR_IA32_SYSENTER_EIP, (unsigned long)entry_SYSENTER_32, 0); in enable_sep_cpu()
2017 if (c->cpuid_level >= 0) in print_cpu_info()
2024 if (c->x86_model_id[0]) in print_cpu_info()
2029 pr_cont(" (family: 0x%x, model: 0x%x", c->x86, c->x86_model); in print_cpu_info()
2031 if (c->x86_stepping || c->cpuid_level >= 0) in print_cpu_info()
2032 pr_cont(", stepping: 0x%x)\n", c->x86_stepping); in print_cpu_info()
2073 wrmsr(MSR_STAR, 0, (__USER32_CS << 16) | __KERNEL_CS); in syscall_init()
2091 wrmsrl_safe(MSR_IA32_SYSENTER_ESP, 0ULL); in syscall_init()
2092 wrmsrl_safe(MSR_IA32_SYSENTER_EIP, 0ULL); in syscall_init()
2123 for (i = 0; i < 8; i++) { in clear_all_debug_regs()
2128 set_debugreg(0, i); in clear_all_debug_regs()
2152 wrmsr(MSR_TSC_AUX, cpudata, 0); in setup_getcpu()
2187 tss->io_bitmap.prev_max = 0; in tss_setup_io_bitmap()
2188 tss->io_bitmap.prev_sequence = 0; in tss_setup_io_bitmap()
2189 memset(tss->io_bitmap.bitmap, 0xff, sizeof(tss->io_bitmap.bitmap)); in tss_setup_io_bitmap()
2194 tss->io_bitmap.mapall[IO_BITMAP_LONGS] = ~0UL; in tss_setup_io_bitmap()
2236 if (this_cpu_read(numa_node) == 0 && in cpu_init()
2247 loadsegment(fs, 0); in cpu_init()
2248 memset(cur->thread.tls_array, 0, GDT_ENTRY_TLS_ENTRIES * 8); in cpu_init()
2251 wrmsrl(MSR_FS_BASE, 0); in cpu_init()
2252 wrmsrl(MSR_KERNEL_GS_BASE, 0); in cpu_init()
2293 curr_info->cpuid_level = cpuid_eax(0); in store_cpu_caps()
2370 '0' + (boot_cpu_data.x86 > 6 ? 6 : boot_cpu_data.x86); in arch_cpu_finalize_init()
2392 set_memory_4k((unsigned long)__va(0), 1); in arch_cpu_finalize_init()