ramdump: set TEXT_OFFSET=0x02008000 for ker5.15-u32 [1/1]
PD#SWPL-182182
Problem:
The .text addr of Kernel 32bit is 0. When enabling the
ramdump, it needs to be offset to 24MB+.
Solution:
1. modify textofs-y := 0x02008000, LOADADDR=0x02008000
2. enable for .ko link error: CONFIG_ARM_MODULE_PLTS
3. disable AUTO_ZRELADDR (less than 128MB, not necessary)
4. enable for crash debug: CONFIG_AMLOGIC_RAMDUMP, CONFIG_KALLSYMS,
CONFIG_KALLSYMS_ALL, CONFIG_DEBUG_INFO, CONFIG_FRAME_POINTER,
CONFIG_DEBUG_KERNEL
5. add trace_android_vh_ipi_stop() for ker 32bit IPI_STOP.
Verify:
sc2, T5D, T5W, TXHD2, S4D
Change-Id: I22fff913a9550c029baef93933fea240bf58bbc0
Signed-off-by: dongqing.li <dongqing.li@amlogic.com>
diff --git a/amlogic_utils.sh b/amlogic_utils.sh
index 4e03417..4c4e6d7 100644
--- a/amlogic_utils.sh
+++ b/amlogic_utils.sh
@@ -1313,7 +1313,7 @@
if [ "${ARCH}" = "arm64" ]; then
(cd ${OUT_DIR} && make O=${OUT_DIR} ${TOOL_ARGS} "${MAKE_ARGS[@]}" -j$(nproc) Image)
elif [ "${ARCH}" = "arm" ]; then
- (cd ${OUT_DIR} && make O=${OUT_DIR} ${TOOL_ARGS} "${MAKE_ARGS[@]}" -j$(nproc) LOADADDR=0x208000 uImage)
+ (cd ${OUT_DIR} && make O=${OUT_DIR} ${TOOL_ARGS} "${MAKE_ARGS[@]}" -j$(nproc) LOADADDR=0x2008000 uImage)
fi
set +x
fi
@@ -1551,7 +1551,7 @@
function set_default_parameters () {
if [ "${ARCH}" = "arm" ]; then
- ARGS+=("LOADADDR=0x208000")
+ ARGS+=("LOADADDR=0x02008000")
else
ARCH=arm64
fi
@@ -1872,7 +1872,7 @@
export MKBOOTIMG_STAGING_DIR="${MODULES_STAGING_DIR}/mkbootimg_staging"
export OUT_AMLOGIC_DIR=$(readlink -m ${COMMON_OUT_DIR}/amlogic)
- tool_args+=("LOADADDR=0x208000")
+ tool_args+=("LOADADDR=0x02008000")
tool_args+=("DEPMOD=depmod")
tool_args+=("KCONFIG_EXT_MODULES_PREFIX=${KCONFIG_EXT_MODULES_PREFIX}")
tool_args+=("KCONFIG_EXT_PREFIX=${KCONFIG_EXT_PREFIX}")