mirror-linux/arch/microblaze/include/asm
Masami Hiramatsu (Google) a494d3c8d5 ring-buffer: Flush and stop persistent ring buffer on panic
On real hardware, panic and machine reboot may not flush hardware cache
to memory. This means the persistent ring buffer, which relies on a
coherent state of memory, may not have its events written to the buffer
and they may be lost. Moreover, there may be inconsistency with the
counters which are used for validation of the integrity of the
persistent ring buffer which may cause all data to be discarded.

To avoid this issue, stop recording of the ring buffer on panic and
flush the cache of the ring buffer's memory.

Fixes: e645535a95 ("tracing: Add option to use memmapped memory for trace boot instance")
Cc: stable@vger.kernel.org
Cc: Will Deacon <will@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Ian Rogers <irogers@google.com>
Link: https://patch.msgid.link/177751969602.2136606.12031934362587643488.stgit@mhiramat.tok.corp.google.com
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2026-05-21 08:20:58 -04:00
..
Kbuild ring-buffer: Flush and stop persistent ring buffer on panic 2026-05-21 08:20:58 -04:00
asm-compat.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
asm-offsets.h
barrier.h
cache.h microblaze: move the ARCH_{DMA,SLAB}_MINALIGN definitions to asm/cache.h 2023-06-19 16:19:24 -07:00
cacheflush.h microblaze: implement the new page table range API 2023-08-24 16:20:21 -07:00
checksum.h
cpuinfo.h
current.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
delay.h
dma.h PCI: Move isa_dma_bridge_buggy out of asm/dma.h 2022-07-22 17:24:47 -05:00
elf.h
entry.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
exceptions.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
fixmap.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
flat.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ftrace.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
futex.h
hash.h
highmem.h
io.h arch/*/: remove CONFIG_VIRT_TO_BUS 2022-06-28 13:20:21 +02:00
irq.h irqchip/xilinx: Switch to GENERIC_IRQ_MULTI_HANDLER 2022-03-04 14:32:57 +00:00
irqflags.h
kgdb.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
mmu.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
mmu_context.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
mmu_context_mm.h
module.h
page.h treewide: provide a generic clear_user_page() variant 2026-01-20 19:24:39 -08:00
pci-bridge.h microblaze/PCI: Remove support for Xilinx PCI host bridge 2022-11-25 11:39:23 +01:00
pci.h microblaze/PCI: Remove support for Xilinx PCI host bridge 2022-11-25 11:39:23 +01:00
pgalloc.h asm-generic: pgalloc: provide generic __pgd_{alloc,free} 2025-01-25 20:22:24 -08:00
pgtable.h mm: change to return bool for ptep_test_and_clear_young() 2026-04-05 13:53:35 -07:00
processor.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
ptrace.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
pvr.h
registers.h microblaze: Remove noMMU code 2020-11-26 16:39:35 +01:00
seccomp.h
sections.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
setup.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
string.h microblaze: Use simple memmove/memcpy implementation from lib/string.c 2022-04-21 10:54:21 +02:00
switch_to.h
syscall.h syscall.h: introduce syscall_set_nr() 2025-05-11 17:48:15 -07:00
thread_info.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
timex.h
tlbflush.h microblaze: implement the new page table range API 2023-08-24 16:20:21 -07:00
uaccess.h uaccess: remove CONFIG_SET_FS 2022-02-25 09:36:06 +01:00
unistd.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00
unwind.h
vmalloc.h
xilinx_mb_manager.h microblaze: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-09-12 13:12:42 +02:00