Files
kernel_common_drivers/drivers/memory_debug/ramdump/Kconfig
T
dongqing.li bb84725f88 ramdump: memcpy 0-24MB on panic for ker-32bit [2/2]
PD#SWPL-192100

Problem:
The 32-bit kernel cannot use the ramdump function.
Because the .text section is typically at 0x00108000,
which will be overwritten by the BL2E/BL33 after
reboot. And the PC side is unable to parse it.

Solution:
1. After kernel panic, use DMA to copy the 0-24MB
region to the 0x09000000 area.
2. Reboot to bl33z, fill compress_section[1] with
the 0x09000000 region.
3. Analyze it using the same method as before.

Verify:
sc2

Change-Id: I3e22beb06321289c6643d3f05ec2d910d5ce0beb
Signed-off-by: dongqing.li <dongqing.li@amlogic.com>
2025-01-16 00:17:41 -08:00

32 lines
954 B
Plaintext

# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
config AMLOGIC_RAMDUMP
bool "Amlogic full ramdump"
default n
help
Amlogic ramump implementation. When kernel pain is
generated, the entire ddr data will be compressed and
copied out. Finally, use the crash tool to debug and
analyze on the PC side.
config AMLOGIC_RAMDUMP_TEXTOFFSET
bool "set TEXTOFFSET=0x02008000 for kernel 32bit"
depends on ARM
depends on AMLOGIC_RAMDUMP
default n
help
The 32-bit kernel cannot use ramdump because the text
section at 1MB is overwritten by BL2 after reboot.
Set TEXTOFFSET to 24MB+, just for kernel 32bit.
config AMLOGIC_RAMDUMP_DMA_COPY
bool "DMA copy 0-24MB after kernel panic"
depends on ARM
depends on AMLOGIC_RAMDUMP
default y if !AMLOGIC_RAMDUMP_TEXTOFFSET
default n
help
The 32-bit kernel cannot use ramdump because the text
section at 1MB is overwritten by BL2 after reboot.
DMA copy 0-24MB to high-mem area after kernel panic.