https://github.com/torvalds/linux
Revision cc56939802fb4c9548be53563387a0700baeec82 authored by Cédric Le Goater on 04 October 2017, 09:15:05 UTC, committed by Michael Ellerman on 04 October 2017, 11:01:57 UTC
Commit eac1e731b59e ("powerpc/xive: guest exploitation of the XIVE interrupt controller") introduced support for the XIVE exploitation mode of the P9 interrupt controller on the pseries platform. At that time, support for CPU removal was not complete on PowerVM and CPU hot unplug remained untested. It appears that some cleanups of the XIVE internal structures are required before releasing the CPU, without which the kernel crashes in a RTAS call doing the CPU isolation. These changes fix the crash by deconfiguring the IPI interrupt source and clearing the event queues of the CPU when it is removed. Fixes: eac1e731b59e ("powerpc/xive: guest exploitation of the XIVE interrupt controller") Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
1 parent 74f1282
Tip revision: cc56939802fb4c9548be53563387a0700baeec82 authored by Cédric Le Goater on 04 October 2017, 09:15:05 UTC
powerpc/xive: Clear XIVE internal structures when a CPU is removed
powerpc/xive: Clear XIVE internal structures when a CPU is removed
Tip revision: cc56939
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-- | 50.8 KB |
Makefile | -rw-r--r-- | 5.5 KB |
ablk_helper.c | -rw-r--r-- | 4.4 KB |
ablkcipher.c | -rw-r--r-- | 13.0 KB |
acompress.c | -rw-r--r-- | 4.8 KB |
aead.c | -rw-r--r-- | 10.1 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.3 KB |
ahash.c | -rw-r--r-- | 15.6 KB |
akcipher.c | -rw-r--r-- | 3.9 KB |
algapi.c | -rw-r--r-- | 22.1 KB |
algboss.c | -rw-r--r-- | 6.0 KB |
algif_aead.c | -rw-r--r-- | 15.6 KB |
algif_hash.c | -rw-r--r-- | 10.5 KB |
algif_rng.c | -rw-r--r-- | 5.2 KB |
algif_skcipher.c | -rw-r--r-- | 10.6 KB |
ansi_cprng.c | -rw-r--r-- | 10.9 KB |
anubis.c | -rw-r--r-- | 27.8 KB |
api.c | -rw-r--r-- | 13.6 KB |
arc4.c | -rw-r--r-- | 3.4 KB |
authenc.c | -rw-r--r-- | 13.9 KB |
authencesn.c | -rw-r--r-- | 15.3 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.9 KB |
cast6_generic.c | -rw-r--r-- | 9.5 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.6 KB |
chacha20poly1305.c | -rw-r--r-- | 19.3 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.3 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.3 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.1 KB |
deflate.c | -rw-r--r-- | 7.9 KB |
des_generic.c | -rw-r--r-- | 35.7 KB |
dh.c | -rw-r--r-- | 3.8 KB |
dh_helper.c | -rw-r--r-- | 2.6 KB |
drbg.c | -rw-r--r-- | 57.5 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.8 KB |
ecdh_helper.c | -rw-r--r-- | 2.3 KB |
echainiv.c | -rw-r--r-- | 4.6 KB |
fcrypt.c | -rw-r--r-- | 18.0 KB |
fips.c | -rw-r--r-- | 1.6 KB |
gcm.c | -rw-r--r-- | 33.2 KB |
gf128mul.c | -rw-r--r-- | 12.2 KB |
ghash-generic.c | -rw-r--r-- | 3.6 KB |
hash_info.c | -rw-r--r-- | 1.9 KB |
hmac.c | -rw-r--r-- | 6.8 KB |
internal.h | -rw-r--r-- | 4.1 KB |
jitterentropy-kcapi.c | -rw-r--r-- | 6.0 KB |
jitterentropy.c | -rw-r--r-- | 23.9 KB |
keywrap.c | -rw-r--r-- | 12.6 KB |
khazad.c | -rw-r--r-- | 51.8 KB |
kpp.c | -rw-r--r-- | 3.0 KB |
lrw.c | -rw-r--r-- | 14.8 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-- | 8.0 KB |
proc.c | -rw-r--r-- | 3.0 KB |
ripemd.h | -rw-r--r-- | 974 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.5 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-- | 6.7 KB |
scatterwalk.c | -rw-r--r-- | 2.2 KB |
scompress.c | -rw-r--r-- | 8.2 KB |
seed.c | -rw-r--r-- | 17.4 KB |
seqiv.c | -rw-r--r-- | 5.4 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-- | 7.0 KB |
sha512_generic.c | -rw-r--r-- | 7.1 KB |
shash.c | -rw-r--r-- | 14.1 KB |
simd.c | -rw-r--r-- | 6.1 KB |
skcipher.c | -rw-r--r-- | 25.8 KB |
tcrypt.c | -rw-r--r-- | 50.8 KB |
tcrypt.h | -rw-r--r-- | 4.3 KB |
tea.c | -rw-r--r-- | 6.6 KB |
testmgr.c | -rw-r--r-- | 83.6 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.3 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-- | 4.0 KB |
xts.c | -rw-r--r-- | 13.7 KB |
Computing file changes ...