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

Andre Przywara andre.przywara at arm.com
Mon Jan 20 21:22:28 CET 2025


On Wed,  6 Nov 2024 10:49:47 +0300
Andrey Skvortsov <andrej.skvortzov at 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 at gmail.com>

Reviewed-by: Andre Przywara <andre.przywara at 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



More information about the U-Boot mailing list