android_kernel_samsung_a7y1.../firmware
Jari Ruusu 58c2e35616 Fix built-in early-load Intel microcode alignment
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>
2020-04-07 13:37:27 +02:00
..
3com A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
abov A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
acenic A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
adaptec A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
advansys A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
av7110 A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
bnx2 A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
bnx2x A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cis A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
coreriver A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cpia2 A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cxgb3 A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
dsp56k A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
e100 A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
edgeport A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
emi26 A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
emi62 A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
epen A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ess A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
five A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
kaweth A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
keyspan A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
keyspan_pda A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
korg A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
matrox A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
myricom A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ositech A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
qlogic A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
r128 A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
radeon A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
sb16 A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
sun A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
tehuti A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
tigon A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
tsp_atmel A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
tsp_himax A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
tsp_imagis fix compile errors 2020-03-27 22:34:23 +05:30
tsp_melfas A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
tsp_sec A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
tsp_stm A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
tsp_synaptics A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
tsp_zinitix A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ttusb-budget A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
vicam A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
yam A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
yamaha A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
apm_8890_evt1.h A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
atmsar11.HEX A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
cyttsp5_csp.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
emulator8895_acpm_dvfs.fw A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
exynos7872_acpm_dvfs.fw A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
exynos7872_acpm_fvp.fw A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
exynos7885_acpm_fvp.fw A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
exynos8895_acpm_dvfs.fw A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ihex2fw.c A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
Makefile Fix built-in early-load Intel microcode alignment 2020-04-07 13:37:27 +02:00
mts_cdma.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
mts_edge.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
mts_gsm.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
README.AddingFirmware A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ssp_crashed.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ssp_stmf410_a2018_O.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ssp_stmf410_a2018_P.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ssp_stmf410_a2018.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ti_3410.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
ti_5052.fw.ihex A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
WHENCE A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
whiteheat_loader_debug.HEX A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
whiteheat_loader.HEX A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
whiteheat.HEX A750FXXU4CTBC 2020-03-27 21:51:54 +05:30

	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.