On Wed, Jan 15, 2020 at 08:46:04PM +0200, Jari Ruusu wrote:
On 1/15/20, Luis Chamberlain mcgrof@kernel.org wrote:
On Mon, Jan 13, 2020 at 09:58:25PM +0200, Jari Ruusu wrote:
Before that 16-byte alignment patch was applied, my only one microcode built-in BLOB was "accidentally" 16-byte aligned.
How did it accidentially get 16-byte aligned?
Old code aligned it to 8-bytes. There is 50/50-chance of it also being 16-byte aligned.
But *how? Why is there a 50/50 chance of it being aligned to 16 bytes if 8 bytes are currently specified?
So it ended up being both 8-byte and 16-byte aligned.
What do you mean both? How can it be aligned to both?
Also, how do you *know* something is broken right now?
I haven't spotted brokenness in Linux microcode loader other than that small alignment issue.
However, I can confirm that there are 2 microcode updates newer than what my laptop computer's latest BIOS includes. Both newer ones (20191115 and 20191112) are unstable on my laptop computer i5-7200U (fam 6 model 142 step 9 pf 0x80). Hard lockups with both of them. Back to BIOS microcode for now.
I was more interested in how you are *certain*, other than manualcode inspection, and that a spec indicates we should use 16 bytes for Intel microcode -- that the 8 byte alignment *does* not allow users to currently update their Intel CPU microcode for built-in firmware.
From what I gather so far we have no case yet reported where we know for
sure it fails right now with the 8 byte alignment on 64-bit. This information would just be useful for the commit log.
Luis