commit f5ae2ea6347a308cfe91f53b53682ce635497d0d upstream. Intel Software Developer's Manual, volume 3, chapter 9.11.6 says: "Note that the microcode update must be aligned on a 16-byte boundary and the size of the microcode update must be 1-KByte granular" When early-load Intel microcode is loaded from initramfs, userspace tool 'iucode_tool' has already 16-byte aligned those microcode bits in that initramfs image. Image that was created something like this: iucode_tool --write-earlyfw=FOO.cpio microcode-files... However, when early-load Intel microcode is loaded from built-in firmware BLOB using CONFIG_EXTRA_FIRMWARE= kernel config option, that 16-byte alignment is not guaranteed. Fix this by forcing all built-in firmware BLOBs to 16-byte alignment. [ If we end up having other firmware with much bigger alignment requirements, we might need to introduce some method for the firmware to specify it, this is the minimal "just increase the alignment a bit to account for this one special case" patch - Linus ] Signed-off-by: Jari Ruusu <jari.ruusu@gmail.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Luis Chamberlain <mcgrof@kernel.org> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
---|---|---|
.. | ||
3com | ||
abov | ||
acenic | ||
adaptec | ||
advansys | ||
av7110 | ||
bnx2 | ||
bnx2x | ||
cis | ||
coreriver | ||
cpia2 | ||
cxgb3 | ||
dsp56k | ||
e100 | ||
edgeport | ||
emi26 | ||
emi62 | ||
epen | ||
ess | ||
five | ||
kaweth | ||
keyspan | ||
keyspan_pda | ||
korg | ||
matrox | ||
myricom | ||
ositech | ||
qlogic | ||
r128 | ||
radeon | ||
sb16 | ||
sun | ||
tehuti | ||
tigon | ||
tsp_atmel | ||
tsp_himax | ||
tsp_imagis | ||
tsp_melfas | ||
tsp_sec | ||
tsp_stm | ||
tsp_synaptics | ||
tsp_zinitix | ||
ttusb-budget | ||
vicam | ||
yam | ||
yamaha | ||
apm_8890_evt1.h | ||
atmsar11.HEX | ||
cyttsp5_csp.fw.ihex | ||
emulator8895_acpm_dvfs.fw | ||
exynos7872_acpm_dvfs.fw | ||
exynos7872_acpm_fvp.fw | ||
exynos7885_acpm_fvp.fw | ||
exynos8895_acpm_dvfs.fw | ||
ihex2fw.c | ||
Makefile | ||
mts_cdma.fw.ihex | ||
mts_edge.fw.ihex | ||
mts_gsm.fw.ihex | ||
README.AddingFirmware | ||
ssp_crashed.fw.ihex | ||
ssp_stmf410_a2018_O.fw.ihex | ||
ssp_stmf410_a2018_P.fw.ihex | ||
ssp_stmf410_a2018.fw.ihex | ||
ti_3410.fw.ihex | ||
ti_5052.fw.ihex | ||
WHENCE | ||
whiteheat_loader_debug.HEX | ||
whiteheat_loader.HEX | ||
whiteheat.HEX |
DO NOT ADD FIRMWARE TO THIS DIRECTORY. ====================================== This directory is only here to contain firmware images extracted from old device drivers which predate the common use of request_firmware(). As we update those drivers to use request_firmware() and keep a clean separation between code and firmware, we put the extracted firmware here. This directory is _NOT_ for adding arbitrary new firmware images. The place to add those is the separate linux-firmware repository: git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git That repository contains all these firmware images which have been extracted from older drivers, as well various new firmware images which we were never permitted to include in a GPL'd work, but which we _have_ been permitted to redistribute under separate cover. To submit firmware to that repository, please send either a git binary diff or preferably a git pull request to: linux-firmware@kernel.org and also cc: to related mailing lists. Your commit should include an update to the WHENCE file clearly identifying the licence under which the firmware is available, and that it is redistributable. If the licence is long and involved, it's permitted to include it in a separate file and refer to it from the WHENCE file. And if it were possible, a changelog of the firmware itself. Ideally, your commit should contain a Signed-Off-By: from someone authoritative on the licensing of the firmware in question (i.e. from within the company that owns the code). WARNING: ======= Don't send any "CONFIDENTIALITY STATEMENT" in your e-mail, patch or request. Otherwise your firmware _will never be accepted_. Maintainers are really busy, so don't expect a prompt reply.