IRC logs for #openrisc Wednesday, 2015-12-09

--- Log opened Wed Dec 09 00:00:54 2015
olofk_franck__: Can I close issue 94 in orpsoc-cores?08:00
_franck__yeah sure, I should have done it08:01
_franck__olofk: about small bootloader, do you know ROMCC from the coreboot project ?08:05
_franck__"The coreboot project uses a ROMCC which is a C compiler which does not use stack"08:05
olofk_franck__: Oh.. that's super interesting. It's just what I was looking for08:06
olofkI assume someone has already written a OpenRISC backend for it :)08:07
_franck__however I don't know how much effort a port would be08:07
_franck__humm I don't think so :)08:07
GeneralStupidolofk: hey, you merged my request, but i didnt change your comments already08:10
olofkGeneralStupid: Oh... guess I was a little too triggerhappy :)08:10
olofkCan you send a new pull request with those changes?08:12
GeneralStupidolofk: yes, of course :)08:13
GeneralStupidhmmm, i think iam overthinking it but... how can i use my forked repository to do this, is there a way to "rebase" it with your repository?08:14
stekernGeneralStupid: just do 'git pull -r olofs_repo master'08:15
stekern(if it's in the master branch)08:16
GeneralStupidso git has both origins configured?08:16
stekernwell, depends if you have configured it so ;)08:17
GeneralStupidlooks like it works, but i have unstaged changes ;)08:17
stekernyou can see the remotes by 'git remote -v'08:17
stekernbut you can use the url directly without adding a remote (which I assume you did now)08:18
GeneralStupidno, just my origins...ok :) strange08:18
olofkShould probably revisit the idea of setting up CI for orpsoc-cores. Things are often breaking when I do changes08:18
stekernI was playing with travis for my i2s core08:19
GeneralStupidI think branches are a good way08:19
GeneralStupidbranching for every change...08:19
stekernhttps://github.com/skristiansson/i2s/blob/master/.travis.yml08:19
stekernhttps://travis-ci.org/skristiansson/i2s08:24
GeneralStupidolofk: http://bit.ly/1ITUHGK ; so it's possible to add an "depends" section in [icarus] for example?08:28
olofkGeneralStupid: Yes. Check out https://github.com/openrisc/orpsoc-cores/blob/master/systems/de0_nano/de0_nano.core#L48 for example08:43
olofkstekern: Ah cool. wallento helped me set up some travis or jenkins stuff a while ago too08:44
wallentoyes08:44
wallentowe have a jenkins instance running08:45
olofkBut is it really necessary to install icarus and fusesoc every single time08:45
olofk?08:45
wallentobut if travis can do the same thats nice :)08:45
olofkOf course it's good to test FuseSoC as well, but it seems like a bit of a waste to do that prior to every test08:45
olofkOne day I will also add some tests to FuseSoC (that day is not today)08:46
olofkstekern: You should change the dep to wb_bfm-1.0 btw :)08:46
stekernolofk: yeah, the virtual machine you run in get reset after each run08:50
olofkstekern: And you can't specify a custom VM?08:52
stekernI guess you can if you pay money08:53
olofkIt's not the end of the world, but I suspect it adds a bit to global warming08:58
olofkHow does -l work for linking libs? Can I specify an absolute path to a lib with -l/path/to/lib?09:06
stekernyou can specify paths with -L09:06
olofkaha. Just saw that09:06
GeneralStupidolofk: nice, i didnt know that09:09
olofkGeneralStupid: The current implementation has the drawback that you have to specify the same dependencies for both all simulator sections. But that will have to be ok for now. I'm working on a more advanced solution09:12
olofkThe simulator sections will be replaced by testbench sections in the future09:14
olofkSo for each testbench you can specify compatible simulators, dependencies and so on. At that point I will also make it possible to define some defaults that will apply to all testbenches09:15
GeneralStupidahh nice idea09:16
GeneralStupidolofk: your changes are now in my pull request...09:32
GeneralStupidolofk: should i try the request and you may have do discard it?09:32
olofkGeneralStupid: I picked the patch from your tree and pushed with a slightly changed commit message11:37
olofkstekern: Realized that your i2s core isn't in orpsoc-cores. Shall I add it?11:59
stekernsure11:59
stekernI think I have a branch where I added it, for the sublime synthesizer12:00
olofkah ok12:01
olofkRemember now that you had a bunch of stuff in a branch.. or two12:01
olofkShould I add i2s_wb_if.v to src_files?12:05
stekernhttps://github.com/skristiansson/orpsoc-cores/blob/sockit-sublime/cores/i2s/i2s.core12:06
stekernmaybe that's old though...12:07
stekernthe wb_if should probably be included12:07
stekernit's only used if you want to be able to configure the prescaler12:08
olofkI guess it's up to the user to instantiate the wb_if or tx/rx stuff directly12:09
stekernyes, that's the idea12:09
olofkI like doing it that way too12:09
stekernsince they can all be used individually12:09
olofkMany of the old cores on opencores are way too tied to the wb interface12:10
stekernalthough, the wb_if isn't of much use without the rx or tx module ;)12:10
olofkI'm playing a bit with your travis script. Is there any way to run it without applying it to your tree?12:10
stekernI don't think so, which is a bit of a pain12:11
stekernwell it doesn't have to be "my" tree, but you can't really try it locally12:12
stekernor without pushing commits to a repo12:12
olofkToo much work right now, but I'm interested in knowing if this will work http://d874c0ad90f4e6cd.paste.se/12:12
olofkIt works if I run it locally here12:13
olofkBut I used other paths for the cores-root12:13
olofkAlso realize that I need to fix fusesoc init so that it doesn't require user interaction12:14
olofkwallento: Is it possible to install some default tools in your jenkins instance?12:17
olofkLike Icarus12:17
olofkAnd perhaps even latest released FuseSoC12:18
olofkActually, it would be good to do regression tests against the latest relase so I don't break the core files12:18
wallentoolofk: yes12:30
wallentocurrently it also checks the build of tools12:30
wallentobut it has a tools volume mounted on all slaves12:30
GeneralStupid olofk iam done? :)12:41
olofkGeneralStupid: You are now a free man12:42
olofkYour debt to society has been paid12:42
GeneralStupidolofk: black jack and hookers!12:58
olofk_franck_: Looks like romcc is x86 only :/20:17
_franck_olofk: it is, however It may be possible to port it to openrisc. It seems like it does all the hard job (itermediate code generation as three-address code) then call transform_to_arch_instruction20:44
_franck_(I don't know much about this, just read thru the code this afternoon)20:44
olofkhmm.. could it perhaps be possible to avoid stack use in gcc by not doing any function calls at all?21:10
_franck_may be, we could use only static inline functions21:14
olofkHmmm... not sure this is possible. I tried to do a trivial program, but it still uses the stack21:17
olofk#include <stdint.h>21:18
olofkuint32_t a = 42;21:18
olofkvoid main(void) { *(volatile uint32_t*)0xdeadbeef = a;21:18
olofk}21:18
olofkcompiled with -nostdlib21:19
olofkFirst instruction is l.sw -4(r1),r221:19
olofkWhat's the point of storing stuff on the stack here? And why does it do a l.jr r9 at the end? There's nothing to jump to21:22
_franck_try with -c21:28
olofkNope. No difference in that regard21:36
_franck_olofk: a is a global variable try to make it constant21:51
_franck_humm global shouldn't be a problem anyway21:52
olofkI tried both global and local22:07
--- Log closed Thu Dec 10 00:00:55 2015

Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!