<marex>
sjg1: dont forget to implement vfs and pipes, if I can do tftp | gunzip | mmc write, it will be perfect
qschulz has quit [Remote host closed the connection]
qschulz has joined #u-boot
hanetzer has quit [Ping timeout: 252 seconds]
hanetzer has joined #u-boot
hanetzer has joined #u-boot
hanetzer has quit [Changing host]
jwillikers has quit [Remote host closed the connection]
LeSpocky_ has joined #u-boot
sndbg has joined #u-boot
LeSpocky has quit [Ping timeout: 252 seconds]
sndb has quit [Ping timeout: 272 seconds]
mmu_man has quit [Ping timeout: 252 seconds]
cambrian_invader has quit [Ping timeout: 265 seconds]
cambrian_invader has joined #u-boot
cambrian_invader has quit [Ping timeout: 252 seconds]
cambrian_invader has joined #u-boot
sakman has joined #u-boot
sakman has left #u-boot [#u-boot]
sakman has joined #u-boot
mranostaj has quit [Quit: leaving]
mranostaj has joined #u-boot
cambrian_invader has quit [Ping timeout: 252 seconds]
cambrian_invader has joined #u-boot
replayer has quit [Ping timeout: 246 seconds]
monstr has joined #u-boot
cambrian_invader has quit [Ping timeout: 246 seconds]
agust has joined #u-boot
cambrian_invader has joined #u-boot
LeSpocky_ is now known as LeSpocky
fdanis_away is now known as fdanis
sndbg has quit [Remote host closed the connection]
mckoan|away is now known as mckoan
frieder has joined #u-boot
sszy has joined #u-boot
matthias_bgg has joined #u-boot
guillaume_g has joined #u-boot
replayer has joined #u-boot
stefanro has quit [Ping timeout: 240 seconds]
tnovotny has joined #u-boot
stefanro has joined #u-boot
redbrain has joined #u-boot
macromorgan has quit [Read error: Connection reset by peer]
replayer has quit [Ping timeout: 246 seconds]
qschulz has quit [Quit: qschulz]
qschulz has joined #u-boot
mmu_man has joined #u-boot
Sout has quit [Excess Flood]
Sout_ has joined #u-boot
Sout_ has joined #u-boot
Sout_ has quit [Changing host]
ecrn has joined #u-boot
matthias_bgg has quit [Read error: Connection reset by peer]
matthias_bgg has joined #u-boot
<sjg1>
marex: I'm not sure I would even know how to do that. Some sort of producer/consumer API?
<marex>
sjg1: shouldnt hush implement large part of it already ?
<sjg1>
marex: a large part of...?
<marex>
pipes at least
<sjg1>
marex: I haven't looked but I imagine hush relies on unix fork and pipes to do all that work
<marex>
sjg1: and that is a problem ?
<marex>
you can use main loop callbacks to implement those
<sjg1>
marex: Well U-Boot doesn't have those. Perhaps we could ask Wolfgang about turning U-Boot into an OS?
<sjg1>
marex: Yes, I suppose having some sort of producer/consumer API that is widely implemented would do it
<sjg1>
marex: and/or spin up 3 CPUs and have them run concurrently
<marex>
main loop callbacks/hooks would be useful, I did sent a prototype many months ago, it was ignored
<sjg1>
marex: link?
<marex>
sjg1: its in patchwork somewhere, callback: was the tag I think
<sjg1>
marex: OK I found it. With the pipe example, it would always happen in the background?
<marex>
sjg1: pipe should be just buffer passing
<marex>
command foo fills buffer, passes it to command bar
<sjg1>
marex: Sounds like an interesting project
matthias_bgg has quit [Ping timeout: 252 seconds]
<marex>
sjg1: have fun, I'm currently busy
<sjg1>
marex: Yes, I'm sitting on my hands over here :-)
<marex>
sjg1: I dont think that's very good for your blood circulation
<sjg1>
marex: keeps my hands warm though
<marex>
then please keep at it
matthias_bgg has joined #u-boot
jwillikers has joined #u-boot
replayer has joined #u-boot
<sjg1>
marex: yes Dr Marek
<sjg1>
Tartarus: Just wondering about that old common.h series...any thoughts on where to take it next?
urja has quit [Read error: Connection reset by peer]
urja has joined #u-boot
akaWolf has quit [Ping timeout: 246 seconds]
<ecrn>
it looks like the memory performance issue is not caused by CCM/clock configuration either - I dumped the CCM registers, and there are differences only in some unrelated ones
<ecrn>
the DRAM configuration I rewrote to use mx6_dram_cfg, but the result is still the same
akaWolf has joined #u-boot
torez has joined #u-boot
matthias_bgg has quit [Quit: Leaving]
Sout_ is now known as Sout
lukma has quit [Ping timeout: 252 seconds]
replayer has quit [Ping timeout: 246 seconds]
lukma has joined #u-boot
<Tartarus>
sjg1: Other than to pick another header file out of common.h, add it back sparingly (rather than just where common.h was used before) and make sure that now that we have link-time checking for gd size changes, we don't trip that again, no.
mmu_man_ has joined #u-boot
<ecrn>
from v7_arch_cp15_set_l2aux_ctrl: asm volatile ("mcr p15, 1, %0, c15, c0, 0\n\t" : : "r"(l2actlr)); <- is this valid? the ARMv7 architecture reference manual says that ACTLR write is mcr p15, 0, <Rt>, c1, c0, 1
vagrantc has joined #u-boot
mmu_man has quit [Ping timeout: 252 seconds]
_whitelogger has joined #u-boot
<sjg1>
Tartarus: Should I have another crack at it? It would be great to get it finished. The script I use adds the header only if a symbol from the header is used. Of course if the header is included transitively already, the script will still add it, i.e. it doesn't work off build errors, just the code in the file
<Tartarus>
sjg1: maybe just one at a time, then.
<sjg1>
Tartarus: OK
<Tartarus>
sjg1: Maybe add a pass to remove the header from other headers, then have the script re-add to headers which directly require it still?
<sjg1>
Tartarus: Removing the header from other headers is hard to do programmatically. The other header may actually need it. Is it really such a big problem to 'include what you use?' It is standard practice in some projects
<Tartarus>
sjg1: er, since you have a tool that already sees if the code needs a given header, let it pass over the header files too?
<Tartarus>
And before you do that, find include | xargs sed -i '/#include <foo.h>/d'
<sjg1>
Tartarus: for the first point, you are asking about removing headers from other headers. That is not the point of my series, which is to remove headers from common.h. So that would be a separate job. I did some of it, but it is a large undertaking, particularly without an 'include what you use' policy, since it uncovers loads of new files that break
<sjg1>
Tartarus: E.g. I hit net.h which includes nearly everything!
<Tartarus>
sjg1: Right, perhaps I misunderstood, don't you have a tool for seeing if a given file needs a given header?
<sjg1>
Tartarus: yes, it works by seeing if the C file makes use of any of the symbols in the header
<Tartarus>
right, ok
<Tartarus>
So, popping open common.h right now
<Tartarus>
Touching config.h is iffy due to Kconfig migration, next up is errno.h
<Tartarus>
11 header files use <errno.h>, that seems reasonable to audit if they need it directly or not
<Tartarus>
Drop it from <common.h>, add <errno.h> directly as needed in code, see what shows up as an issue
<sjg1>
Tartarus: that's OK so long as I can add errno.h to any C file that uses symbols in errno.h ?
<Tartarus>
Yes
<sjg1>
Tartarus: The concern came up from Heinrich I think, who claimed that the series was adding the header to files that didn't need it
<sjg1>
Tartarus: I never saw evidence of that though
<Tartarus>
sjg1: Yeah, I think I saw some when auditing around gd_t stuff, but that's tricky
<sjg1>
Tartarus: When I compare the patch you applied it has 1361 files changes, which is actually more than the patch I originally sent.
<Tartarus>
I went audit'ing and found more cases where we needed it directly and a few we didn't
<sjg1>
Tartarus: I'm not claiming it doesn't happen, but the cost of zero is infinite, right?
<Tartarus>
We should clean up more, yes
<Tartarus>
But I don't want a big series because it's harder to review and spot check
<Tartarus>
Like errno.h, OK, I bet almost all of the direct includers need <linux/errno.h> instead
<Tartarus>
since errno.h is <linux/errno.h> and then almost nothing else
<Tartarus>
But it's widely included
<Tartarus>
So the correct thing would be to grab <linux/errno.h> directly most of the time and <errno.h> in a few places.
<Tartarus>
Taking extra care on host tools of course
<sjg1>
Tartarus: OK. But just to check, you are OK with a C file including a header if it uses a symbol from that header (even if it actually isn't needed because of a transitive include in another header which also needs it)?
<Tartarus>
sjg1: yes, I am.
<sjg1>
Tartarus: OK
tnovotny has quit [Quit: Leaving]
<Tartarus>
Perhaps another part of the lack of clarity here is that I'd like to see a given header removed from C if not needed
<Tartarus>
So start out with find . -type f | xargs sed -i '/#include <foo.h>/d'
<Tartarus>
Then add
<Tartarus>
Roughly anyhow :)
redbrain has quit [Ping timeout: 268 seconds]
guillaume_g has quit [Quit: Konversation terminated!]
<sjg1>
Tartarus: OK
Daulity has quit [Ping timeout: 268 seconds]
Daulity has joined #u-boot
jwillikers has quit [Read error: Connection reset by peer]
jwillikers has joined #u-boot
jwillikers has quit [Remote host closed the connection]
sszy has quit [Ping timeout: 246 seconds]
jwillikers has joined #u-boot
jwillikers has quit [Remote host closed the connection]
jwillikers has joined #u-boot
fdanis is now known as fdanis_away
macromorgan has joined #u-boot
redbrain has joined #u-boot
replayer has joined #u-boot
<replayer>
do uimage or fit add any code (similar to setup.bin for the linux kernel) to the kernel or is it just metadata? i.e. decompression is handled by uboot and not my some loader stub added to the image
mmu_man_ has quit [Ping timeout: 252 seconds]
<ecrn>
AFAIK no stubs are added
<Tartarus>
But also, to be clear, on arm, "zImage" is what's inside of uimage typically and that does decompress.
<Tartarus>
Image on aarch64 for example does not
replayer76 has joined #u-boot
replayer has quit [Ping timeout: 246 seconds]
monstr has quit [Remote host closed the connection]
akaWolf has quit [Ping timeout: 252 seconds]
akaWolf has joined #u-boot
redbrain has quit [Ping timeout: 258 seconds]
redbrain has joined #u-boot
frieder has quit [Remote host closed the connection]
redbrain has quit [Quit: leaving]
mmu_man has joined #u-boot
ecrn has quit [Ping timeout: 246 seconds]
PoroCYon has joined #u-boot
<PoroCYon>
hi, I'm trying to make a Zynq BOOT.BIN image using mkimage (so that I don't have to deal with xilinx tools as much as I can avoid it), however, I don't seem to be able to add more than one file to the image? (I'd need to add an fsbl/spl, bitstream, and u-boot as "fsbl application", so that's 3 files). If I use a colon as separator (as done in the --help output), it simply thinks it's
<PoroCYon>
one single file path and cannot find it. using multiple -d arguments results in only using the last one... any idea if this is possible?
<PoroCYon>
looks like -T zynqmpbif can parse xilinx bootgen .bif files, but the generated BOOT.BIN files don't seem to work on non-MP (i.e. non-UltraScale) Zynq devices (or at least not the ones I have here)
<PoroCYon>
ok looking at the source code, -T zynqimage just doesn't seem to do multiple files
<PoroCYon>
that's, not very useful
agust has quit [Quit: Leaving.]
torez has quit [Quit: torez]
<vagrantc>
not sure why, but this broke booting on the sifive_unmatched: first bad commit: [149108a3eb594b03561073aa6fd512cacab57c62] efi_loader: clear OsIndications