public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Joost van Zwieten <joost@diskos.nl>
To: Tom Rini <trini@konsulko.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>, u-boot@lists.denx.de
Subject: Re: kernel doesn't start on Odroid U2 unless setting initrd_high
Date: Thu, 12 Jan 2023 23:32:42 +0100	[thread overview]
Message-ID: <IA9EOR.K325RQSJTZB91@diskos.nl> (raw)
In-Reply-To: <20230112001015.GR3787616@bill-the-cat>



On Wed, Jan 11, 2023 at 19:10, Tom Rini <trini@konsulko.com> wrote:
> On Wed, Jan 11, 2023 at 10:08:59PM +0100, Joost van Zwieten wrote:
>> 
>> 
>>  On Wed, Jan 11, 2023 at 15:38, Tom Rini <trini@konsulko.com> wrote:
>>  > On Wed, Jan 11, 2023 at 09:28:42PM +0100, Joost van Zwieten wrote:
>>  > >
>>  > >
>>  > >  On Tue, Jan 10, 2023 at 18:29, Tom Rini <trini@konsulko.com> 
>> wrote:
>>  > >  > On Wed, Jan 11, 2023 at 12:10:42AM +0100, Joost van Zwieten 
>> wrote:
>>  > >  > >
>>  > >  > >
>>  > >  > >  On Tue, Jan 10, 2023 at 18:08, Tom Rini 
>> <trini@konsulko.com>
>>  > > wrote:
>>  > >  > >  > On Wed, Jan 11, 2023 at 12:01:46AM +0100, Joost van 
>> Zwieten
>>  > > wrote:
>>  > >  > >  > >
>>  > >  > >  > >
>>  > >  > >  > >  On Tue, Jan 10, 2023 at 13:41, Tom Rini
>>  > > <trini@konsulko.com>
>>  > >  > > wrote:
>>  > >  > >  > >  > On Tue, Jan 10, 2023 at 09:13:32AM +0100, Joost van
>>  > > Zwieten
>>  > >  > > wrote:
>>  > >  > >  > >  >
>>  > >  > >  > >  > >  Dear maintainers,
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >  As of commit 
>> 4963f63fe61f15329d77472a762b1d8bf754d24b
>>  > >  > > U-Boot
>>  > >  > >  > > fails
>>  > >  > >  > >  > > to start
>>  > >  > >  > >  > >  a kernel (with `bootz`) on my Odroid U2 unless I
>>  > > force
>>  > >  > >  > >  > > `initrd_high`, e.g.
>>  > >  > >  > >  > >  to `0x50000000`. With commit 4963f63f and
>>  > > `initrd_high`
>>  > >  > >  > > *unset* I
>>  > >  > >  > >  > > get the
>>  > >  > >  > >  > >  following output:
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     U-Boot 2020.10-rc2-00314-g4963f63fe6 (Jan 09 
>> 2023
>>  > > -
>>  > >  > > 23:59:31
>>  > >  > >  > >  > > +0100)
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     CPU: Exynos4412 @ 1 GHz
>>  > >  > >  > >  > >     Model: Odroid based on Exynos4412
>>  > >  > >  > >  > >     Type: u3
>>  > >  > >  > >  > >     DRAM: 2 GiB
>>  > >  > >  > >  > >     LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; 
>> enabling
>>  > >  > >  > >  > >     LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; 
>> enabling
>>  > >  > >  > >  > >     LDO21@TFLASH_2.8V: set 2800000 uV; enabling
>>  > >  > >  > >  > >     MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
>>  > >  > >  > >  > >     Loading Environment from MMC... *** Warning 
>> - bad
>>  > > CRC,
>>  > >  > > using
>>  > >  > >  > >  > > default
>>  > >  > >  > >  > >  environment
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     In: serial
>>  > >  > >  > >  > >     Out: serial
>>  > >  > >  > >  > >     Err: serial
>>  > >  > >  > >  > >     Boot device: MMC(2)
>>  > >  > >  > >  > >     Net: No ethernet found.
>>  > >  > >  > >  > >     Hit any key to stop autoboot: 0
>>  > >  > >  > >  > >     Odroid # env set fk_kvers 5.10.0-20-armmp
>>  > >  > >  > >  > >     Odroid # load mmc 
>> ${mmcbootdev}:${mmcbootpart}
>>  > >  > > ${fdt_addr_r}
>>  > >  > >  > >  > >  /boot/dtbs/${fk_kvers}/exynos4412-odroidu3.dtb
>>  > >  > >  > >  > >     53440 bytes read in 50 ms (1 MiB/s)
>>  > >  > >  > >  > >     Odroid # load mmc 
>> ${mmcbootdev}:${mmcbootpart}
>>  > >  > >  > > ${kernel_addr_r}
>>  > >  > >  > >  > >  /boot/vmlinuz-${fk_kvers}
>>  > >  > >  > >  > >     4973056 bytes read in 182 ms (26.1 MiB/s)
>>  > >  > >  > >  > >     Odroid # load mmc 
>> ${mmcbootdev}:${mmcbootpart}
>>  > >  > >  > > ${ramdisk_addr_r}
>>  > >  > >  > >  > >  /boot/initrd.img-${fk_kvers}
>>  > >  > >  > >  > >     22231585 bytes read in 777 ms (27.3 MiB/s)
>>  > >  > >  > >  > >     Odroid # env set bootargs 
>> console=ttySAC1,115200n8
>>  > >  > >  > >  > >     Odroid # bootz ${kernel_addr_r}
>>  > >  > >  > > ${ramdisk_addr_r}:${filesize}
>>  > >  > >  > >  > >  ${fdt_addr_r}
>>  > >  > >  > >  > >     Kernel image @ 0x41000000 [ 0x000000 - 
>> 0x4be200 ]
>>  > >  > >  > >  > >     ## Flattened Device Tree blob at 40800000
>>  > >  > >  > >  > >        Booting using the fdt blob at 0x40800000
>>  > >  > >  > >  > >        Loading Ramdisk to b9947000, end bae7aa21 
>> ...
>>  > > OK
>>  > >  > >  > >  > >        Loading Device Tree to b9936000, end 
>> b99460bf
>>  > > ... OK
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     Starting kernel ...
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >  And that's all I ever see. Normally the initrd 
>> loads
>>  > > a
>>  > >  > > module
>>  > >  > >  > > that
>>  > >  > >  > >  > > causes an
>>  > >  > >  > >  > >  LED on the Odroid to blink, and this is not 
>> happening
>>  > >  > > either,
>>  > >  > >  > > so
>>  > >  > >  > >  > > I'm pretty
>>  > >  > >  > >  > >  confident the kernel doesn't start or at least
>>  > > crashes
>>  > >  > > before
>>  > >  > >  > >  > > producing
>>  > >  > >  > >  > >  output. If I set `initrd_high` to `0x50000000` 
>> (or
>>  > >  > > something
>>  > >  > >  > > in the
>>  > >  > >  > >  > >  neighborhood) the kernel starts just fine:
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     U-Boot 2020.10-rc2-00314-g4963f63fe6 (Jan 09 
>> 2023
>>  > > -
>>  > >  > > 23:59:31
>>  > >  > >  > >  > > +0100)
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     CPU: Exynos4412 @ 1 GHz
>>  > >  > >  > >  > >     Model: Odroid based on Exynos4412
>>  > >  > >  > >  > >     Type: u3
>>  > >  > >  > >  > >     DRAM: 2 GiB
>>  > >  > >  > >  > >     LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; 
>> enabling
>>  > >  > >  > >  > >     LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; 
>> enabling
>>  > >  > >  > >  > >     LDO21@TFLASH_2.8V: set 2800000 uV; enabling
>>  > >  > >  > >  > >     MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
>>  > >  > >  > >  > >     Loading Environment from MMC... *** Warning 
>> - bad
>>  > > CRC,
>>  > >  > > using
>>  > >  > >  > >  > > default
>>  > >  > >  > >  > >  environment
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     In: serial
>>  > >  > >  > >  > >     Out: serial
>>  > >  > >  > >  > >     Err: serial
>>  > >  > >  > >  > >     Boot device: MMC(2)
>>  > >  > >  > >  > >     Net: No ethernet found.
>>  > >  > >  > >  > >     Hit any key to stop autoboot: 0
>>  > >  > >  > >  > >     Odroid # env set fk_kvers 5.10.0-20-armmp
>>  > >  > >  > >  > >     Odroid # load mmc 
>> ${mmcbootdev}:${mmcbootpart}
>>  > >  > > ${fdt_addr_r}
>>  > >  > >  > >  > >  /boot/dtbs/${fk_kvers}/exynos4412-odroidu3.dtb
>>  > >  > >  > >  > >     53440 bytes read in 49 ms (1 MiB/s)
>>  > >  > >  > >  > >     Odroid # load mmc 
>> ${mmcbootdev}:${mmcbootpart}
>>  > >  > >  > > ${kernel_addr_r}
>>  > >  > >  > >  > >  /boot/vmlinuz-${fk_kvers}
>>  > >  > >  > >  > >     4973056 bytes read in 181 ms (26.2 MiB/s)
>>  > >  > >  > >  > >     Odroid # load mmc 
>> ${mmcbootdev}:${mmcbootpart}
>>  > >  > >  > > ${ramdisk_addr_r}
>>  > >  > >  > >  > >  /boot/initrd.img-${fk_kvers}
>>  > >  > >  > >  > >     22231585 bytes read in 777 ms (27.3 MiB/s)
>>  > >  > >  > >  > >     Odroid # env set bootargs 
>> console=ttySAC1,115200n8
>>  > >  > >  > >  > >     Odroid # env set initrd_high 0x50000000
>>  > >  > >  > >  > >     Odroid # bootz ${kernel_addr_r}
>>  > >  > >  > > ${ramdisk_addr_r}:${filesize}
>>  > >  > >  > >  > >  ${fdt_addr_r}
>>  > >  > >  > >  > >     Kernel image @ 0x41000000 [ 0x000000 - 
>> 0x4be200 ]
>>  > >  > >  > >  > >     ## Flattened Device Tree blob at 40800000
>>  > >  > >  > >  > >        Booting using the fdt blob at 0x40800000
>>  > >  > >  > >  > >        Loading Ramdisk to 4eacc000, end 4ffffa21 
>> ...
>>  > > OK
>>  > >  > >  > >  > >        Loading Device Tree to bae6a000, end 
>> bae7a0bf
>>  > > ... OK
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     Starting kernel ...
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     [ 0.000000] Booting Linux on physical CPU 
>> 0xa00
>>  > >  > >  > >  > >     <truncated>
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >  The difference between those two runs is the 
>> location
>>  > >  > > where
>>  > >  > >  > > U-Boot
>>  > >  > >  > >  > > loads the
>>  > >  > >  > >  > >  initrd. The parent commit of 4963f63f boots fine
>>  > > without
>>  > >  > >  > > setting
>>  > >  > >  > >  > >  `initrd_high`:
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     U-Boot 2020.10-rc2-00313-gdfaf6a5797 (Jan 10 
>> 2023
>>  > > -
>>  > >  > > 00:13:19
>>  > >  > >  > >  > > +0100)
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     CPU: Exynos4412 @ 1 GHz
>>  > >  > >  > >  > >     Model: Odroid based on Exynos4412
>>  > >  > >  > >  > >     Type: u3
>>  > >  > >  > >  > >     DRAM: 2 GiB
>>  > >  > >  > >  > >     LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; 
>> enabling
>>  > >  > >  > >  > >     LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; 
>> enabling
>>  > >  > >  > >  > >     LDO21@TFLASH_2.8V: set 2800000 uV; enabling
>>  > >  > >  > >  > >     MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
>>  > >  > >  > >  > >     Loading Environment from MMC... *** Warning 
>> - bad
>>  > > CRC,
>>  > >  > > using
>>  > >  > >  > >  > > default
>>  > >  > >  > >  > >  environment
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     In: serial
>>  > >  > >  > >  > >     Out: serial
>>  > >  > >  > >  > >     Err: serial
>>  > >  > >  > >  > >     Boot device: MMC(2)
>>  > >  > >  > >  > >     Net: No ethernet found.
>>  > >  > >  > >  > >     Hit any key to stop autoboot: 0
>>  > >  > >  > >  > >     Odroid # env set fk_kvers 5.10.0-20-armmp
>>  > >  > >  > >  > >     Odroid # load mmc 
>> ${mmcbootdev}:${mmcbootpart}
>>  > >  > > ${fdt_addr_r}
>>  > >  > >  > >  > >  /boot/dtbs/${fk_kvers}/exynos4412-odroidu3.dtb
>>  > >  > >  > >  > >     53440 bytes read in 49 ms (1 MiB/s)
>>  > >  > >  > >  > >     Odroid # load mmc 
>> ${mmcbootdev}:${mmcbootpart}
>>  > >  > >  > > ${kernel_addr_r}
>>  > >  > >  > >  > >  /boot/vmlinuz-${fk_kvers}
>>  > >  > >  > >  > >     4973056 bytes read in 181 ms (26.2 MiB/s)
>>  > >  > >  > >  > >     Odroid # load mmc 
>> ${mmcbootdev}:${mmcbootpart}
>>  > >  > >  > > ${ramdisk_addr_r}
>>  > >  > >  > >  > >  /boot/initrd.img-${fk_kvers}
>>  > >  > >  > >  > >     22231585 bytes read in 776 ms (27.3 MiB/s)
>>  > >  > >  > >  > >     Odroid # env set bootargs 
>> console=ttySAC1,115200n8
>>  > >  > >  > >  > >     Odroid # bootz ${kernel_addr_r}
>>  > >  > >  > > ${ramdisk_addr_r}:${filesize}
>>  > >  > >  > >  > >  ${fdt_addr_r}
>>  > >  > >  > >  > >     Kernel image @ 0x41000000 [ 0x000000 - 
>> 0x4be200 ]
>>  > >  > >  > >  > >     ## Flattened Device Tree blob at 40800000
>>  > >  > >  > >  > >        Booting using the fdt blob at 0x40800000
>>  > >  > >  > >  > >        Loading Ramdisk to 4eacc000, end 4ffffa21 
>> ...
>>  > > OK
>>  > >  > >  > >  > >        Loading Device Tree to 4eabb000, end 
>> 4eacb0bf
>>  > > ... OK
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     Starting kernel ...
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >     [ 0.000000] Booting Linux on physical CPU 
>> 0xa00
>>  > >  > >  > >  > >     <truncated>
>>  > >  > >  > >  > >
>>  > >  > >  > >  > >  I've tested two different kernels from Debian
>>  > > (buster and
>>  > >  > >  > > bullseye)
>>  > >  > >  > >  > > and both
>>  > >  > >  > >  > >  have the same problem. I'm building U-Boot 
>> using the
>>  > >  > > default
>>  > >  > >  > > config
>>  > >  > >  > >  > > for
>>  > >  > >  > >  > >  board `odroid` and boot the Odroid from an SD 
>> card
>>  > > with
>>  > >  > >  > > firmware
>>  > >  > >  > >  > > (`bl1`,
>>  > >  > >  > >  > >  `bl2` and `tzsw`) from Hardkernel's clone of the
>>  > > u-boot
>>  > >  > >  > > repository
>>  > >  > >  > >  > > [1].
>>  > >  > >  > >  > >  There are no peripherals connected apart from 
>> the SD
>>  > > card
>>  > >  > > and
>>  > >  > >  > > the
>>  > >  > >  > >  > > serial
>>  > >  > >  > >  > >  console. Please let me know if you need more
>>  > > information.
>>  > >  > >  > >  >
>>  > >  > >  > >  > Interesting. So what does "bdi" show, both in the 
>> older
>>  > > good
>>  > >  > > and
>>  > >  > >  > >  > then current tree? Specifically the information 
>> about
>>  > > where
>>  > >  > > DRAM
>>  > >  > >  > > is, and
>>  > >  > >  > >  > how large it is? Thanks.
>>  > >  > >  > >  >
>>  > >  > >  > >  > --
>>  > >  > >  > >  > Tom
>>  > >  > >  > >
>>  > >  > >  > >  Both 4963f63f (not working) and its parent (working)
>>  > > produce
>>  > >  > > the
>>  > >  > >  > > same
>>  > >  > >  > >  output:
>>  > >  > >  > >
>>  > >  > >  > >     boot_params = 0x40000100
>>  > >  > >  > >     DRAM bank   = 0x00000000
>>  > >  > >  > >     -> start    = 0x40000000
>>  > >  > >  > >     -> size     = 0x10000000
>>  > >  > >  > >     DRAM bank   = 0x00000001
>>  > >  > >  > >     -> start    = 0x50000000
>>  > >  > >  > >     -> size     = 0x10000000
>>  > >  > >  > >     DRAM bank   = 0x00000002
>>  > >  > >  > >     -> start    = 0x60000000
>>  > >  > >  > >     -> size     = 0x10000000
>>  > >  > >  > >     DRAM bank   = 0x00000003
>>  > >  > >  > >     -> start    = 0x70000000
>>  > >  > >  > >     -> size     = 0x10000000
>>  > >  > >  > >     DRAM bank   = 0x00000004
>>  > >  > >  > >     -> start    = 0x80000000
>>  > >  > >  > >     -> size     = 0x10000000
>>  > >  > >  > >     DRAM bank   = 0x00000005
>>  > >  > >  > >     -> start    = 0x90000000
>>  > >  > >  > >     -> size     = 0x10000000
>>  > >  > >  > >     DRAM bank   = 0x00000006
>>  > >  > >  > >     -> start    = 0xa0000000
>>  > >  > >  > >     -> size     = 0x10000000
>>  > >  > >  > >     DRAM bank   = 0x00000007
>>  > >  > >  > >     -> start    = 0xb0000000
>>  > >  > >  > >     -> size     = 0x0ff00000
>>  > >  > >  > >     memstart    = 0x40000000
>>  > >  > >  > >     memsize     = 0x7ff00000
>>  > >  > >  > >     flashstart  = 0x00000000
>>  > >  > >  > >     flashsize   = 0x00000000
>>  > >  > >  > >     flashoffset = 0x00000000
>>  > >  > >  > >     baudrate    = 115200 bps
>>  > >  > >  > >     relocaddr   = 0xbfe83000
>>  > >  > >  > >     reloc off   = 0x7c083000
>>  > >  > >  > >     Build       = 32-bit
>>  > >  > >  > >     current eth = unknown
>>  > >  > >  > >     ethaddr     = (not set)
>>  > >  > >  > >     IP addr     = <NULL>
>>  > >  > >  > >     fdt_blob    = 0xbae7bf00
>>  > >  > >  > >     new_fdt     = 0xbae7bf00
>>  > >  > >  > >     fdt_size    = 0x00002fa0
>>  > >  > >  > >     lmb_dump_all:
>>  > >  > >  > >         memory.cnt             = 0x1
>>  > >  > >  > >         memory.size            = 0x0
>>  > >  > >  > >         memory.reg[0x0].base   = 0x40000000
>>  > >  > >  > >                        .size   = 0x7ff00000
>>  > >  > >  > >
>>  > >  > >  > >         reserved.cnt           = 0x1
>>  > >  > >  > >         reserved.size          = 0x0
>>  > >  > >  > >         reserved.reg[0x0].base = 0xbae7acd0
>>  > >  > >  > >                          .size = 0x5085330
>>  > >  > >  > >     arch_number = 0x000010c1
>>  > >  > >  > >     TLB addr    = 0xbfef0000
>>  > >  > >  > >     irq_sp      = 0xbae7bef0
>>  > >  > >  > >     sp start    = 0xbae7bee0
>>  > >  > >  > >     Board Type  = 0
>>  > >  > >  > >     Early malloc usage: f0 / 400
>>  > >  > >  > >
>>  > >  > >  > >  I'm not sure if this is relevant, but with the 
>> failing
>>  > > commit
>>  > >  > > I can
>>  > >  > >  > > get the
>>  > >  > >  > >  kernel to start with `initrd_high` set to 
>> `0x70000000` or
>>  > >  > > lower,
>>  > >  > >  > > but not
>>  > >  > >  > >  higher.
>>  > >  > >  >
>>  > >  > >  > OK, so 8 whole banks, of 256MB each. Does this platform 
>> have
>>  > > 2GB
>>  > >  > > of
>>  > >  > >  > memory for real?
>>  > >  > >  >
>>  > >  > >  > --
>>  > >  > >  > Tom
>>  > >  > >
>>  > >  > >  Yes, it does. See 
>> https://www.hardkernel.com/shop/odroid-u3/ .
>>  > >  >
>>  > >  > Thanks. I guess my current thought is that in the absence of
>>  > > adding
>>  > >  > earlycon to the kernel args, to perhaps get more info out of 
>> the
>>  > > kernel
>>  > >  > as to when / where it's dying, that bootm_size should be set 
>> to
>>  > >  > 0x10000000 (256MB) to replicate the old behavior, on this
>>  > > platform.
>>  > >  > Jaehoon, do you have any other ideas?
>>  > >  >
>>  > >  > --
>>  > >  > Tom
>>  > >
>>  > >  I was not aware of the existence of `earlycon`. Running the 
>> first
>>  > > failing
>>  > >  commit 4963f63f with `earlycon` and with `initrd_high` *unset*
>>  > > reveals a
>>  > >  kernel panic:
>>  > >
>>  > >     Kernel image @ 0x41000000 [ 0x000000 - 0x4be200 ]
>>  > >     ## Flattened Device Tree blob at 40800000
>>  > >        Booting using the fdt blob at 0x40800000
>>  > >        Loading Ramdisk to b9947000, end bae7aa21 ... OK
>>  > >        Loading Device Tree to b9936000, end b99460bf ... OK
>>  > >
>>  > >     Starting kernel ...
>>  > >
>>  > >     [    0.000000] Booting Linux on physical CPU 0xa00
>>  > >     [    0.000000] Linux version 5.10.0-20-armmp
>>  > >  (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 
>> 10.2.1
>>  > > 20210110,
>>  > >  GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 
>> 5.10.158-2
>>  > >  (2022-12-13)
>>  > >     [    0.000000] CPU: ARMv7 Processor [413fc090] revision 0
>>  > > (ARMv7),
>>  > >  cr=10c5387d
>>  > >     [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT
>>  > > aliasing
>>  > >  instruction cache
>>  > >     [    0.000000] OF: fdt: Machine model: Hardkernel ODROID-U3
>>  > > board based
>>  > >  on Exynos4412
>>  > >     [    0.000000] earlycon: exynos4210 at MMIO 0x13810000 
>> (options
>>  > > '')
>>  > >     [    0.000000] printk: bootconsole [exynos4210] enabled
>>  > >     [    0.000000] Memory policy: Data cache writealloc
>>  > >     [    0.000000] efi: UEFI not found.
>>  > >     [    0.000000] Reserved memory: created DMA memory pool at
>>  > > 0xbf700000,
>>  > >  size 8 MiB
>>  > >     [    0.000000] OF: reserved mem: initialized node
>>  > > region_mfc_right,
>>  > >  compatible id shared-dma-pool
>>  > >     [    0.000000] Reserved memory: created DMA memory pool at
>>  > > 0xbd300000,
>>  > >  size 36 MiB
>>  > >     [    0.000000] OF: reserved mem: initialized node
>>  > > region_mfc_left,
>>  > >  compatible id shared-dma-pool
>>  > >     [    0.000000] cma: Reserved 16 MiB at 0xbc000000
>>  > >     [    0.000000] Samsung CPU ID: 0xe4412220
>>  > >     [    0.000000] Zone ranges:
>>  > >     [    0.000000]   DMA      [mem
>>  > > 0x0000000040000000-0x000000006fffffff]
>>  > >     [    0.000000]   Normal   empty
>>  > >     [    0.000000]   HighMem  [mem
>>  > > 0x0000000070000000-0x00000000bd2fffff]
>>  >
>>  > So here we go. Initrd cannot be in highmem. I cannot find this
>>  > documented, quickly, under 
>> https://www.kernel.org/doc/html/latest/ so I
>>  > guess this is more just background knowledge than formal 
>> knowledge. This
>>  > also matches up with your noting that initrd_high=0x70000000 
>> works.
>>  >
>>  > --
>>  > Tom
>> 
>>  I found this [1]. Section 5 mentions placing the initrd in lowmem, 
>> if I
>>  understand everything correctly.
> 
> Ah, right, there it is, I just skimmed too quickly.
> 
>>  Setting `bootm_size` to ` 0x10000000` works for me. I can write a 
>> patch that
>>  adds `bootm_size=0x100000000` to `CFG_EXTRA_ENV_SETTINGS` in
>>  `include/configs/odroid.h` if you want, but I don't understand the 
>> fix, high
>>  mem and low mem well enough to write a decent commit message. I can
>>  certainly test (a backport of, see bug reports [2], [3]) a patch.
>> 
>>  Thanks for identifying the problem and proposing a fix!
> 
> So, bootm_size is the variable which tells U-Boot that when relocating
> initrd/fdt around, it must be within memory start + bootm_size, as a 
> way
> of enforcing the low-memory requirement (or similar constraints, 
> aarch64
> says first 1GB of memory). So technically, could set that to 
> 0x30000000
> instead of 0x10000000 which is just what the implicit limit was before
> the change in question.  A patch as you suggest would be right, so 
> yes,
> please do and thanks again for testing / digging on the platform 
> itself!
> 
> --
> Tom

Ok, I'll try to make a patch then! I found `CFG_SYS_BOOTMAPSZ` in the 
README. Is that one prefered over adding `bootm_size` to the default 
environment? For boards based on Exynos5 the latter is used (see 
`include/configs/exynos5-common.h`).




  reply	other threads:[~2023-01-12 22:32 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-10  8:13 kernel doesn't start on Odroid U2 unless setting initrd_high Joost van Zwieten
2023-01-10 18:41 ` Tom Rini
2023-01-10 23:01   ` Joost van Zwieten
2023-01-10 23:08     ` Tom Rini
2023-01-10 23:10       ` Joost van Zwieten
2023-01-10 23:29         ` Tom Rini
2023-01-11 20:28           ` Joost van Zwieten
2023-01-11 20:38             ` Tom Rini
2023-01-11 21:08               ` Joost van Zwieten
2023-01-12  0:10                 ` Tom Rini
2023-01-12 22:32                   ` Joost van Zwieten [this message]
2023-01-13 15:01                     ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=IA9EOR.K325RQSJTZB91@diskos.nl \
    --to=joost@diskos.nl \
    --cc=jh80.chung@samsung.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox