IRC logs for #openrisc Monday, 2014-12-15

--- Log opened Mon Dec 15 00:00:12 2014
stekernolofk: yes, but I think we have to discuss how we want to deploy those03:54
stekernlocally, I have all my multicore systems (sockit, de0 nano, mor1kx-generic) as separate systems, but I'm not sure if that makes sense in the long rung03:55
stekernideally, it should just be configureable with a NUM_CPU parameter (that could default to 1)03:56
stekernthe multicore systems are here btw:
stekernotoh, if we can make the systems even more lightweight, I'd actually prefer to have them separately04:04
-!- radii_ is now known as radii05:21
olofkstekern: Yes, I agree. Not sure how to do it at this point07:55
olofkOne option could be to start with a new multicore mor1kx-generic to show off the capabilities07:56
olofkSo many things I want to do. Where is time when you need it?07:57
olofkUnrelated to that, I discovered yesterday when I was about to add a new version of wb_intercon that wb_mux doesn't pass the regression tests. Very strange. It's not like there's a huge amount of code in that one07:58
stekernwhen did it pass the tests last?08:03
olofkWhen I wrote it I guess. Have to check the last modified date :)08:14
olofkI suspect the new BFM is the issue08:14
stekernah, ok08:29
olofkFound it. Not really a bug in the mux. Just that the BFM can generate burst that cross over the memory space of two slaves08:43
olofkI would really love to have automated regression tests running somewhere that can be triggered on new releases of a core or any of its dependencies08:46
wallentoolofk: I may help you out there08:47
wallentoI configured a jenkins08:48
wallentothe fast nodes are all ubuntu 14.04 amd6408:48
wallentobut there are VMs for ubuntu 12.04 amd64, ubuntu 12.04 i386 and ubuntu 14.04 i38608:48
wallentoI do the newlib synthesis and publication with it08:48
wallentoIf the rules are rather simple, I can set it up quite fast08:49
wallentoI can also grant you access via openvpn08:49
olofkwallento: That sounds great. I should take you up on that offer09:17
olofkProblem right now is that I'm too busy working to improve my methods :)09:17
olofkHow do you deploy it? I think I saw stekern do that a while ago. IIRC there was a script to download, set up and launch fusesoc. Is that how it's done?09:19
olofkOr can fusesoc be permanently installed in the VM? That would make it slightly easier to just concentrate on running the necessary regression tests09:20
wallentoit can be both09:20
wallentothe advantage of checking it out newly all time is that you can be sure everybody can build it09:20
wallentojenkins just runs command or scripts and evaluates their return value09:21
wallentoI think for most stuff this method is sufficient09:21
olofkTrue, but in this case, I'm more interested in the cores themselves, than checking fusesoc09:21
wallentoyes, then we should go this way09:21
wallentoI will prepare an example, hopefully today09:21
olofkThanks wallento. You are my favorite german person since Blümchen09:23
olofkI'm working on a suite of bootloaders. I got  a LED blinker and one that clears r3 and jumps to 0x100, but now I want one that just jumps to itself. Which instruction should I use to get relative addresses11:42
olofkl.j is absolute, right?11:43
* olofk still feels like a complete newbie after ~four years on the project11:44
wallentoisn't it l.j 0?11:53
olofkso.... opcode 00000000 then?11:54
wallentoand put the l.nop after11:55
wallentojust to be sure11:55
olofkahh.. true11:55
wallentoalthough I think a jump in the delay slot is ignored11:55
olofkShould be a test for that11:55
* olofk realizes there should be a test for a million other things as well11:56
* olofk just rediscovered the joy of /me11:56
wallentoolofk: sunny day!12:02
wallentoyou can put this on your myspace page:
wallentoit is build whenever something changes to orpsoc-cores12:03
wallentowhich is maybe not sufficient?12:03
olofk1. wallento 2. Blümchen 3. Rock'n'Rolf12:03
olofkMy new list12:03
olofkThat's excellent, and definitely enough.12:05
olofkIt will probably trigger a lot of false positives as unrelated things are changed, but we could live with that until performance becomes an issue12:05
wallentoperformance is no issue at all12:06
wallentothere are three machines which handle this12:06
wallentoserious machines12:06
wallento24 cores, 96 gig ram12:06
wallentothey can handle your test ;)12:06
wallentoI will send you more details how to set up own jobs as pm12:07
olofkI'm quite interested now in doing tests on my new DDR2 controller this way, as running it here takes about an hour12:07
olofkwallento: I see that the newlib patches are starting to get commited13:19
wallentoyes, the first set was applied on Friday, but those are the non-spectacular..13:19
wallentono delay etc.13:20
wallentoby the way: I removed that it builds both multicore and normal13:20
olofkYes, but it's great to see that you're getting a fast response13:20
wallentoinstead one needs to define __OR1K_MULTICORE__ during compilation13:20
wallentoyes, lets hope we get it finished before new years13:20
wallentobut I am hopeful13:21
wallentothe new define qualifies it as multilib of course, is that the way to go?13:21
wallentoI am aware of multilib explosion13:21
wallentomaybe we create a multilib target that captures all recent features, i.e., arch 1.113:21
wallentoor 1.2 if we consider adding the coreid and numcores registers13:22
stekernjump in delay-slot isn't defined, and to make things interesting, or1200 and mor1kx behave differently15:56
wallentomaybe we should add this to be invalid in the next arch revision?16:03
wallentoor is there any reason for that to make sense?16:03
_franck__is anyone has a small exemple of a systemc testbench driving a verilated systemc device ?16:11
wallentoolofk: is there a fusesoc switch to build a simulation without running?16:12
wallentoupdate on continuous integration ( building de0_nano, next: test it on the board16:13
stekernwallento: my take on that is that undefined can sometimes be a good thing, it gives implementation freedom, and I can't see a huge benefit of defining it in either way16:19
wallentommh, from my point of view I would always expect the same output of a binary independent of the implementation. And the implementation has all the freedom, it is just that both the compiler and the programmer should not put a jump in a delay slot16:20
stekernmmm, that's the point, you shouldn't have binaries with jumps in the delay slot. thus, output is the same.16:22
rhythmxIs anyone else using qemu and having issues where breakpoints and single stepping won't work?18:56
olofkwallento: --build-only19:26
olofk_franck_: Isn't there a UART in orpsocv2? Or perhaps even in one of the fusesoc systems?19:27
stekernolofk: you're speaking about this, right?
olofkstekern: Yep19:32
olofkTo sum things up, l.j 0; l.nop will give me a relocatable boot loop?19:38
olofkI think I have found a decent way of doing boot loaders that can be used for all systems now btw19:57
olofkI have created a or1k_bootloaders core already, together with some asm files and a Makefile to convert them to verilog memory files. All I need to do now is add them to include_files, and let other systems depend on this core19:58
olofkCreating new boot loaders is still a manual step, but I think that's ok. Just want to provide some basic options anyway19:59
olofkTime to recompile libreoffice due to an update of one of its dependencies. At least gentoo helps keeping my house warm20:01
olofkI want to implement support for turning on and off VCD generation, as was done in orpsocv2, but I can't agree with myself on the syntax20:08
olofk--vcd_on=<time> --vcd_off=<time>20:08
olofk--vcd-range=<start time>-<stop time>20:09
stekernmmm, don't we have that already?20:14
stekernin the verilator simulations?20:14
stekernor is that something I've hacked in locally?20:14
olofkI think you're right. That probably got ported from orpsocv220:22
olofkJust added a new fancy feature to vlog_tb_utils. A heartbeat timer, so you can see how far into the simulation you are20:23
olofk--heartbeat=<time> to set the interval20:23
olofkThis clearly shows me I got time for a cigarette20:24
olofkApparently I would have had time for at least three more cigarettes20:30
-!- Netsplit *.net <-> *.split quits: echo_oddly, jonmasters, felixr, rah, Amadiro, ysionneau, heroux, fotis2, trem, wallento, (+33 more, use /NETSPLIT to show all of them)20:31
-!- Netsplit over, joins: jeremybennett, O01eg, aburgess, mithro, enghong, aou, LoneTech, freakazoid0223, rokka, _franck_ (+33 more)20:31
olofkTime to start Book of Unwritten Tales instead. Excellent game. Might be something for christmas, stekern20:34
stekernin between working on the multiway mmu, I'm currently playing mi2 se20:40
stekern...I'll probably be done with that before christmas though ;)20:41
olofkIs that a remake of mi2?20:44
olofkIn that case you should be done before christmas. I think I played through it in ~2.5h last time :)20:45
poke53282Or is it so much shorter than the original mi2?20:46
olofkI mean the original mi220:47
stekernit's exactly as original mi2 but with revamped graphics and added talkies20:48
stekernit was a long time since I played mi2, I've forgot almost all of it20:49
stekern...the benefit of gold fish memory, you can enjoy the games over and over again ;)20:49
stekernright now I can't remember where to find the binoculars20:50
olofkYeah, it was over ten years since I last played it20:51
olofkBut I think I know where to find the binoculars :)20:51
poke53282Too much Grog I guess.20:51
olofk...or do I? Not sure actually20:51
poke53282I can't remember.20:52
stekernah, found it21:03
_franck_olofk: stekern : thanks. However, I was more looking at a command line to compile/link this stuff. I don't want to parse the orpsoc v2 Makefile to find how it works21:05
olofk_franck_: FuseSoC supports verilator with systemC21:09
olofkIt's a bit messy, but might be easier to look at than the orpsocv2 makefile. Look for build_SysC in section.py21:11
_franck_olofk: you're right. I'll try that21:12
olofkYes. Simulation done. I should probably replace that Altera PLL model some home-made clocks. It's insanely slow21:17
olofkThat made some difference21:56
--- Log closed Tue Dec 16 00:00:13 2014

Generated by 2.15.2 by Marius Gedminas - find it at!