http://bugzilla.opensuse.org/show_bug.cgi?id=1061396 Bug ID: 1061396 Summary: kernel 4.11 and higher fails boot on amd geode CPU Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: i586 OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel Assignee: kernel-maintainers@forge.provo.novell.com Reporter: glodi1@arcor.de QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- New microcode update causes reset loop on AMD Geode CPU, even if disabled with CMDLINE option "dis_ucode_ldr". Reason: on file "/arch/x86/kernel/cpu/microcode/core.c" fuction "check_loader_disabled_bsp(void)" CMD line option checked after CPU type detection. New CPU type detection of 4.11 triggers CPU reset on GEODE. Order for chekking is microcode update possiblity needs to be changed, CMD line need to bechecked at first: File: "/arch/x86/kernel/cpu/microcode/core.c" static bool __init check_loader_disabled_bsp(void) { static const char *__dis_opt_str = "dis_ucode_ldr"; #ifdef CONFIG_X86_32 const char *cmdline = (const char *)__pa_nodebug(boot_command_line); const char *option = (const char *)__pa_nodebug(__dis_opt_str); bool *res = (bool *)__pa_nodebug(&dis_ucode_ldr); #else /* CONFIG_X86_64 */ const char *cmdline = boot_command_line; const char *option = __dis_opt_str; bool *res = &dis_ucode_ldr; #endif + if (cmdline_find_option_bool(cmdline, option) > 0) + return *res; if (!have_cpuid_p()) return *res; /* * CPUID(1).ECX[31]: reserved for hypervisor use. This is still not * completely accurate as xen pv guests don't see that CPUID bit set but * that's good enough as they don't land on the BSP path anyway. */ if (native_cpuid_ecx(1) & BIT(31)) return *res; if (x86_cpuid_vendor() == X86_VENDOR_AMD) { if (amd_check_current_patch_level()) return *res; } - if (cmdline_find_option_bool(cmdline, option) <= 0) - *res = false; + *res = false; return *res; } -- You are receiving this mail because: You are on the CC list for the bug.