diff mbox series

sunxi: defconfig: Add pstore support for pinephone

Message ID 20240211154514.925977-1-andrej.skvortzov@gmail.com
State New
Delegated to: Andre Przywara
Headers show
Series sunxi: defconfig: Add pstore support for pinephone | expand

Commit Message

Andrey Skvortsov Feb. 11, 2024, 3:45 p.m. UTC
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>
---
 configs/pinephone_defconfig | 2 ++
 1 file changed, 2 insertions(+)

Comments

Peter Robinson Feb. 11, 2024, 4:11 p.m. UTC | #1
On Sun, 11 Feb 2024 at 16:02, Andrey Skvortsov
<andrej.skvortzov@gmail.com> wrote:
>
> In general any DRAM address, that isn't overwritten during a boot is
> suitable for pstore.

What's this functionality providing? The details below give the
technical reasons for the memory address but I'm not sure what
enabling pstore provides to PinePhone users.

> 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>
> ---
>  configs/pinephone_defconfig | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/configs/pinephone_defconfig b/configs/pinephone_defconfig
> index 9d39204a43..7b80cc3131 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
> --
> 2.43.0
>
Andrey Skvortsov Feb. 11, 2024, 4:20 p.m. UTC | #2
Hi Peter,

On 24-02-11 16:11, Peter Robinson wrote:
> On Sun, 11 Feb 2024 at 16:02, Andrey Skvortsov
> <andrej.skvortzov@gmail.com> wrote:
> >
> > In general any DRAM address, that isn't overwritten during a boot is
> > suitable for pstore.
> 
> What's this functionality providing? The details below give the
> technical reasons for the memory address but I'm not sure what
> enabling pstore provides to PinePhone users.
>
Good point. pstore allows users to catch kernel crashes and report
them to developers. 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.

Modern (Android) phones have pstore enabled usually to get information
about kernel crash, since it's the simplest way to get kernel
backtrace on mobile device without serial console.

> > 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>
> > ---
> >  configs/pinephone_defconfig | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/configs/pinephone_defconfig b/configs/pinephone_defconfig
> > index 9d39204a43..7b80cc3131 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
> > --
> > 2.43.0
> >
diff mbox series

Patch

diff --git a/configs/pinephone_defconfig b/configs/pinephone_defconfig
index 9d39204a43..7b80cc3131 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