Date: Fri, 02 Mar 2018 16:07:48 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 192487] cpucontrol uses unsafe procedure to detect current microcode version Message-ID: <bug-192487-8-YOKJN9us2Q@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-192487-8@https.bugs.freebsd.org/bugzilla/> References: <bug-192487-8@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D192487 Mitchell Horne <mhorne063@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mhorne063@gmail.com --- Comment #2 from Mitchell Horne <mhorne063@gmail.com> --- This procedure is not handled by either the cpucontrol or cpupdate utilities but instead by the underlying driver cpuctl. Inspection of the cpuctl code shows that this is being handled properly in the update_intel() function. sys/dev/cpuctl/cpuctl.c starting at line 366: critical_enter(); rdmsr_safe(MSR_BIOS_SIGN, &rev0); /* Get current microcode revision. */ /* * Perform update. */ wrmsr_safe(MSR_BIOS_UPDT_TRIG, (uintptr_t)(ptr)); wrmsr_safe(MSR_BIOS_SIGN, 0); /* * Serialize instruction flow.=20=20=20=20=20=20=20=20 */ do_cpuid(0, tmp); critical_exit(); rdmsr_safe(MSR_BIOS_SIGN, &rev1); /* Get new microcode revision. */ The section of the SDM mentioned defines a procedure to safely determine the signature after a microcode update but it doesn't seem to be necessary to perform it each time the MSR is queried. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-192487-8-YOKJN9us2Q>