Loading arch/x86/kernel/alternative.c +13 −23 Original line number Diff line number Diff line Loading @@ -145,35 +145,25 @@ static const unsigned char *const p6_nops[ASM_NOP_MAX+1] = { extern char __vsyscall_0; const unsigned char *const *find_nop_table(void) { return boot_cpu_data.x86_vendor != X86_VENDOR_INTEL || boot_cpu_data.x86 < 6 ? k8_nops : p6_nops; if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL && boot_cpu_has(X86_FEATURE_NOPL)) return p6_nops; else return k8_nops; } #else /* CONFIG_X86_64 */ static const struct nop { int cpuid; const unsigned char *const *noptable; } noptypes[] = { { X86_FEATURE_K8, k8_nops }, { X86_FEATURE_K7, k7_nops }, { X86_FEATURE_P4, p6_nops }, { X86_FEATURE_P3, p6_nops }, { -1, NULL } }; const unsigned char *const *find_nop_table(void) { const unsigned char *const *noptable = intel_nops; int i; for (i = 0; noptypes[i].cpuid >= 0; i++) { if (boot_cpu_has(noptypes[i].cpuid)) { noptable = noptypes[i].noptable; break; } } return noptable; if (boot_cpu_has(X86_FEATURE_K8)) return k8_nops; else if (boot_cpu_has(X86_FEATURE_K7)) return k7_nops; else if (boot_cpu_has(X86_FEATURE_NOPL)) return p6_nops; else return intel_nops; } #endif /* CONFIG_X86_64 */ Loading Loading
arch/x86/kernel/alternative.c +13 −23 Original line number Diff line number Diff line Loading @@ -145,35 +145,25 @@ static const unsigned char *const p6_nops[ASM_NOP_MAX+1] = { extern char __vsyscall_0; const unsigned char *const *find_nop_table(void) { return boot_cpu_data.x86_vendor != X86_VENDOR_INTEL || boot_cpu_data.x86 < 6 ? k8_nops : p6_nops; if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL && boot_cpu_has(X86_FEATURE_NOPL)) return p6_nops; else return k8_nops; } #else /* CONFIG_X86_64 */ static const struct nop { int cpuid; const unsigned char *const *noptable; } noptypes[] = { { X86_FEATURE_K8, k8_nops }, { X86_FEATURE_K7, k7_nops }, { X86_FEATURE_P4, p6_nops }, { X86_FEATURE_P3, p6_nops }, { -1, NULL } }; const unsigned char *const *find_nop_table(void) { const unsigned char *const *noptable = intel_nops; int i; for (i = 0; noptypes[i].cpuid >= 0; i++) { if (boot_cpu_has(noptypes[i].cpuid)) { noptable = noptypes[i].noptable; break; } } return noptable; if (boot_cpu_has(X86_FEATURE_K8)) return k8_nops; else if (boot_cpu_has(X86_FEATURE_K7)) return k7_nops; else if (boot_cpu_has(X86_FEATURE_NOPL)) return p6_nops; else return intel_nops; } #endif /* CONFIG_X86_64 */ Loading