Messages in this thread | | | Subject | Re: [PATCH 4/5] arm64: Warn on booting at EL2 with HVC disabled | From | Rafał Miłecki <> | Date | Thu, 12 Aug 2021 21:58:06 +0200 |
| |
On 12.08.2021 21:02, Marc Zyngier wrote: > Now that we are able to paper over the gigantic stupidity that > booting at EL2 with SCR_EL3.HCE==0 is, let's taint WARN_TAINT() > when detecting this situation. > > Yes, this is *LOUD*. > > Signed-off-by: Marc Zyngier <maz@kernel.org>
Tested-by: Rafał Miłecki <rafal@milecki.pl>
This replaces: CPU: All CPU(s) started at EL1
with: ------------[ cut here ]------------ CPU: CPUs downgraded to EL1, HVC disabled WARNING: CPU: 0 PID: 1 at arch/arm64/kernel/smp.c:429 smp_cpus_done+0xac/0xe8 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.14.0-rc5-g86fc10657896 #41 Hardware name: Asus GT-AC5300 (DT) pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) pc : smp_cpus_done+0xac/0xe8 lr : smp_cpus_done+0xac/0xe8 sp : ffffffc01002be00 x29: ffffffc01002be00 x28: 0000000000000000 x27: 0000000000000000 x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000 x23: ffffffc010ab4000 x22: 0000000000000000 x21: 0000000000000000 x20: ffffffc0107b7e74 x19: ffffffc010a78000 x18: 0000000000000001 x17: ffffffc010a9ee40 x16: 0000000000000000 x15: 000042496b0a18f2 x14: fffffffffffc0f87 x13: 0000000000000039 x12: ffffff80010b03b0 x11: 00000000ffffffea x10: ffffffc010a5eb50 x9 : 0000000000000001 x8 : 0000000000000001 x7 : 0000000000017fe8 x6 : c0000000ffffefff x5 : 0000000000057fa8 x4 : 0000000000000000 x3 : 0000000000000000 x2 : 00000000ffffffff x1 : a8d68d1fd96fdc00 x0 : 0000000000000000 Call trace: smp_cpus_done+0xac/0xe8 smp_init+0x68/0x78 kernel_init_freeable+0xd0/0x214 kernel_init+0x24/0x120 ret_from_fork+0x10/0x18 ---[ end trace a7d4af835e9d6e6b ]---
BEFORE:
smp: Bringing up secondary CPUs ... Detected VIPT I-cache on CPU1 CPU1: Booted secondary processor 0x0000000001 [0x420f1000] Detected VIPT I-cache on CPU2 CPU2: Booted secondary processor 0x0000000002 [0x420f1000] Detected VIPT I-cache on CPU3 CPU3: Booted secondary processor 0x0000000003 [0x420f1000] smp: Brought up 1 node, 4 CPUs SMP: Total of 4 processors activated. CPU features: detected: 32-bit EL0 Support CPU features: detected: 32-bit EL1 Support CPU features: detected: CRC32 instructions CPU: All CPU(s) started at EL1
AFTER:
smp: Bringing up secondary CPUs ... Detected VIPT I-cache on CPU1 CPU1: Booted secondary processor 0x0000000001 [0x420f1000] Detected VIPT I-cache on CPU2 CPU2: Booted secondary processor 0x0000000002 [0x420f1000] Detected VIPT I-cache on CPU3 CPU3: Booted secondary processor 0x0000000003 [0x420f1000] smp: Brought up 1 node, 4 CPUs SMP: Total of 4 processors activated. CPU features: detected: 32-bit EL0 Support CPU features: detected: 32-bit EL1 Support CPU features: detected: CRC32 instructions ------------[ cut here ]------------ CPU: CPUs downgraded to EL1, HVC disabled WARNING: CPU: 0 PID: 1 at arch/arm64/kernel/smp.c:429 smp_cpus_done+0xac/0xe8 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.14.0-rc5-g86fc10657896 #41 Hardware name: Asus GT-AC5300 (DT) pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) pc : smp_cpus_done+0xac/0xe8 lr : smp_cpus_done+0xac/0xe8 sp : ffffffc01002be00 x29: ffffffc01002be00 x28: 0000000000000000 x27: 0000000000000000 x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000 x23: ffffffc010ab4000 x22: 0000000000000000 x21: 0000000000000000 x20: ffffffc0107b7e74 x19: ffffffc010a78000 x18: 0000000000000001 x17: ffffffc010a9ee40 x16: 0000000000000000 x15: 000042496b0a18f2 x14: fffffffffffc0f87 x13: 0000000000000039 x12: ffffff80010b03b0 x11: 00000000ffffffea x10: ffffffc010a5eb50 x9 : 0000000000000001 x8 : 0000000000000001 x7 : 0000000000017fe8 x6 : c0000000ffffefff x5 : 0000000000057fa8 x4 : 0000000000000000 x3 : 0000000000000000 x2 : 00000000ffffffff x1 : a8d68d1fd96fdc00 x0 : 0000000000000000 Call trace: smp_cpus_done+0xac/0xe8 smp_init+0x68/0x78 kernel_init_freeable+0xd0/0x214 kernel_init+0x24/0x120 ret_from_fork+0x10/0x18 ---[ end trace a7d4af835e9d6e6b ]---
| |