Lines Matching +full:0 +full:x8000000a

210 	[GDT_ENTRY_KERNEL32_CS]		= GDT_ENTRY_INIT(DESC_CODE32, 0, 0xfffff),
211 [GDT_ENTRY_KERNEL_CS] = GDT_ENTRY_INIT(DESC_CODE64, 0, 0xfffff),
212 [GDT_ENTRY_KERNEL_DS] = GDT_ENTRY_INIT(DESC_DATA64, 0, 0xfffff),
213 [GDT_ENTRY_DEFAULT_USER32_CS] = GDT_ENTRY_INIT(DESC_CODE32 | DESC_USER, 0, 0xfffff),
214 [GDT_ENTRY_DEFAULT_USER_DS] = GDT_ENTRY_INIT(DESC_DATA64 | DESC_USER, 0, 0xfffff),
215 [GDT_ENTRY_DEFAULT_USER_CS] = GDT_ENTRY_INIT(DESC_CODE64 | DESC_USER, 0, 0xfffff),
217 [GDT_ENTRY_KERNEL_CS] = GDT_ENTRY_INIT(DESC_CODE32, 0, 0xfffff),
218 [GDT_ENTRY_KERNEL_DS] = GDT_ENTRY_INIT(DESC_DATA32, 0, 0xfffff),
219 [GDT_ENTRY_DEFAULT_USER_CS] = GDT_ENTRY_INIT(DESC_CODE32 | DESC_USER, 0, 0xfffff),
220 [GDT_ENTRY_DEFAULT_USER_DS] = GDT_ENTRY_INIT(DESC_DATA32 | DESC_USER, 0, 0xfffff),
226 [GDT_ENTRY_PNPBIOS_CS32] = GDT_ENTRY_INIT(DESC_CODE32_BIOS, 0, 0xffff),
227 [GDT_ENTRY_PNPBIOS_CS16] = GDT_ENTRY_INIT(DESC_CODE16, 0, 0xffff),
228 [GDT_ENTRY_PNPBIOS_DS] = GDT_ENTRY_INIT(DESC_DATA16, 0, 0xffff),
229 [GDT_ENTRY_PNPBIOS_TS1] = GDT_ENTRY_INIT(DESC_DATA16, 0, 0),
230 [GDT_ENTRY_PNPBIOS_TS2] = GDT_ENTRY_INIT(DESC_DATA16, 0, 0),
235 [GDT_ENTRY_APMBIOS_BASE] = GDT_ENTRY_INIT(DESC_CODE32_BIOS, 0, 0xffff),
236 [GDT_ENTRY_APMBIOS_BASE+1] = GDT_ENTRY_INIT(DESC_CODE16, 0, 0xffff),
237 [GDT_ENTRY_APMBIOS_BASE+2] = GDT_ENTRY_INIT(DESC_DATA32_BIOS, 0, 0xffff),
239 [GDT_ENTRY_ESPFIX_SS] = GDT_ENTRY_INIT(DESC_DATA32, 0, 0xfffff),
240 [GDT_ENTRY_PERCPU] = GDT_ENTRY_INIT(DESC_DATA32, 0, 0xfffff),
254 return 0; in x86_nopcid_setup()
258 return 0; in x86_nopcid_setup()
271 return 0; in x86_noinvpcid_setup()
275 return 0; in x86_noinvpcid_setup()
304 "popl %0 \n\t" in flag_is_changeable_p()
305 "movl %0, %1 \n\t" in flag_is_changeable_p()
306 "xorl %2, %0 \n\t" in flag_is_changeable_p()
307 "pushl %0 \n\t" in flag_is_changeable_p()
310 "popl %0 \n\t" in flag_is_changeable_p()
316 return ((f1^f2) & flag) != 0; in flag_is_changeable_p()
335 lo |= 0x200000; in squash_the_stupid_serial_number()
342 c->cpuid_level = cpuid_eax(0); in squash_the_stupid_serial_number()
347 disable_x86_serial_nr = 0; in x86_serial_nr_setup()
410 unsigned long bits_missing = 0; in native_write_cr0()
413 asm volatile("mov %0,%%cr0": "+r" (val) : : "memory"); in native_write_cr0()
429 unsigned long bits_changed = 0; in native_write_cr4()
432 asm volatile("mov %0,%%cr4": "+r" (val) : : "memory"); in native_write_cr4()
441 WARN_ONCE(bits_changed, "pinned CR4 bits changed: 0x%lx!?\n", in native_write_cr4()
500 return 0; in x86_nofsgsbase_setup()
562 u64 msr = 0; in ibt_save()
607 wrmsrl(MSR_IA32_S_CET, 0); in setup_cet()
613 wrmsrl(MSR_IA32_S_CET, 0); in setup_cet()
624 wrmsrl(MSR_IA32_S_CET, 0); in cet_disable()
625 wrmsrl(MSR_IA32_U_CET, 0); in cet_disable()
640 { X86_FEATURE_MWAIT, 0x00000005 },
641 { X86_FEATURE_DCA, 0x00000009 },
642 { X86_FEATURE_XSAVE, 0x0000000d },
643 { 0, 0 }
656 * extended_extended_level is set to 0 if unavailable in filter_cpuid_features()
661 if (!((s32)df->level < 0 ? in filter_cpuid_features()
670 pr_warn("CPU: CPU feature " X86_CAP_FMT " disabled, no CPUID level 0x%x\n", in filter_cpuid_features()
678 * in particular, if CPUID levels 0x80000002..4 are supported, this
762 * per CPU stack canary is 0 in both per CPU areas. in switch_gdt_and_percpu_base()
784 if (c->extended_cpuid_level < 0x80000004) in get_model_name()
788 cpuid(0x80000002, &v[0], &v[1], &v[2], &v[3]); in get_model_name()
789 cpuid(0x80000003, &v[4], &v[5], &v[6], &v[7]); in get_model_name()
790 cpuid(0x80000004, &v[8], &v[9], &v[10], &v[11]); in get_model_name()
791 c->x86_model_id[48] = 0; in get_model_name()
794 p = q = s = &c->x86_model_id[0]; in get_model_name()
807 *(s + 1) = '\0'; in get_model_name()
816 if (n >= 0x80000005) { in cpu_detect_cache_sizes()
817 cpuid(0x80000005, &dummy, &ebx, &ecx, &edx); in cpu_detect_cache_sizes()
821 c->x86_tlbsize = 0; in cpu_detect_cache_sizes()
825 if (n < 0x80000006) /* Some chips just has a large L1. */ in cpu_detect_cache_sizes()
828 cpuid(0x80000006, &dummy, &ebx, &ecx, &edx); in cpu_detect_cache_sizes()
832 c->x86_tlbsize += ((ebx >> 16) & 0xfff) + (ebx & 0xfff); in cpu_detect_cache_sizes()
842 if (l2size == 0) in cpu_detect_cache_sizes()
876 for (i = 0; i < X86_VENDOR_NUM; i++) { in get_cpu_vendor()
880 if (!strcmp(v, cpu_devs[i]->c_ident[0]) || in get_cpu_vendor()
900 cpuid(0x00000000, (unsigned int *)&c->cpuid_level, in cpu_detect()
901 (unsigned int *)&c->x86_vendor_id[0], in cpu_detect()
906 /* Intel-defined flags: level 0x00000001 */ in cpu_detect()
907 if (c->cpuid_level >= 0x00000001) { in cpu_detect()
910 cpuid(0x00000001, &tfms, &misc, &junk, &cap0); in cpu_detect()
916 c->x86_clflush_size = ((misc >> 8) & 0xff) * 8; in cpu_detect()
926 for (i = 0; i < NCAPINTS + NBUGINTS; i++) { in apply_forced_caps()
977 /* Intel-defined flags: level 0x00000001 */ in get_cpu_cap()
978 if (c->cpuid_level >= 0x00000001) { in get_cpu_cap()
979 cpuid(0x00000001, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
985 /* Thermal and Power Management Leaf: level 0x00000006 (eax) */ in get_cpu_cap()
986 if (c->cpuid_level >= 0x00000006) in get_cpu_cap()
987 c->x86_capability[CPUID_6_EAX] = cpuid_eax(0x00000006); in get_cpu_cap()
989 /* Additional Intel-defined flags: level 0x00000007 */ in get_cpu_cap()
990 if (c->cpuid_level >= 0x00000007) { in get_cpu_cap()
991 cpuid_count(0x00000007, 0, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
998 cpuid_count(0x00000007, 1, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1003 /* Extended state features: level 0x0000000d */ in get_cpu_cap()
1004 if (c->cpuid_level >= 0x0000000d) { in get_cpu_cap()
1005 cpuid_count(0x0000000d, 1, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1010 /* AMD-defined flags: level 0x80000001 */ in get_cpu_cap()
1011 eax = cpuid_eax(0x80000000); in get_cpu_cap()
1014 if ((eax & 0xffff0000) == 0x80000000) { in get_cpu_cap()
1015 if (eax >= 0x80000001) { in get_cpu_cap()
1016 cpuid(0x80000001, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1023 if (c->extended_cpuid_level >= 0x80000007) { in get_cpu_cap()
1024 cpuid(0x80000007, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1030 if (c->extended_cpuid_level >= 0x80000008) { in get_cpu_cap()
1031 cpuid(0x80000008, &eax, &ebx, &ecx, &edx); in get_cpu_cap()
1035 if (c->extended_cpuid_level >= 0x8000000a) in get_cpu_cap()
1036 c->x86_capability[CPUID_8000_000A_EDX] = cpuid_edx(0x8000000a); in get_cpu_cap()
1038 if (c->extended_cpuid_level >= 0x8000001f) in get_cpu_cap()
1039 c->x86_capability[CPUID_8000_001F_EAX] = cpuid_eax(0x8000001f); in get_cpu_cap()
1041 if (c->extended_cpuid_level >= 0x80000021) in get_cpu_cap()
1042 c->x86_capability[CPUID_8000_0021_EAX] = cpuid_eax(0x80000021); in get_cpu_cap()
1060 (c->extended_cpuid_level < 0x80000008)) { in get_cpu_address_sizes()
1075 cpuid(0x80000008, &eax, &ebx, &ecx, &edx); in get_cpu_address_sizes()
1077 c->x86_virt_bits = (eax >> 8) & 0xff; in get_cpu_address_sizes()
1078 c->x86_phys_bits = eax & 0xff; in get_cpu_address_sizes()
1103 for (i = 0; i < X86_VENDOR_NUM; i++) in identify_cpu_without_cpuid()
1105 c->x86_vendor_id[0] = 0; in identify_cpu_without_cpuid()
1107 if (c->x86_vendor_id[0]) { in identify_cpu_without_cpuid()
1115 #define NO_SPECULATION BIT(0)
1188 /* AMD Family 0xf - 0x12 */
1189 …VULNWL_AMD(0x0f, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO …
1190 …VULNWL_AMD(0x10, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO …
1191 …VULNWL_AMD(0x11, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO …
1192 …VULNWL_AMD(0x12, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO …
1194 /* FAMILY_ANY must be last, otherwise 0x0f - 0x12 matches won't work */
1216 #define SRBDS BIT(0)
1252 VULNBL_INTEL_STEPPINGS(INTEL_COMETLAKE_L, X86_STEPPINGS(0x0, 0x0), MMIO | RETBLEED),
1271 VULNBL_AMD(0x15, RETBLEED),
1272 VULNBL_AMD(0x16, RETBLEED),
1273 VULNBL_AMD(0x17, RETBLEED | SMT_RSB | SRSO),
1274 VULNBL_HYGON(0x18, RETBLEED | SMT_RSB | SRSO),
1275 VULNBL_AMD(0x19, SRSO),
1288 u64 x86_arch_cap_msr = 0; in x86_read_arch_cap_msr()
1370 * When the CPU is not mitigated for TAA (TAA_NO=0) set TAA bug when: in cpu_set_bug_bits()
1491 int arglen, taint = 0; in cpu_parse_early_param()
1523 if (arglen <= 0) in cpu_parse_early_param()
1557 for (bit = 0; bit < 32 * NCAPINTS; bit++) { in cpu_parse_early_param()
1591 memset(&c->x86_capability, 0, sizeof(c->x86_capability)); in early_identify_cpu()
1592 c->extended_cpuid_level = 0; in early_identify_cpu()
1612 c->cpu_index = 0; in early_identify_cpu()
1658 int count = 0; in early_cpu_init()
1676 for (j = 0; j < 2; j++) { in early_cpu_init()
1708 loadsegment(fs, 0); in detect_null_seg_behavior()
1711 return tmp == 0; in detect_null_seg_behavior()
1737 * 0x18 is the respective family for Hygon. in check_null_seg_clears_base()
1739 if ((c->x86 == 0x17 || c->x86 == 0x18) && in check_null_seg_clears_base()
1749 c->extended_cpuid_level = 0; in generic_identify()
1770 * systems that run Linux at CPL > 0 may or may not have the in generic_identify()
1794 c->x86_cache_size = 0; in identify_cpu()
1796 c->x86_model = c->x86_stepping = 0; /* So far unknown... */ in identify_cpu()
1797 c->x86_vendor_id[0] = '\0'; /* Unset */ in identify_cpu()
1798 c->x86_model_id[0] = '\0'; /* Unset */ in identify_cpu()
1810 memset(&c->x86_capability, 0, sizeof(c->x86_capability)); in identify_cpu()
1812 memset(&c->vmx_capability, 0, sizeof(c->vmx_capability)); in identify_cpu()
1867 if (!c->x86_model_id[0]) { in identify_cpu()
1896 for (i = 0; i < NCAPINTS; i++) in identify_cpu()
1936 wrmsr(MSR_IA32_SYSENTER_CS, tss->x86_tss.ss1, 0); in enable_sep_cpu()
1937 wrmsr(MSR_IA32_SYSENTER_ESP, (unsigned long)(cpu_entry_stack(cpu) + 1), 0); in enable_sep_cpu()
1938 wrmsr(MSR_IA32_SYSENTER_EIP, (unsigned long)entry_SYSENTER_32, 0); in enable_sep_cpu()
1982 if (c->cpuid_level >= 0) in print_cpu_info()
1989 if (c->x86_model_id[0]) in print_cpu_info()
1994 pr_cont(" (family: 0x%x, model: 0x%x", c->x86, c->x86_model); in print_cpu_info()
1996 if (c->x86_stepping || c->cpuid_level >= 0) in print_cpu_info()
1997 pr_cont(", stepping: 0x%x)\n", c->x86_stepping); in print_cpu_info()
2055 wrmsrl_safe(MSR_IA32_SYSENTER_ESP, 0ULL); in idt_syscall_init()
2056 wrmsrl_safe(MSR_IA32_SYSENTER_EIP, 0ULL); in idt_syscall_init()
2075 wrmsr(MSR_STAR, 0, (__USER32_CS << 16) | __KERNEL_CS); in syscall_init()
2106 for (i = 0; i < 8; i++) { in clear_all_debug_regs()
2111 set_debugreg(0, i); in clear_all_debug_regs()
2135 wrmsr(MSR_TSC_AUX, cpudata, 0); in setup_getcpu()
2170 tss->io_bitmap.prev_max = 0; in tss_setup_io_bitmap()
2171 tss->io_bitmap.prev_sequence = 0; in tss_setup_io_bitmap()
2172 memset(tss->io_bitmap.bitmap, 0xff, sizeof(tss->io_bitmap.bitmap)); in tss_setup_io_bitmap()
2177 tss->io_bitmap.mapall[IO_BITMAP_LONGS] = ~0UL; in tss_setup_io_bitmap()
2235 if (this_cpu_read(numa_node) == 0 && in cpu_init()
2246 loadsegment(fs, 0); in cpu_init()
2247 memset(cur->thread.tls_array, 0, GDT_ENTRY_TLS_ENTRIES * 8); in cpu_init()
2250 wrmsrl(MSR_FS_BASE, 0); in cpu_init()
2251 wrmsrl(MSR_KERNEL_GS_BASE, 0); in cpu_init()
2294 curr_info->cpuid_level = cpuid_eax(0); in store_cpu_caps()
2375 '0' + (boot_cpu_data.x86 > 6 ? 6 : boot_cpu_data.x86); in arch_cpu_finalize_init()
2413 set_memory_4k((unsigned long)__va(0), 1); in arch_cpu_finalize_init()