qschulz has quit [Remote host closed the connection]
qschulz has joined #u-boot
apritzel has quit [Ping timeout: 246 seconds]
mmu_man has quit [Ping timeout: 272 seconds]
sobkas has quit [Quit: sobkas]
<crb>
Each zynq board should probably have it's own ps7_init_gpl.c do the board in xilinx_zynq_virt_defconfig all share a common ps7_init_gpl.c?
thopiekar has quit [Ping timeout: 258 seconds]
thopiekar has joined #u-boot
stefanro has quit [Ping timeout: 244 seconds]
stefanro has joined #u-boot
<marex>
crb: yes, that file comes from vivado, it's a generated file
<crb>
yes it comes from vivado but all the boards in the xilinx_zynq_virt_defconfig share a common version don't they or am I mistaken?
camus has quit [Quit: camus]
camus has joined #u-boot
persmule has quit [Ping timeout: 240 seconds]
persmule has joined #u-boot
persmule has quit [Ping timeout: 240 seconds]
persmule has joined #u-boot
Gravis has quit [Ping timeout: 244 seconds]
persmule has quit [Ping timeout: 240 seconds]
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #u-boot
matthias_bgg has quit [Ping timeout: 258 seconds]
matthias_bgg has joined #u-boot
apritzel has joined #u-boot
apritzel has quit [Ping timeout: 258 seconds]
___nick___ has joined #u-boot
mmu_man has joined #u-boot
sobkas has joined #u-boot
apritzel has joined #u-boot
apritzel has quit [Ping timeout: 240 seconds]
mmu_man has quit [Ping timeout: 260 seconds]
Gravis has joined #u-boot
<xypron>
Tartarus: $filesize is set when loading a binary. If you use the load or loady command to load an EFI binary function efi_set_bootdev() is called which remembers the size and file path of the last UEFI binary. You only need to specify the filesize for the bootefi command if you load the EFI binary via JTAG or some other trickery.
<Tartarus>
xypron: Right, but I'm asking if there's something in the EFI header that would also tell us how large the file is instead, so we don't have to rely on $filesize being set
<Tartarus>
I don't know if it came in via qfw which could I imagine also set filesize, or something else
stefanct has joined #u-boot
mmu_man has joined #u-boot
aat596 has joined #u-boot
darkapex has quit [Ping timeout: 246 seconds]
mmu_man has quit [Ping timeout: 258 seconds]
mmu_man has joined #u-boot
apritzel has joined #u-boot
mmu_man has quit [Ping timeout: 240 seconds]
<xypron>
Tartarus: you can parse the section header. But this does not tell you if an initd or other content has been appended.
<Tartarus>
Reasonable fall-back option you think?
<Tartarus>
Or just do a better error message in general when no $filesize set nor passed?
<xypron>
Tartarus: isn't injecting sn EFI binary without load a border case?
<Tartarus>
Depends on how many people start trying to boot with QEMU
<Tartarus>
Which could get pretty big
<xypron>
Tartarus: In what strange way is QEMU invoked that does not load GRUB from the ESP?
sobkas has quit [Quit: sobkas]
persmule has quit [Ping timeout: 240 seconds]
persmule has joined #u-boot
nayr has joined #u-boot
<xypron>
dormito: enabling CONFIG_DEBUG_UART could give you earlier feedback.
<Tartarus>
xypron: When not booting grub and passing in -kernel, etc and using qfw to load them, I guess?
<xypron>
Tartarus: -kernel is meant to be used for booting via Linux's legacy entry point not for UEFI booting?
<Tartarus>
No? It's meant for passing in a kernel to boot
<Tartarus>
And since "everyone" wants to use the kernel EFI stub..
<xypron>
Tartarus: this is not what QEMU documents.
<xypron>
On RISC-V -bios OpenSBI -kernel U-Boot
<Tartarus>
Yes, imho "kernel" is just a legacy name
<Tartarus>
Since we're not "the kernel"
<xypron>
If you want to load a kernel from the file system use semi-hosting.#
<Tartarus>
Anyhow, I would think a better error message at minimum when trying to boot an EFI payload without $filesize set is a reasonable sanity check
<xypron>
We already check the headers in that case.
<Tartarus>
But -kernel has been documented as how to pass "the kernel" for 15 years, more or less
<bq>
Just sanity checking my research so far: if I use TFA before U-Boot, generally this replaces the SPL right? With regards to performing DRAM init and such
Rahix has joined #u-boot
macromorgan has joined #u-boot
sobkas has quit [Quit: sobkas]
<apritzel>
bq: I'd say that depends more on the design, not on how you "use
<apritzel>
*"use it"
stefanct has quit [Ping timeout: 276 seconds]
persmule has quit [Ping timeout: 240 seconds]
<apritzel>
some platforms initialise DRAM externally, by some management processor, so before the first code ever runs on the application processor
<apritzel>
bq: some other platforms run the SPL first (to indeed initialise DRAM, for instance), then TF-A, then U-Boot proper
stefanct has joined #u-boot
persmule has joined #u-boot
<bq>
Ah ok. That makes sense
<bq>
I'm looking at for example freescale's LS1 platform, where the defconfig (comparing ls1043ardb_sdcard_defconfig vs ls1043ardb_tfa_defconfig) seems to switch SPL out for TF-A
<bq>
this seems to carry to the LS1046 too, but like you say I guess it's technically possible to do it in any order
<apritzel>
bq: I think Freescale is an exception (for historic reasons), typically you either *need* the SPL, or you don't have it, having an actual choice is rare
<bq>
I haven't dug too deep into the SPL on this platform but AFAIK at minimum it has to initialise DRAM and load big U-Boot
<bq>
So the choice is between SPL and "no SPL but something that inits DRAM and loads something into it" as I understand
<bq>
I guess other platforms require more of the SPL, so you might be forced to do e.g. SPL -> TFA -> Big U-Boot?
<apritzel>
yes, many platforms just use the *runtime* component of TF-A (BL31), so the loading is entirely in U-Boot's (SPL's) hands
<bq>
Oh neat. So they get U-Boot to load BL31?
<apritzel>
yes, that is typically part of a FIT image, containing BL31, some DTs, and U-Boot proper
<apritzel>
not to be confused with using a FIT image to bundle a Linux kernel, initrd, DT
<bq>
Makes sense. I didn't realise SPL can load FITs
<bq>
sane enough container for it though
<apritzel>
CONFIG_SPL_LOAD_FIT
<apritzel>
container> indeed, and we have libfdt parsing code already