Tartarus changed the topic of #u-boot to: SOURCE MOVED TO https://source.denx.de/u-boot/u-boot.git / U-Boot v2021.04, v2021.07-rc4 are OUT / Merge Window is CLOSED and next is OPEN / Release v2021.07 is scheduled for 05 July 2021 / http://www.denx.de/wiki/U-Boot / Channel archives at https://libera.irclog.whitequark.org/u-boot
qschulz has quit [Remote host closed the connection]
qschulz has joined #u-boot
akaWolf has quit [Ping timeout: 250 seconds]
akaWolf has joined #u-boot
mmu_man has quit [Ping timeout: 244 seconds]
LeSpocky has joined #u-boot
LeSpocky_ has quit [Ping timeout: 244 seconds]
sakman has quit [Quit: Leaving]
alpernebbi has joined #u-boot
Daulity has quit [*.net *.split]
Daulity has joined #u-boot
marex_ has joined #u-boot
Patater has quit [*.net *.split]
marex has quit [*.net *.split]
sicelo has quit [*.net *.split]
sicelo has joined #u-boot
sicelo has joined #u-boot
Patater has joined #u-boot
mmu_man has joined #u-boot
redbrain has joined #u-boot
redbrain has quit [Ping timeout: 252 seconds]
mmu_man has quit [Ping timeout: 272 seconds]
marex_ is now known as marex
GNUtoo has quit [Ping timeout: 252 seconds]
alan_o has quit [Ping timeout: 250 seconds]
mmu_man has joined #u-boot
akaWolf has quit [Ping timeout: 265 seconds]
akaWolf has joined #u-boot
redbrain has joined #u-boot
alpernebbi has quit [Quit: alpernebbi]
redbrain has quit [Ping timeout: 258 seconds]
<xypron> Tartarus: why do you want to disable CONFIG_EFI_LOADER globally on ARMv7 while FreeBSD and OpenBSD need it for booting?
<marex> xypron: bloat ?
<xypron> Marex: booting OpenBSD is bloat? Are you kidding?
<marex> xypron: EFI is bloat, you can boot openbsd on arm32 with bootefi as far as I can tell, no ?
<xypron> Marex: current OpenBSD is delivered with a loader using UEFI.
<marex> xypron: on what ?
georgem has joined #u-boot
<sjg1> xypron: I think we should disable it all by default. The situation with n900 is quite scary
<marex> sjg1: we should also find a way to trim down the overhead of DM, it is way overdue
<sjg1> The tiny-dm thing turned into a dead end I think. Did you try of-platdata-inst?
<marex> sjg1: it should be possible to use DT while keeping the DM overhead small I'd say
<sjg1> Do you have any ideas? I have dug into it quite extensively and proposed some paths forward
<marex> maybe turn DT into C code (or some sort of IL) and link it with U-Boot, and then let optimizer do its magic on the result
<marex> with LTO that might in fact help a bit, although that might be quite some undertaking
<sjg1> Have you looked at of-platdata?
<marex> sjg1: does that work with DT now ?
<sjg1> yes, it always did. It turned it into C structures
<sjg1> *turns
<marex> sjg1: and does the compiler actually optimize it at all ?
<sjg1> are you thinking of what Zephyr does with #defines for each CONFIG ?
<marex> I didn't look at what they do, I only hear it from someone
<marex> *heard
<marex> sjg1: but that's not what I asked -- is the compiler doing any optimization of the result, where your DT is turned into structures ?
<marex> btw is this to->struct automatic ?
<sjg1> marex: I don't understand your question about the compiler. Can you be more specific? Optimisations are not turned off, but I'm not sure what you are expecting. It is just C structs being accessed at runtime, removing the need for libfdt and devicetree blob
<sjg1> marex: yes dtoc converts DT to C structs
<sjg1> marex: I can do a little talk on it at the next contributor meeting if you like
<marex> sjg1: well I suppose you could somehow take the values out of the structures and inline them into the code
<marex> which might permit optimizing things further, since the structures are constant
<sjg1> marex: That's only possible in particular situations, such as when there is only one struct for each driver (i.e. a single device using the driver)
<sjg1> Zephyr handles this with for loops in the C preprocessor, so that the data is instantiated multiple times.
<marex> sjg1: in other words, majority of cases :)
<sjg1> However the result is the same, data in C structures
<marex> sjg1: not necessarily
<sjg1> I'd be interested to see if this actually produces a benefit
<marex> if you can inline constants, the compiler might be able to optimize out a whole lot of things
<sjg1> Bear in mind that even with of-platdata, it copies the data to the normal private structs used by the driver
<sjg1> We don't try to create an entirely separate code path
<sjg1> I think what you are asking for could be done by duplicating more of the driver code for of-platadata
<sjg1> a bit like what was done with tiny-dm
aquijoule_ has quit [Remote host closed the connection]
<Tartarus> If we wanna borrow something from zephyr, we should drop kbuild and just turn .config in to something for make/cmake.
<Tartarus> but that's blocked on 100% Kconfig migration.
<Tartarus> xypron: As I put below the ---, I was wondering if I missed something. Debian doesn't use it, armbian never uses it (not on aarch64, even), I didn't see a Fedora armv7 but I guess I missed it, and OE got very unhappy even trying to build grub-efi.
<Tartarus> Turns out that yes, I missed something.
richbridger has joined #u-boot
mmu_man has quit [Ping timeout: 268 seconds]
richbridger has quit [Remote host closed the connection]
richbridger has joined #u-boot
<sjg1> Tartarus: what is the advantage of that? It would be good to get rid of the boards with unmigrated Kconfig options
<sjg1> I am not a fan of cmake from my experience in Zephyr, but perhaps it is just ninja that is awful