[PATCH v2] sunxi: defconfig: Add pstore support for pinephone

pstore will allow users to catch kernel crashes and report them to developers. Modern (Android) phones have pstore usually enabled to get information about kernel crash, since it's the simplest way to get kernel backtrace on mobile device without serial console. Usually it's enabled by default in distribution kernels like Debian.
CONFIG_PSTORE=y CONFIG_PSTORE_RAM=m
systemd has service that automatically handles pstore and saves them in /var/lib/pstore for later usage.
In general any DRAM address, that isn't overwritten during a boot is suitable for pstore.
Range from 0x40000000 - 0x50000000 is heavily used by u-boot for internal use and to load kernel, fdt, fdto, scripts, pxefile and ramdisk later in the boot process. Ramdisk start address is 0x4FF00000, initramfs for kernel with some hacking features and debug info enabled can take more than 100Mb and final address will be around 0x58000000. Address 0x61000000 will most likely not overlap with that.
Signed-off-by: Andrey Skvortsov andrej.skvortzov@gmail.com ---
Changes since v1: - updated description with pstore usage details
configs/pinephone_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/configs/pinephone_defconfig b/configs/pinephone_defconfig index 9d39204a439..7b80cc3131b 100644 --- a/configs/pinephone_defconfig +++ b/configs/pinephone_defconfig @@ -10,6 +10,8 @@ CONFIG_DRAM_ZQ=3881949 CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_PINEPHONE_DT_SELECTION=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_CMD_PSTORE=y +CONFIG_CMD_PSTORE_MEM_ADDR=0x61000000 CONFIG_OF_LIST="sun50i-a64-pinephone-1.1 sun50i-a64-pinephone-1.2" CONFIG_LED_STATUS=y CONFIG_LED_STATUS_GPIO=y

On Wed, 6 Nov 2024 10:49:47 +0300 Andrey Skvortsov andrej.skvortzov@gmail.com wrote:
Hi Andrey,
pstore will allow users to catch kernel crashes and report them to developers. Modern (Android) phones have pstore usually enabled to get information about kernel crash, since it's the simplest way to get kernel backtrace on mobile device without serial console. Usually it's enabled by default in distribution kernels like Debian.
CONFIG_PSTORE=y CONFIG_PSTORE_RAM=m
systemd has service that automatically handles pstore and saves them in /var/lib/pstore for later usage.
In general any DRAM address, that isn't overwritten during a boot is suitable for pstore.
Range from 0x40000000 - 0x50000000 is heavily used by u-boot for internal use and to load kernel, fdt, fdto, scripts, pxefile and ramdisk later in the boot process. Ramdisk start address is 0x4FF00000, initramfs for kernel with some hacking features and debug info enabled can take more than 100Mb and final address will be around 0x58000000. Address 0x61000000 will most likely not overlap with that.
Nice commit message, good rationale. I briefly tested the part where U-Boot injects the DT, and that works. I wonder if this could be rolled out to a wider audience, at least we could move the address into the generic Kconfig file, for all ARMv8 sunxi SoCs. I will let it sit for a while, and let people test it, then we can come back to this.
Signed-off-by: Andrey Skvortsov andrej.skvortzov@gmail.com
Reviewed-by: Andre Przywara andre.przywara@arm.com
Queued for the next PR.
Cheers, Andre
Changes since v1:
- updated description with pstore usage details
configs/pinephone_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/configs/pinephone_defconfig b/configs/pinephone_defconfig index 9d39204a439..7b80cc3131b 100644 --- a/configs/pinephone_defconfig +++ b/configs/pinephone_defconfig @@ -10,6 +10,8 @@ CONFIG_DRAM_ZQ=3881949 CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_PINEPHONE_DT_SELECTION=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_CMD_PSTORE=y +CONFIG_CMD_PSTORE_MEM_ADDR=0x61000000 CONFIG_OF_LIST="sun50i-a64-pinephone-1.1 sun50i-a64-pinephone-1.2" CONFIG_LED_STATUS=y CONFIG_LED_STATUS_GPIO=y
participants (2)
-
Andre Przywara
-
Andrey Skvortsov