setup: Move unmask of async interrupts after possible earlycon setup
PATCH 1/1 setup: Move unmask of async interrupts after possible earlycon setup
The kernel wants to enable reporting of asynchronous interrupts (i.e. System Errors) as early as possible. But if this happens too early then a pending System Error on initial entry into the kernel will never be reported where a user can see it (instead it will remain in the kernel ring buffer and be visible only via hardware debug). Therefore, move the enabling of asynchronous interrupts to after parsing any possible earlycon parameters setting up earlycon.
--- arch/arm64/kernel/setup.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
arch/arm64/kernel/setup.c +6 -5
@@ -362,11 +362,6 @@ u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };void __init setup_arch (char **cmdline_p) { -/* -* Unmask asynchronous aborts early to catch possible system errors. -*/ -local_async_enable (); -setup_processor ();setup_machine_fdt (__fdt_pointer);
@@ -382,6 +377,12 @@ void __init setup_arch(char **cmdline_p)parse_early_param (); +/* +* Unmask asynchronous aborts after bringing up possible earlycon. +* (Report possible System Errors once we can report this occurred) +*/ +local_async_enable (); +efi_init ();arm64_memblock_init ();
Signature · 1 line
1.8.3.1
PATCH 1/1 setup: Move unmask of async interrupts after possible earlycon setup
Quoted 9 lines · Jon Masters
The kernel wants to enable reporting of asynchronous interrupts (i.e. System Errors) as early as possible. But if this happens too early then a pending System Error on initial entry into the kernel will never be reported where a user can see it (instead it will remain in the kernel ring buffer and be visible only via hardware debug). Therefore, move the enabling of asynchronous interrupts to after parsing any possible earlycon parameters setting up earlycon.
Signed-off-by Jon Masters <[email protected]>
That sounds wrong. Why aren't early log messages getting flushed out when the console shows up?
g.
Quoted 41 lines
--- arch/arm64/kernel/setup.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)arch/arm64/kernel/setup.c +6
-6@@ -362,11 +362,6 @@ u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };void __init setup_arch (char **cmdline_p) { -/* -* Unmask asynchronous aborts early to catch possible system errors. -*/ -local_async_enable (); -setup_processor ();setup_machine_fdt (__fdt_pointer);@@ -382,6 +377,12 @@ void __init setup_arch(char **cmdline_p)parse_early_param (); +/* +* Unmask asynchronous aborts after bringing up possible earlycon. +* (Report possible System Errors once we can report this occurred) +*/ +local_async_enable (); +efi_init ();arm64_memblock_init (); --1.8.3.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
PATCH 1/1 setup: Move unmask of async interrupts after possible earlycon setup
Hi Grant,
Quoted 9 lines · Grant Likely
Quoted 8 lines · Jon Masters
The kernel wants to enable reporting of asynchronous interrupts (i.e. System Errors) as early as possible. But if this happens too early then a pending System Error on initial entry into the kernel will never be reported where a user can see it (instead it will remain in the kernel ring buffer and be visible only via hardware debug). Therefore, move the enabling of asynchronous interrupts to after parsing any possible earlycon parameters setting up earlycon.
Quoted 4 lines
Quoted 1 line
Signed-off-by Jon Masters <[email protected]>That sounds wrong. Why aren't early log messages getting flushed out when the console shows up?
The problem is that when such an error occurs, we immediately panic. And we've not setup the earlycon yet so there's no way to ever see it. I wasted a bunch of time last week so it's worth saving someone else.
Jon.
PATCH 1/1 setup: Move unmask of async interrupts after possible earlycon setup
Quoted 12 lines · Jon Masters
Hi Grant,
Quoted 9 lines · Grant Likely
Quoted 8 lines · Jon Masters
The kernel wants to enable reporting of asynchronous interrupts (i.e. System Errors) as early as possible. But if this happens too early then a pending System Error on initial entry into the kernel will never be reported where a user can see it (instead it will remain in the kernel ring buffer and be visible only via hardware debug). Therefore, move the enabling of asynchronous interrupts to after parsing any possible earlycon parameters setting up earlycon.
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
Signed-off-by Jon Masters <[email protected]>That sounds wrong. Why aren't early log messages getting flushed out when the console shows up?
The problem is that when such an error occurs, we immediately panic. And we've not setup the earlycon yet so there's no way to ever see it. I wasted a bunch of time last week so it's worth saving someone else.
Reasonable reason. Perhaps put that in the patch description.
g.
PATCH 1/1 setup: Move unmask of async interrupts after possible earlycon setup
Quoted 15 lines · Grant Likely
Quoted 14 lines · Jon Masters
Hi Grant,
Quoted 11 lines · Grant Likely
Quoted 9 lines · Jon Masters
The kernel wants to enable reporting of asynchronous interrupts (i.e. System Errors) as early as possible. But if this happens too early then a pending System Error on initial entry into the kernel will never be reported where a user can see it (instead it will remain in the kernel ring buffer and be visible only via hardware debug). Therefore, move the enabling of asynchronous interrupts to after parsing any possible earlycon parameters setting up earlycon.
Signed-off-by Jon Masters <[email protected]>
Quoted 8 lines
Quoted 6 lines
Quoted 2 lines
That sounds wrong. Why aren't early log messages getting flushed out when the console shows up?
The problem is that when such an error occurs, we immediately panic. And we've not setup the earlycon yet so there's no way to ever see it. I wasted a bunch of time last week so it's worth saving someone else.
Reasonable reason. Perhaps put that in the patch description.
Sent a V2 with that fixed. Forgot to copy you, apologies.
Jon.
PATCH 1/1 setup: Move unmask of async interrupts after possible earlycon setup
In reply to Jon MastersQuoted 12 lines · Jon Masters
Hi Grant,
Quoted 9 lines · Grant Likely
Quoted 8 lines · Jon Masters
The kernel wants to enable reporting of asynchronous interrupts (i.e. System Errors) as early as possible. But if this happens too early then a pending System Error on initial entry into the kernel will never be reported where a user can see it (instead it will remain in the kernel ring buffer and be visible only via hardware debug). Therefore, move the enabling of asynchronous interrupts to after parsing any possible earlycon parameters setting up earlycon.
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
Signed-off-by Jon Masters <[email protected]>That sounds wrong. Why aren't early log messages getting flushed out when the console shows up?
The problem is that when such an error occurs, we immediately panic. And we've not setup the earlycon yet so there's no way to ever see it. I wasted a bunch of time last week so it's worth saving someone else.
Admittedly this is more likely to be an issue for Enterprise vendor kernels, where the default config (should be always) is PANIC_ON_OOPS.
Jon.