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