Revision a5321aec6412b20b5ad15db2d6b916c05349dbff authored by Ashok Raj on 28 February 2018, 10:28:46 UTC, committed by Thomas Gleixner on 08 March 2018, 09:19:26 UTC
Original idea by Ashok, completely rewritten by Borislav.

Before you read any further: the early loading method is still the
preferred one and you should always do that. The following patch is
improving the late loading mechanism for long running jobs and cloud use
cases.

Gather all cores and serialize the microcode update on them by doing it
one-by-one to make the late update process as reliable as possible and
avoid potential issues caused by the microcode update.

[ Borislav: Rewrite completely. ]

Co-developed-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
Tested-by: Ashok Raj <ashok.raj@intel.com>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Arjan Van De Ven <arjan.van.de.ven@intel.com>
Link: https://lkml.kernel.org/r/20180228102846.13447-8-bp@alien8.de

1 parent cfb52a5
History
File Mode Size
asymmetric_keys
async_tx
.gitignore -rw-r--r-- 12 bytes
842.c -rw-r--r-- 4.2 KB
Kconfig -rw-r--r-- 51.3 KB
Makefile -rw-r--r-- 5.7 KB
ablk_helper.c -rw-r--r-- 4.3 KB
ablkcipher.c -rw-r--r-- 13.0 KB
acompress.c -rw-r--r-- 4.8 KB
aead.c -rw-r--r-- 10.2 KB
aes_generic.c -rw-r--r-- 62.1 KB
aes_ti.c -rw-r--r-- 12.3 KB
af_alg.c -rw-r--r-- 26.0 KB
ahash.c -rw-r--r-- 16.0 KB
akcipher.c -rw-r--r-- 3.9 KB
algapi.c -rw-r--r-- 22.4 KB
algboss.c -rw-r--r-- 6.0 KB
algif_aead.c -rw-r--r-- 16.0 KB
algif_hash.c -rw-r--r-- 9.9 KB
algif_rng.c -rw-r--r-- 5.2 KB
algif_skcipher.c -rw-r--r-- 10.1 KB
ansi_cprng.c -rw-r--r-- 10.9 KB
anubis.c -rw-r--r-- 27.8 KB
api.c -rw-r--r-- 13.8 KB
arc4.c -rw-r--r-- 3.4 KB
authenc.c -rw-r--r-- 13.9 KB
authencesn.c -rw-r--r-- 15.2 KB
blkcipher.c -rw-r--r-- 15.0 KB
blowfish_common.c -rw-r--r-- 15.7 KB
blowfish_generic.c -rw-r--r-- 3.4 KB
camellia_generic.c -rw-r--r-- 34.9 KB
cast5_generic.c -rw-r--r-- 20.8 KB
cast6_generic.c -rw-r--r-- 9.4 KB
cast_common.c -rw-r--r-- 13.1 KB
cbc.c -rw-r--r-- 5.1 KB
ccm.c -rw-r--r-- 25.5 KB
chacha20_generic.c -rw-r--r-- 3.5 KB
chacha20poly1305.c -rw-r--r-- 19.4 KB
cipher.c -rw-r--r-- 3.3 KB
cmac.c -rw-r--r-- 7.7 KB
compress.c -rw-r--r-- 1.3 KB
crc32_generic.c -rw-r--r-- 3.8 KB
crc32c_generic.c -rw-r--r-- 4.4 KB
crct10dif_common.c -rw-r--r-- 3.6 KB
crct10dif_generic.c -rw-r--r-- 3.2 KB
cryptd.c -rw-r--r-- 36.4 KB
crypto_engine.c -rw-r--r-- 12.2 KB
crypto_null.c -rw-r--r-- 5.3 KB
crypto_user.c -rw-r--r-- 13.1 KB
crypto_wq.c -rw-r--r-- 972 bytes
ctr.c -rw-r--r-- 12.6 KB
cts.c -rw-r--r-- 12.0 KB
deflate.c -rw-r--r-- 7.9 KB
des_generic.c -rw-r--r-- 35.7 KB
dh.c -rw-r--r-- 3.6 KB
dh_helper.c -rw-r--r-- 3.1 KB
drbg.c -rw-r--r-- 57.2 KB
ecb.c -rw-r--r-- 4.9 KB
ecc.c -rw-r--r-- 25.7 KB
ecc.h -rw-r--r-- 3.6 KB
ecc_curve_defs.h -rw-r--r-- 1.5 KB
ecdh.c -rw-r--r-- 3.7 KB
ecdh_helper.c -rw-r--r-- 2.3 KB
echainiv.c -rw-r--r-- 4.5 KB
fcrypt.c -rw-r--r-- 18.0 KB
fips.c -rw-r--r-- 1.6 KB
gcm.c -rw-r--r-- 32.9 KB
gf128mul.c -rw-r--r-- 12.4 KB
ghash-generic.c -rw-r--r-- 3.5 KB
hash_info.c -rw-r--r-- 1.9 KB
hmac.c -rw-r--r-- 6.9 KB
internal.h -rw-r--r-- 3.9 KB
jitterentropy-kcapi.c -rw-r--r-- 6.0 KB
jitterentropy.c -rw-r--r-- 23.9 KB
keywrap.c -rw-r--r-- 11.4 KB
khazad.c -rw-r--r-- 51.8 KB
kpp.c -rw-r--r-- 3.0 KB
lrw.c -rw-r--r-- 14.7 KB
lz4.c -rw-r--r-- 3.9 KB
lz4hc.c -rw-r--r-- 4.0 KB
lzo.c -rw-r--r-- 3.9 KB
mcryptd.c -rw-r--r-- 17.5 KB
md4.c -rw-r--r-- 6.2 KB
md5.c -rw-r--r-- 7.7 KB
memneq.c -rw-r--r-- 6.1 KB
michael_mic.c -rw-r--r-- 3.6 KB
pcbc.c -rw-r--r-- 7.7 KB
pcrypt.c -rw-r--r-- 13.2 KB
poly1305_generic.c -rw-r--r-- 7.8 KB
proc.c -rw-r--r-- 3.0 KB
ripemd.h -rw-r--r-- 1013 bytes
rmd128.c -rw-r--r-- 10.2 KB
rmd160.c -rw-r--r-- 12.6 KB
rmd256.c -rw-r--r-- 10.6 KB
rmd320.c -rw-r--r-- 13.1 KB
rng.c -rw-r--r-- 4.9 KB
rsa-pkcs1pad.c -rw-r--r-- 17.3 KB
rsa.c -rw-r--r-- 7.5 KB
rsa_helper.c -rw-r--r-- 4.2 KB
rsaprivkey.asn1 -rw-r--r-- 316 bytes
rsapubkey.asn1 -rw-r--r-- 82 bytes
salsa20_generic.c -rw-r--r-- 5.9 KB
scatterwalk.c -rw-r--r-- 2.2 KB
scompress.c -rw-r--r-- 7.5 KB
seed.c -rw-r--r-- 17.4 KB
seqiv.c -rw-r--r-- 5.3 KB
serpent_generic.c -rw-r--r-- 21.4 KB
sha1_generic.c -rw-r--r-- 2.6 KB
sha256_generic.c -rw-r--r-- 11.0 KB
sha3_generic.c -rw-r--r-- 8.4 KB
sha512_generic.c -rw-r--r-- 7.1 KB
shash.c -rw-r--r-- 14.6 KB
simd.c -rw-r--r-- 6.0 KB
skcipher.c -rw-r--r-- 26.5 KB
sm3_generic.c -rw-r--r-- 4.6 KB
tcrypt.c -rw-r--r-- 75.6 KB
tcrypt.h -rw-r--r-- 4.3 KB
tea.c -rw-r--r-- 6.6 KB
testmgr.c -rw-r--r-- 83.1 KB
testmgr.h -rw-r--r-- 1.2 MB
tgr192.c -rw-r--r-- 30.5 KB
twofish_common.c -rw-r--r-- 37.8 KB
twofish_generic.c -rw-r--r-- 6.2 KB
vmac.c -rw-r--r-- 18.9 KB
wp512.c -rw-r--r-- 59.8 KB
xcbc.c -rw-r--r-- 7.2 KB
xor.c -rw-r--r-- 3.8 KB
xts.c -rw-r--r-- 13.6 KB

back to top