* [PATCH] board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only
@ 2022-09-09 20:16 Pierre-Clément Tosi
2022-09-29 20:07 ` Tom Rini
0 siblings, 1 reply; 6+ messages in thread
From: Pierre-Clément Tosi @ 2022-09-09 20:16 UTC (permalink / raw)
To: u-boot; +Cc: Pierre-Clément Tosi, Simon Glass
When the embedded device tree is pointed to by the __dtb_dt_*begin
symbols, it seems to be covered by the early relocation code and doesn't
need to be manually patched.
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
---
common/board_r.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/common/board_r.c b/common/board_r.c
index 56eb60fa27..00926dcb1e 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -150,13 +150,13 @@ static int initr_reloc_global_data(void)
*/
gd->env_addr += gd->reloc_off;
#endif
-#ifdef CONFIG_OF_EMBED
/*
* The fdt_blob needs to be moved to new relocation address
* incase of FDT blob is embedded with in image
*/
- gd->fdt_blob += gd->reloc_off;
-#endif
+ if (CONFIG_IS_ENABLED(OF_EMBED) && CONFIG_IS_ENABLED(NEEDS_MANUAL_RELOC))
+ gd->fdt_blob += gd->reloc_off;
+
#ifdef CONFIG_EFI_LOADER
/*
* On the ARM architecture gd is mapped to a fixed register (r9 or x18).
--
2.37.2.789.g6183377224-goog
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only
2022-09-09 20:16 [PATCH] board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only Pierre-Clément Tosi
@ 2022-09-29 20:07 ` Tom Rini
2023-03-15 19:24 ` Ajay Kaher
0 siblings, 1 reply; 6+ messages in thread
From: Tom Rini @ 2022-09-29 20:07 UTC (permalink / raw)
To: Pierre-Clément Tosi; +Cc: u-boot, Simon Glass
[-- Attachment #1: Type: text/plain, Size: 400 bytes --]
On Fri, Sep 09, 2022 at 09:16:18PM +0100, Pierre-Clément Tosi wrote:
> When the embedded device tree is pointed to by the __dtb_dt_*begin
> symbols, it seems to be covered by the early relocation code and doesn't
> need to be manually patched.
>
> Cc: Simon Glass <sjg@chromium.org>
> Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
Applied to u-boot/master, thanks!
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only
2022-09-29 20:07 ` Tom Rini
@ 2023-03-15 19:24 ` Ajay Kaher
2023-03-15 19:42 ` Simon Glass
2023-03-16 19:25 ` Tom Rini
0 siblings, 2 replies; 6+ messages in thread
From: Ajay Kaher @ 2023-03-15 19:24 UTC (permalink / raw)
To: trini, mbrugger, ptosi
Cc: sjg, u-boot, amakhalov, vbrahmajosyula, vsirnapalli, tkundu,
akaher, er.ajay.kaher
> On Fri, Sep 09, 2022 at 09:16:18PM +0100, Pierre-Clément Tosi wrote:
>
>> When the embedded device tree is pointed to by the __dtb_dt_*begin
>> symbols, it seems to be covered by the early relocation code and doesn't
>> need to be manually patched.
>>
>> Cc: Simon Glass <sjg@chromium.org>
>> Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
>
> Applied to u-boot/master, thanks!
Getting following error on Rpi3 board and fail to boot with u-boot upstream
commit 76f921eb95d5b814f973a263187db509d6f03903:
ERROR: invalid device tree
EFI LOAD FAILED: continuing...
As per bdinfo:
fdt_blob = 0x00000000000f4b00
Would like to understand the reasoning of this upstream commit
76f921eb95d5b814f973a263187db509d6f03903 and looking for proper fix for Rpi3.
-Ajay
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only
2023-03-15 19:24 ` Ajay Kaher
@ 2023-03-15 19:42 ` Simon Glass
2023-03-16 5:51 ` Ajay Kaher
2023-03-16 19:25 ` Tom Rini
1 sibling, 1 reply; 6+ messages in thread
From: Simon Glass @ 2023-03-15 19:42 UTC (permalink / raw)
To: Ajay Kaher
Cc: trini, mbrugger, ptosi, u-boot, amakhalov, vbrahmajosyula,
vsirnapalli, tkundu, er.ajay.kaher
Hi Ajay,
On Wed, 15 Mar 2023 at 13:24, Ajay Kaher <akaher@vmware.com> wrote:
>
> > On Fri, Sep 09, 2022 at 09:16:18PM +0100, Pierre-Clément Tosi wrote:
> >
> >> When the embedded device tree is pointed to by the __dtb_dt_*begin
> >> symbols, it seems to be covered by the early relocation code and doesn't
> >> need to be manually patched.
> >>
> >> Cc: Simon Glass <sjg@chromium.org>
> >> Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
> >
> > Applied to u-boot/master, thanks!
>
> Getting following error on Rpi3 board and fail to boot with u-boot upstream
> commit 76f921eb95d5b814f973a263187db509d6f03903:
>
> ERROR: invalid device tree
> EFI LOAD FAILED: continuing...
>
> As per bdinfo:
> fdt_blob = 0x00000000000f4b00
>
> Would like to understand the reasoning of this upstream commit
> 76f921eb95d5b814f973a263187db509d6f03903 and looking for proper fix for Rpi3.
>
> -Ajay
Did you bisect to that patch?
The proper fix would be to get away from OF_EMBED which is not allowed
in production boards. Can you post the full console log so I can see
what happens before the error?
The commit does not look correct to me. This is nothing to do with the
horrible NEEDS_MANUAL_RELOC which is only needed on m68k I think now.
It is because we have moved the executable containing the DT. The DT
in the old position may be overwritten by loading something.
Regards,
Simon
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only
2023-03-15 19:42 ` Simon Glass
@ 2023-03-16 5:51 ` Ajay Kaher
0 siblings, 0 replies; 6+ messages in thread
From: Ajay Kaher @ 2023-03-16 5:51 UTC (permalink / raw)
To: Simon Glass
Cc: trini, mbrugger, ptosi, u-boot, Alexey Makhalov,
Vamsi Krishna Brahmajosyula, Vasavi Sirnapalli, Tapas Kundu,
er.ajay.kaher
> On 16-Mar-2023, at 1:12 AM, Simon Glass <sjg@chromium.org> wrote:
>
> !! External Email
>
> Hi Ajay,
>
> On Wed, 15 Mar 2023 at 13:24, Ajay Kaher <akaher@vmware.com> wrote:
>>
>>> On Fri, Sep 09, 2022 at 09:16:18PM +0100, Pierre-Clément Tosi wrote:
>>>
>>>> When the embedded device tree is pointed to by the __dtb_dt_*begin
>>>> symbols, it seems to be covered by the early relocation code and doesn't
>>>> need to be manually patched.
>>>>
>>>> Cc: Simon Glass <sjg@chromium.org>
>>>> Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
>>>
>>> Applied to u-boot/master, thanks!
>>
>> Getting following error on Rpi3 board and fail to boot with u-boot upstream
>> commit 76f921eb95d5b814f973a263187db509d6f03903:
>>
>> ERROR: invalid device tree
>> EFI LOAD FAILED: continuing...
>>
>> As per bdinfo:
>> fdt_blob = 0x00000000000f4b00
>>
>> Would like to understand the reasoning of this upstream commit
>> 76f921eb95d5b814f973a263187db509d6f03903 and looking for proper fix for Rpi3.
>>
>> -Ajay
>
> Did you bisect to that patch?
Yes, between v2022.07 and v2022.10.
>
> The proper fix would be to get away from OF_EMBED which is not allowed
> in production boards. Can you post the full console log so I can see
> what happens before the error?
Here are the logs:
U-Boot 2022.10 (Mar 15 2023 - 07:10:46 +0000)
DRAM: 948 MiB
RPI 3 Model B (0xa02082)
Core: 66 devices, 14 uclasses, devicetree: embed
MMC: mmc@7e202000: 0, mmc@7e300000: 1
Loading Environment from FAT... OK
In: serial
Out: vidconsole
Err: vidconsole
Net: No ethernet found.
starting USB...
Bus usb@7e980000: USB DWC2
scanning bus usb@7e980000 for devices... 4 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
Saving Environment to FAT... OK
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found EFI removable media binary efi/boot/bootaa64.efi
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Card did not respond to voltage select! : -110
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
1146880 bytes read in 50 ms (21.9 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
ERROR: invalid device tree
EFI LOAD FAILED: continuing...
Card did not respond to voltage select! : -110
Device 0: unknown device
Waiting for Ethernet connection... unable to connect.
missing environment variable: pxeuuid
Retrieving file: pxelinux.cfg/01-b8-27-eb-4d-9e-e9
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/00000000
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/0000000
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/000000
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/00000
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/0000
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/000
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/00
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/0
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/default-arm-bcm283x-rpi
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/default-arm-bcm283x
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/default-arm
Waiting for Ethernet connection... unable to connect.
Retrieving file: pxelinux.cfg/default
Waiting for Ethernet connection... unable to connect.
Config file not found
Waiting for Ethernet connection... unable to connect.
Waiting for Ethernet connection... unable to connect.
U-Boot>
> The commit does not look correct to me. This is nothing to do with the
> horrible NEEDS_MANUAL_RELOC which is only needed on m68k I think now.
> It is because we have moved the executable containing the DT. The DT
> in the old position may be overwritten by loading something.
Seems like your observations are correct and may be need to revert
76f921eb95d5b814f973a263187db509d6f03903. And handle m68k
case separately.
Thanks Simon for your response.
- Ajay
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only
2023-03-15 19:24 ` Ajay Kaher
2023-03-15 19:42 ` Simon Glass
@ 2023-03-16 19:25 ` Tom Rini
1 sibling, 0 replies; 6+ messages in thread
From: Tom Rini @ 2023-03-16 19:25 UTC (permalink / raw)
To: Ajay Kaher
Cc: mbrugger, ptosi, sjg, u-boot, amakhalov, vbrahmajosyula,
vsirnapalli, tkundu, er.ajay.kaher
[-- Attachment #1: Type: text/plain, Size: 791 bytes --]
On Thu, Mar 16, 2023 at 12:54:10AM +0530, Ajay Kaher wrote:
> > On Fri, Sep 09, 2022 at 09:16:18PM +0100, Pierre-Clément Tosi wrote:
> >
> >> When the embedded device tree is pointed to by the __dtb_dt_*begin
> >> symbols, it seems to be covered by the early relocation code and doesn't
> >> need to be manually patched.
> >>
> >> Cc: Simon Glass <sjg@chromium.org>
> >> Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
> >
> > Applied to u-boot/master, thanks!
>
> Getting following error on Rpi3 board and fail to boot with u-boot upstream
> commit 76f921eb95d5b814f973a263187db509d6f03903:
Please give
https://patchwork.ozlabs.org/project/uboot/patch/20230228155605.1209559-1-pbrobinson@gmail.com/
a try and see if things act as you expect, thanks.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-03-16 19:25 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-09 20:16 [PATCH] board_r: Relocate OF_EMBED if NEEDS_MANUAL_RELOC only Pierre-Clément Tosi
2022-09-29 20:07 ` Tom Rini
2023-03-15 19:24 ` Ajay Kaher
2023-03-15 19:42 ` Simon Glass
2023-03-16 5:51 ` Ajay Kaher
2023-03-16 19:25 ` Tom Rini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.