IRC logs for #openrisc Tuesday, 2014-10-07

--- Log opened Tue Oct 07 00:00:26 2014
stekernolofk: all I've done is to whine that it doesn't work03:23
olofkstekern: Well, you could see if it works now. I pushed the commit yesterday07:05
stekernok, will do07:08
olofkstekern: ok, so I hacked in preliminary support for marking cores as non-cachable07:44
olofkJust set 'cachable = false' on the provider section, and the core will be refetched every time. It only works for the github provider for now07:45
olofkThis is also probably a good time to switch back to cloning the git tree rather than getting a tar.gz archive from github07:45
stekernthough, I was falsely accusing the cache mechanism, it was me that hadn't pulled the fifo changes07:47
olofkWell, it's mostly the cache mechanism's fault, so I don't blame you :)07:48
olofk_franck_: It would be nice if you could put on a version tag on jtag_vpi.08:09
olofkstekern: Same goes for you with wb_sdram_ctrl08:10
olofkAnd I'm throwing out mor1kx-dev-env from orpsoc-cores now08:11
olofkstekern: Oh, and diila too08:14
olofkOr I will kill you08:23
olofkhmm... perhaps I should work more on my motivational techniques08:24
stekernwhat about diila? you are throwing it out or you need a version tag?08:39
stekern...and hey, I'm married to a finnish woman. I'm used to that kind of verbal motivation.08:44
olofkA version tag would be great08:46
stekernhmm, but I don't have a version08:57
stekernto put a version tag on08:58
stekernwhat's wrong with the hash?08:59
stekern...and with submodule support, the request is moot anyway ;)08:59
olofkSure, I can use the hash instead. No problems. I just think that tags are pretty :)09:02
olofkand I haven't had time to deal with the submodules stuff09:02
olofkahh.. the fusesoc support is already in place. That's good09:03
stekernso, what's missing then?09:07
olofkNot sure. I'm looking at the pull requests from blueCmd now09:08
olofkHow do you change which commit a submodule should point to?09:09
olofkFor example, for mor1kx, I want one submodule that stays at version 2.2, and one that always tracks the head of master09:19
stekernyou just commit the new hash09:20
stekerni.e. checkout the commit you want, and then commit the submodule/ change to the superproject09:21
olofkSo IIRC, either, I will have to push a new version of orpsoc-cores everytime any of the submodules change, or I will let FuseSoC update the submodule locally for all clones.09:23
olofkFor the second case, will there be any conflicts when the super project is updated?09:23
olofkExcept...not IIRC, I mean If I have understood correctly09:24
olofkFuck it. I can't keep up with all these fancy acronyms09:25
stekern1) yes, but that's not any different from having the hash in the .core file09:27
stekern2) not if you don't do git submodule update09:28
stekernhmm, I just discovered git subtree09:31
-!- heroux___ is now known as heroux09:44
-!- heroux is now known as 7JTAA4WJ509:44
-!- heroux_ is now known as 16WAAR95O09:44
-!- 7JTAA4WJ5 is now known as heroux09:45
olofksubtree looks nice from a first look. The drawbacks seems to be related to merging, which isn't an issue10:20
stekernwhy is cygwin downloading the whole internet when I asked it to install make?10:25
olofkPerhaps it does a make all?10:41
-!- Netsplit *.net <-> *.split quits: aburgess10:54
olofkDo we always set up caches before entering main when we build with newlib?11:13
olofkIf that is the case, can we change that to let the user explicitly call or1k_cache_init instead, or will that break stuff?11:15
stekernwhy don't you want caches to be enabled?11:27
olofkIt just takes a lot of time for my small bare-metal test cases11:30
olofkAnd I suppose that we could get smaller binaries as well if we don't use them11:31
olofkI think MicroBlaze does it that way11:31
stekernrun your tests without caches then11:33
stekernI doubt that ~10-20 lines of assembly will make a lot of difference sizewise11:33
stekernthere's one (rather huge) disadvantage with disabling the caches late, you'll have to clear .bss with caches disabled11:37
stekernenabling the caches late11:38
stekernpoke53282: I get this when I try to run ncurses programs: Error opening terminal: vt102.12:40
stekernanything you've seen?12:40
olofkI suck at these things. Could someone generate a nice sin table for me?13:34
olofk2-complement is a bit like VHDL. It's so stupid so that I have to relearn it every time I need it13:49
HeshamDoes anyone know how to send a shutdown signal to QEMU (like l.nop 0x1/0xC for or1ksim)?14:13
stekernolofk: here's a perl script that generates a vhdl sin-rom:;a=blob;f=scripts/sinromgen.pl14:26
stekernbut you should really just keep around 1/4 of it and generate the rest from that14:27
stekernbah, why isn't mikmod working?15:43
stekernlet's see if I have better luck with xmp15:49
poke53282stekern: Try export TERM=linux16:07
poke53282run as root.16:08
poke53282ncurses reads the TERM variable and then chooses the appropriate protocol for the terminal. If this variable is not set it chooses a standard one which is maybe vt102.16:09
poke53282But the vt102 supports a bidirectional channel not only of keyboard input but also of such stuff like current status and width and height of the terminal.16:10
poke53282So, maybe ncurses doesn't get this messages.16:10
poke53282but there are other possibilities.16:11
poke53282Just try to run the program in an xterminal.16:12
poke53282but maybe it is just a  "chmod -R a+rw /dev" :)16:13
poke53282Hesham: According to the Linux source code, l.nop 1 is send when you restart, halt or power off the machine.16:16
poke53282But I am not sure if this special option is included in QEMU.16:17
poke53282Hesham. No, the l.nop 1 instruction is not supported by qemu.16:40
poke53282stekern: mikmod works16:50
poke53282I compiled already two weeks ago. Sound is disabled.16:51
poke53282Do you want to have my package or the compile scripts :)16:52
poke53282Indeed alsa output might not work16:53
poke53282You have to compile oss pcm support for alsa and use the oss option in mikmod16:53
stekernpoke53282: (term) yes, I tried TERM=linux (and xterm and some others), but it still didn't work17:02
stekernstatic libncurses works though17:03
stekernand mikmod "worked" here, but there is no sound output17:03
poke53282yes, alsa doesn't work.17:03
poke53282but oss17:03
stekerndo you know why?17:03
poke53282just compile the kernel with oss-pcm support. That's in the alsa options on the first page somewhere. .17:04
stekernit does open the "soundcard" (I still have some debug prints in the init functions)17:04
poke53282After it worked flawless with oss I didn't check.17:04
poke53282But I guess it is a bug in the alsa part of mikmod.17:04
poke53282wait, let's see if it works with the dummy audio driver.17:05
poke53282yes, it looks like it works with the alsa dummy driver.17:06
stekernxmp needs oss too, so I need to compile in the oss emulation support if I want to try that too17:06
poke53282So I guess, that our drivers have too much limitations somewhere. mikmod tries to get a buffer or something which our sound drivers don't allow.17:07
poke53282So actually, it is a bug in mikmod.17:07
poke53282oss emulation support is not a big deal in the kernel config.17:08
poke53282it is a bug in mikmod, that it does not give an error message about what function fails.17:09
stekernyeah, I know. I don't know why I hadn't already enabled it17:10
stekernpoke53282: I'v merged v3.17 into my smp branch btw17:11
poke53282Last week I implemented the shadow gprs as first step to support smp.17:11
poke53282Also I updated my memory heap layout to support smp.17:11
poke53282Yes, I need a heap and have to organize my memory myself in Javascript. Sounds strange, but is true.17:12
poke53282More in my talk. :)17:12
poke53282But I get an error when I try to compile with smp.17:13
poke53282he cannot find a variable.17:13
poke53282I think from the pic.17:13
poke53282one option is not automatically selected in the Kconfig file.17:14
poke53282When you enable smp you should also your pic.17:14
poke53282But I forgot, if that was the real problem.17:14
poke53282next is will be the support of your pic.17:18
stekernyes, you need ompic (or something) similar. but it shouldn't be selected automatically, because you theoretically could use any interrupt controller with the right properties17:22
poke53282My browser crashed when I tried to open the commit of 3.17 :). I think he wanted to show me all changes :)17:24
stekerncurrently you need a free running 32-bit timer that can be read at address 0x99000000 too, but I'm trying to find time to fix that17:24
poke53282Well, at the moment I would try to overlap the timers of all cpus. That's easy.17:25
poke53282that ttmr and ttcr overlap.17:25
poke53282So if I start one, all timers are started and are always synchronized.17:26
poke53282Ok, here is one question to the git expert. I want to have my patches always on top of a branch. So I update my repository with a remote branch or something similar, I want that he tries to apply my patches after the merge.17:29
poke53282And it doesn't matter if I break the rules of git.17:29
poke53282At the moment, your patches are hidden somewhere on the second and third page.17:30
poke53282This is really bad. Especially when you want to send those patches to a mailing list, there could be conflicts.17:30
poke53282I guess this is rebasing.17:33
poke53282But why don't you use the feature?17:34
stekernyes, if you do 'git pull -r' you get that behaviour17:35
stekernif you should do that or not depends on the situation17:38
stekernif people use your branch, you simple shouldn't17:38
poke53282There are at most three people using your branch I guess.17:39
stekernyeah, and I have not promised that you can depend on me not rebasing it neither, so that's not the main reason I haven't17:40
stekernmy rule of thumb for my personal branches is roughly, if I have a handful of pretty self-contained patches, then I rebase, otherwise I merge.17:43
stekernif you want to pull out the diffing patches, it's not that hard to do that seperately17:44
poke53282Yes, but it is nice for me to see just the important patches on the first page on top. I am pretty sure there are options for everything. For you it is Ok, because you know exactly what you did.17:50
poke53282for really official repositories it would be wrong.17:52
stekernyeah, I know. if it's mostly the web interface you want to see things in, you can log the arch/openrisc dir17:52
stekernor search for me as a committer17:52
poke53282"Do not rebase commits that you have pushed to a public repository. If you follow that guideline, you’ll be fine. If you don’t, people will hate you, and you’ll be scorned by friends and family."17:53
poke53282I like those comments :)17:53
stekernhaha, yes17:53
stekernunrelated question, what happens when the penguins doesn't fit on the first row?17:56
stekernI guess that happens when NR_CPUS > 817:56
stekernfor 640x48017:56
poke53282second row?17:56
poke53282and if you hve that much, that it doesn't fit on the screen, you will get a buffer overlow and crash the kernel. At least, this is what I suspect. So if you have a multi core system make sure, your framebuffer is big enough ;)17:58
poke53282I don't like the limit of 32 cores by the way.17:59
poke53282one bit for each CPU?17:59
stekernif you mean the limit in the config option, that's just copy-paste from others. But I guess there might be such a limit as you say as well18:01
stekernmikmod didn't work well with oss neither18:03
poke53282Yes, the limit in the config option I mean.18:04
stekernxmp works though18:04
poke53282work well?18:04
poke53282No sound output?18:04
stekernit complains about the mixing rates18:04
poke53282Ok, mhh. Maybe. But there are configurations options to alter these in mikmod.18:04
stekernyes, but I don't understand what it tries to do. I have it set to 44100 and it tries to set it to 11025 or something18:05
stekern95000100.wb_i2s-ssm2602-hifi: ASoC: unmatched rate symmetry: 11025 - 4410018:05
stekernthat's what alsa says18:05
poke53282Don't know. I have used 22050 8 bit mono.18:06
poke53282and this is exactly what my sound driver supports.18:06
poke53282sorry, 16 Bit.18:07
poke53282But I use only the top 8 Bit for output.18:07
poke53282I might change my driver to continuously rate setting.18:09
poke53282and make the interpolation myself.18:09
poke53282this is what the dummy driver does.18:09
poke53282or better, the interpolation is done by the AudioContext object of Javascript18:11
stekernwith samplerate != 44100 mikmod works18:14
stekernah, no. it's 16-bit that it doesn't like... which is even more strange18:23
mor1kx[mor1kx] bandvig pushed 1 new commit to withfpu:
mor1kxmor1kx/withfpu 0aa649d Andrey Bacherov: 1) Replace FPU related code in ALU by FPU top level wrapper.  2) Fix various compilation warnings.18:23
poke53282Looks like, he shows only one line of logos.18:24
stekernhmm, seems like I can't get xmp to not interpolate18:28
poke53282Hmm, let me guess. With floating point numbers. doubles maybe.18:28
stekernit has: -i --interpolation {nearest|linear|spline}18:30
poke53282spline :)18:30
stekernthat's the default18:31
poke53282I am not sure if this is good for sound. You should use an interpolation that works in Fourier space I guess.18:31
poke53282There are people arguing, that linear inpolation is not good for sound because it adds additional frequencies somewhere.18:33
poke53282But for mod files I can understand, that interpolation is always on.18:35
poke53282He has to mix anyhow.18:36
poke53282the sound files are played with different speeds.18:36
stekernI found the only mod I've done that I'm not ashamed to claim as mine:
poke53282I wouldn't run it in the background. But it's Ok.18:38
poke53282Did you ever try the sid collection for a few hours?18:39
stekernpoke53282: yes ;)18:44
poke53282At least those are some songs which play on my player and are not that bad.18:49
poke53282At least, these are songs I like.18:51
stekernI like the piano roll feature your player has ;=18:55
poke53282Yes, me too. Hynotic. Sometime I can just watch the music for half an hour.18:57
poke53282I should fix the player that it plays more songs.18:57
poke53282More this is difficult.18:57
poke53282I don't want to simulate an cycle accurate C64 here.18:58
stekernhow do you do it then?18:58
poke53282well, I get close but not perfect.18:59
poke53282Some of them need basic for example, which I don't provide.18:59
poke53282You know, that simulating a C64 is really hard?18:59
poke53282It is different to the OpenRISC emulator.19:00
poke53282but around 80% of the SIDs play. That's good enough for now.19:01
poke53282with one day of work I would get probably another 10%.19:01
poke53282For the next 5% another day and so on.19:02
stekerndoesn't giana sisters work, or is it just me?19:06
poke53282unfortunetaly not. I know this is sad.19:06
poke53282I know also that this is a must have.19:06
stekerntinysid could play that19:06
poke53282I am ashamed of me :(19:06
poke53282randomlist.push({url: "MUSICIANS/W/Walt/Giana_Mix.sid", song: 1});19:07
poke53282randomlist.push({url: "MUSICIANS/R/Roebuck_Kristopher/Great_Giana_Sisters.sid", song: 1});19:07
poke53282those work19:07
poke53282Hmm, maybe I should spend a few hours and compare with tinysid.19:08
poke53282If you have a favorite list of songs I can add them.19:12
stekernthat one ;)19:34
poke53282 MUSICIANS/L/Laxity/DNA_Warrior.sid?19:36
poke53282grep -r "Egeskov" && grep -r "Petersen" && grep -r "Christensen"19:40
poke53282Ahh, it is in the top 100.19:40
stekernwhere it belongs ;)19:41
poke53282Added the first song19:44
olofkstekern: You said that wb_mux was a bit resource hungry. Have you tried to increase the address ranges for all the slaves? That might help a bit20:55
stekernolofk: I haven't, but you're probably right20:59
stekernit might help with the critical paths too21:00
stekernbut I still want to do the registering. and I have thought a bit more about that, and I think that we should incorporate CDC into that as well21:00
olofkI know that the Xilinx GUI for building MicroBlaze SoCs sets a minimum size to 64K or something like that21:01
olofkYeah, sure. We need both of those21:01
olofkWishbone isn't very well suited for CDC unfortunately21:02
olofkUnless the delayed ack function is used. But that seems to be something that I just made up21:02
stekernbut for peripheral access it doesn't really matter21:02
stekernif it's not burst accesses I mean21:03
olofkAnd for mem access we probably have a CDC inside of the mem controller anyway and run the user logic on wb_clk21:03
stekernyes, that's exactly my thought21:03
olofkI've started making a simple wb_sdram_ctrl wrapper generator btw21:03
stekernthe wb bus to mem should "always" run at CPU speed21:04
olofkTime to sleep now21:05
stekernmost of this evening went to listening to old mods instead of being productive though ;)21:05
--- Log closed Wed Oct 08 00:00:28 2014

Generated by 2.15.2 by Marius Gedminas - find it at!