linux/arch/arm64/include/asm
Dmitry Safonov c76898373f arm64: add loglvl to dump_backtrace()
Currently, the log-level of show_stack() depends on a platform
realization.  It creates situations where the headers are printed with
lower log level or higher than the stacktrace (depending on a platform or
user).

Furthermore, it forces the logic decision from user to an architecture
side.  In result, some users as sysrq/kdb/etc are doing tricks with
temporary rising console_loglevel while printing their messages.  And in
result it not only may print unwanted messages from other CPUs, but also
omit printing at all in the unlucky case where the printk() was deferred.

Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
approach than introducing more printk buffers.  Also, it will consolidate
printings with headers.

Add log level argument to dump_backtrace() as a preparation for
introducing show_stack_loglvl().

[1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#u

Signed-off-by: Dmitry Safonov <dima@arista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Will Deacon <will@kernel.org>
Link: http://lkml.kernel.org/r/20200418201944.482088-10-dima@arista.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-09 09:39:11 -07:00
..
vdso arm64: vdso32: Include common headers in the vdso library 2020-03-21 15:24:02 +01:00
xen xen: fixes and cleanups for 5.4-rc2 2019-10-04 11:13:09 -07:00
acenv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
acpi.h arm64 updates for 5.3: 2019-07-08 09:54:55 -07:00
alternative.h arm64: alternative: fix build with clang integrated assembler 2020-03-20 10:01:28 +00:00
arch_gicv3.h KVM/arm fixes for 5.6, take #1 2020-02-28 11:50:06 +01:00
arch_timer.h Merge branch 'timers/vdso' into timers/core 2019-07-03 10:50:21 +02:00
archrandom.h arm64: add credited/trusted RNG support 2020-02-27 23:21:52 -05:00
arm_dsu_pmu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
arm-cci.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
asm_pointer_auth.h arm64: simplify ptrauth initialization 2020-04-28 11:23:21 +01:00
asm-bug.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
asm-offsets.h
asm-prototypes.h arm64: asm-prototypes: Fix fat-fingered typo in comment 2019-01-10 11:11:46 +00:00
asm-uaccess.h arm64 updates for 5.5: 2019-11-25 15:39:19 -08:00
assembler.h arm64: asm: Provide a mechanism for generating ELF note for BTI 2020-05-07 17:53:20 +01:00
atomic_ll_sc.h arm64: Move the LSE gas support detection to Kconfig 2020-01-15 12:50:48 +00:00
atomic_lse.h arm64: lse: fix LSE atomics with LLVM's integrated assembler 2020-01-16 17:25:10 +00:00
atomic.h Merge branch 'for-next/atomics' into for-next/core 2019-08-30 12:55:39 +01:00
barrier.h arm64: Relax ICC_PMR_EL1 accesses when ICC_CTLR_EL1.PMHE is clear 2019-10-15 12:26:09 +01:00
bitops.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
bitrev.h
boot.h treewide: replace #include <asm/sizes.h> with #include <linux/sizes.h> 2019-05-14 19:52:52 -07:00
brk-imm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
bug.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
cache.h arm64: Ask the compiler to __always_inline functions used by KVM at HYP 2020-02-22 11:01:47 +00:00
cacheflush.h arm64: use asm-generic/cacheflush.h 2020-06-08 11:05:57 -07:00
checksum.h arm64: csum: Optimise IPv6 header checksum 2020-03-09 18:08:25 +00:00
clocksource.h arm64: Introduce asm/vdso/clocksource.h 2020-03-21 15:23:55 +01:00
cmpxchg.h arm64: fix unreachable code issue with cmpxchg 2019-09-17 12:11:50 +01:00
compat.h compat: provide compat_ptr() on all architectures 2020-01-03 09:32:51 +01:00
compiler.h arm64/crash_core: Export KERNELPACMASK in vmcoreinfo 2020-05-11 14:29:10 +01:00
cpu_ops.h arm64: Introduce get_cpu_ops() helper function 2020-03-24 17:24:19 +00:00
cpu.h arm64/cpuinfo: Add ID_MMFR4_EL1 into the cpuinfo_arm64 context 2020-05-21 15:47:12 +01:00
cpucaps.h Merge branch 'for-next/kvm/errata' into for-next/core 2020-05-28 18:02:51 +01:00
cpufeature.h Merge branch 'for-next/bti' into for-next/core 2020-05-28 18:00:51 +01:00
cpuidle.h
cputype.h arm64: Add KRYO{3,4}XX CPU cores to spectre-v2 safe list 2020-01-17 12:46:41 +00:00
current.h
daifflags.h arm64: acpi: fix DAIF manipulation with pNMI 2020-01-22 14:41:22 +00:00
dcc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
debug-monitors.h arm64: Call debug_traps_init() from trap_init() to help early kgdb 2020-05-18 17:51:20 +01:00
device.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
dmi.h
efi.h efi/libstub: unify EFI call wrappers for non-x86 2020-04-23 20:15:06 +02:00
elf.h Split the old READ_IMPLIES_EXEC workaround from executable PT_GNU_STACK 2020-06-05 13:45:21 -07:00
esr.h Merge branch 'for-next/bti-user' into for-next/bti 2020-05-05 15:15:58 +01:00
exception.h arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
exec.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
extable.h
fb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
fixmap.h firmware: arm_sdei: Add ACPI GHES registration helper 2019-02-11 11:07:49 +01:00
fpsimd.h arm64: remove pointless __KERNEL__ guards 2019-08-05 11:06:33 +01:00
fpsimdmacros.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
ftrace.h arm64: implement ftrace with regs 2019-11-06 14:17:35 +00:00
futex.h futex: arch_futex_atomic_op_inuser() calling conventions change 2020-03-27 23:58:51 -04:00
hardirq.h arm64: Prepare arch_nmi_enter() for recursion 2020-05-19 15:51:17 +02:00
hugetlb.h mm/hugetlb: define a generic fallback for arch_clear_hugepage_flags() 2020-06-03 20:09:46 -07:00
hw_breakpoint.h arm64: remove pointless __KERNEL__ guards 2019-08-05 11:06:33 +01:00
hwcap.h arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
hypervisor.h
image.h docs: arm64: convert docs to ReST and rename to .rst 2019-06-14 14:20:27 -06:00
insn.h arm64: insn: Provide a better name for aarch64_insn_is_nop() 2020-05-04 16:06:29 +01:00
io.h arm64: Ask the compiler to __always_inline functions used by KVM at HYP 2020-02-22 11:01:47 +00:00
irq_work.h
irq.h arm64: Use the new GENERIC_IRQ_MULTI_HANDLER 2018-08-03 12:14:09 +02:00
irqflags.h arm64: Relax ICC_PMR_EL1 accesses when ICC_CTLR_EL1.PMHE is clear 2019-10-15 12:26:09 +01:00
jump_label.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
kasan.h arm64: mm: Introduce vabits_actual 2019-08-09 11:17:21 +01:00
Kbuild asm-generic: make more kernel-space headers mandatory 2020-04-02 09:35:25 -07:00
kernel-pgtable.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
kexec.h Revert "arm64: kexec: make dtb_mem always enabled" 2020-01-10 16:00:50 +00:00
kgdb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
kprobes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
kvm_arm.h arm64/kvm: disable access to AMU registers from kvm guests 2020-03-06 16:02:50 +00:00
kvm_asm.h KVM: arm64: Clean up cpu_init_hyp_mode() 2020-05-25 16:15:47 +01:00
kvm_coproc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
kvm_emulate.h Merge branch 'for-next/bti-user' into for-next/bti 2020-05-05 15:15:58 +01:00
kvm_host.h ARM: 2020-06-03 15:13:47 -07:00
kvm_hyp.h ARM: 2020-06-03 15:13:47 -07:00
kvm_mmu.h arm64: add support for folded p4d page tables 2020-06-04 19:06:21 -07:00
kvm_ptrauth.h KVM: arm/arm64: Context-switch ptrauth registers 2019-04-24 15:30:40 +01:00
kvm_ras.h arm64: KVM/mm: Move SEA handling behind a single 'claim' interface 2019-02-07 23:10:45 +01:00
linkage.h arm64: vdso: Don't prefix sigreturn trampoline with a BTI C instruction 2020-05-21 12:57:18 +01:00
lse.h arm64: lse: Fix LSE atomics with LLVM 2020-02-18 18:10:49 +00:00
memory.h arm64: remove CONFIG_DEBUG_ALIGN_RODATA feature 2020-04-01 21:44:43 +01:00
mman.h arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
mmu_context.h arm64: mm: convert cpu_do_switch_mm() to C 2020-02-27 14:30:50 +00:00
mmu.h arm64 updates for 5.7: 2020-03-31 10:05:01 -07:00
mmzone.h
module.h arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
neon-intrinsics.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
neon.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
numa.h arm64: numa: separate out updates to percpu nodeid and NUMA node cpumap 2018-07-06 13:18:18 +01:00
page-def.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
page.h mm/vma: define a default value for VM_DATA_DEFAULT_FLAGS 2020-04-10 15:36:21 -07:00
paravirt.h arm64: Retrieve stolen time as paravirtualized guest 2019-10-21 19:20:31 +01:00
pci.h arm64: remove pointless __KERNEL__ guards 2019-08-05 11:06:33 +01:00
percpu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
perf_event.h arm64: perf: Add support for ARMv8.5-PMU 64-bit counters 2020-03-17 22:50:30 +00:00
pgalloc.h arm64: add support for folded p4d page tables 2020-06-04 19:06:21 -07:00
pgtable-hwdef.h Merge branch 'for-next/bti' into for-next/core 2020-05-28 18:00:51 +01:00
pgtable-prot.h arm64: bti: Fix support for userspace only BTI 2020-05-12 18:45:17 +01:00
pgtable-types.h arm64: add support for folded p4d page tables 2020-06-04 19:06:21 -07:00
pgtable.h arm64: add support for folded p4d page tables 2020-06-04 19:06:21 -07:00
pointer_auth.h arm64: sync kernel APIAKey when installing 2020-04-21 15:52:56 +01:00
preempt.h sched/rt, arm64: Use CONFIG_PREEMPTION 2019-12-08 14:37:32 +01:00
probes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
proc-fns.h arm64: mm: convert cpu_do_switch_mm() to C 2020-02-27 14:30:50 +00:00
processor.h arm64 updates for 5.7: 2020-03-31 10:05:01 -07:00
ptdump.h arm64: mm: convert mm/dump.c to use walk_page_range() 2020-02-04 03:05:25 +00:00
ptrace.h KVM: arm64: Parametrize exception entry with a target EL 2020-05-28 13:16:55 +01:00
pvclock-abi.h KVM: arm64: Implement PV_TIME_FEATURES call 2019-10-21 19:20:27 +01:00
scs.h scs: Move scs_overflow_check() out of architecture code 2020-05-18 17:47:40 +01:00
sdei.h arm64: Use the correct style for SPDX License Identifier 2019-04-16 16:28:01 +01:00
seccomp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sections.h arm64: Remove __exception_text_start and __exception_text_end from asm/section.h 2020-01-08 17:30:19 +00:00
shmparam.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
signal32.h arm64: remove pointless __KERNEL__ guards 2019-08-05 11:06:33 +01:00
simd.h arm64: fpsimd: Make sure SVE setup is complete before SIMD is used 2020-01-14 17:11:21 +00:00
smp_plat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
smp.h arm64: simplify ptrauth initialization 2020-04-28 11:23:21 +01:00
sparsemem.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
spinlock_types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
spinlock.h arm64/spinlock: fix a -Wunused-function warning 2020-02-10 11:29:24 +00:00
stack_pointer.h
stackprotector.h arm64: initialize ptrauth keys for kernel booting task 2020-03-18 09:50:20 +00:00
stacktrace.h arm64: add loglvl to dump_backtrace() 2020-06-09 09:39:11 -07:00
stage2_pgtable.h arm64: add support for folded p4d page tables 2020-06-04 19:06:21 -07:00
stat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
string.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
suspend.h arm64: Preserve register x18 when CPU is suspended 2020-05-15 16:35:50 +01:00
sync_bitops.h arm64, locking/atomics: Use instrumented atomics 2018-11-01 11:01:40 +01:00
syscall_wrapper.h arm64: simplify syscall wrapper ifdeffery 2019-10-14 10:55:00 +01:00
syscall.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
sysreg.h Merge branch 'for-next/bti' into for-next/core 2020-05-28 18:00:51 +01:00
system_misc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
thread_info.h arm64: scs: Store absolute SCS stack pointer value in thread_info 2020-05-18 17:47:22 +01:00
timex.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
tlb.h mm: treewide: clarify pgtable_page_{ctor,dtor}() naming 2019-09-26 10:10:44 -07:00
tlbflush.h arm64: tlb: Ensure we execute an ISB following walk cache invalidation 2019-08-27 17:38:26 +01:00
topology.h arm64 updates for 5.7: 2020-03-31 10:05:01 -07:00
traps.h arm64: remove __exception annotations 2019-10-28 11:22:38 +00:00
uaccess.h arm64: Add get_user() type annotation on the !access_ok() path 2020-05-22 16:59:49 +01:00
unistd32.h vfs: add faccessat2 syscall 2020-05-14 16:44:25 +02:00
unistd.h vfs: add faccessat2 syscall 2020-05-14 16:44:25 +02:00
uprobes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
vdso.h arm64: remove pointless __KERNEL__ guards 2019-08-05 11:06:33 +01:00
vermagic.h arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
virt.h KVM: arm64: Use cpus_have_final_cap for has_vhe() 2020-05-16 15:04:51 +01:00
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00
vmap_stack.h arm64: use __vmalloc_node in arch_alloc_vmap_stack 2020-06-02 10:59:11 -07:00
word-at-a-time.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00