IRC logs for #openrisc Tuesday, 2014-09-30

--- Log opened Tue Sep 30 00:00:16 2014
poke53282the noticeable Monkey Island tune. A little bit choppy03:11
poke5328222050 8 Bit Mono. But I have to use 8kHz for Monkey Island03:15
poke53282try it:
* stekern is trying03:39
poke53282I get a lot of underruns03:44
stekernme too03:46
poke53282it takes a while before music starts03:46
poke53282But I don't think is has that much to do with the speed of the cpu.03:47
poke53282I think it is just bad timing.03:47
poke53282in scummvm and in my emulator.03:48
poke53282the dummy alsa sound driver had never such problems. And they use the cpu timer.03:48
poke53282I have also included half a second delay.03:49
poke53282Otherwise the sound is even worse.03:49
poke53282Your son03:51
poke53282your sound is better03:52
stekernyup, the younger one. got him away from minecraft for a second, to play a real game ;)03:53
poke53282yeah, to find something better than minecraft is hard.03:54
poke53282speaker-test also doesn't work here.03:55
poke53282only for one second and then write error.03:56
poke53282you should teach you son programming.04:00
poke53282the fun way with a C64 or so.04:00
poke53282Great, the mod-player works almost perfect.04:01
stekernI thought him the basics of logic operations the other day, and, or, xor and not04:12
poke53282maybe something for your older child04:14
poke53282In fact it's parallel programming.04:16
poke53282With race conditions and so on.04:16
poke53282I had a lot of fun with it. And you learn a lot.04:18
stekernpoke53282: cool, will take closer look at that04:44
stekernwould like to find more of these kind of cool educational games, that's still suitable for 6-9 year olds04:45
stekernthey have a couple of games from school already, but they are a bit to focused on the education04:46
stekern...which is of course good since they are used in the education04:48
stekernwhat I'm trying to say is that I want to find games that are fun, and have an educational side-effect04:48
poke53282Portal 2 :)04:55
poke53282the incredible machine04:57
stekernportal 2 looks fun04:58
stekern..and it's available for linux04:58
stekernthat's a prerequisite04:58
stekernandroid's ok too05:00
poke53282spacechecm is available for all platforms, portal 2 for windows and Linux over Steam.05:01
poke53282The incredible Machines is very old (DOS), but there are dozens of copies for all platforms05:01
poke53282but they are all not really suitable between 6-905:01
poke53282in my opinion05:02
olofkYeah, the incredibe machine is an old favorite05:36
olofkBut I've seen similar games being sold with the Humble Indie Bundle, so they still make those kind of games05:37
olofkstekern: This is what caused my mood swings
olofkThe mood peaks were at the 'make it work', and 'make it fast' phases06:02
olofkI assume it's already quite small06:03
stekernhmm, wouldn't that make more sense to integrate into the fifo?06:06
stekernit's annoying that it doesn't seem to be a reliable way to isntantiate dual-port rams with different data sizes on the ports06:08
olofkDidn't think of that. It would work, but would also require to always have a small FIFO when you want to change data width06:09
stekernwell, your downsizer is basically a mini-fifo, no?06:10
olofkYou don't happen to have an upsizer ready, btw?06:12
stekernthere's nothing really wrong with your approach though, I'm mostly thinking that a FIFO with different sized read and write ports would be useful06:13
stekernregardless of the streamer application06:13
olofkFor now I'm thinking of doing a stream_fifo where I can integrate the resizers06:14
olofkBut that won't work directly for a traditional FIFO06:15
olofk Great stuff!06:59
olofkWell, except for that it seems to require a special terminal, but still07:00
stekernand you probably can't use the jtag interface for debugging at the same time07:01
_franck__what would be great is to connect to Altera's JTAG server. So we can signal tap, use openocd and JTAG uart at the same time.07:06
_franck__however, the protocol is not open07:06
olofkAh right. You can use the debug protocol, but probably not at the same time :(07:08
olofk_franck__: Yeah, that would be nice. Even better would be if Altera stoped using proprietary fucking interfaces so that we could just use OpenOCD directly07:09
stekernyou still want some kind of jtag server though07:10
olofkIsn't OpenOCD just that?07:17
stekernyou could probably make it into one, but afaik, it's more of a jtag bridge07:24
_franck__stekern is right, it's more like a JTAG bridge07:33
olofkTime to use wb_stream_writer in my project!07:58
olofkah no.. I need another piece first :(07:58
olofkDamn I'm good!08:48
stekernnot awesome?08:49
olofkWant to run a few more tests first08:49
stekernthat might explain why I missed an awesome on/off toggle yesterday, if you have intermediate states08:57
stekernI can't handle that08:57
olofkSorry. I forgot to provide an extra bit of information09:08
olofkCrap. I need one more piece before I can use the stream write09:10
stekernno, I already got that, must be something wrong with your output module09:11
stekernwhat's missing?09:12
stekernsomething to pull data out of the streamer?09:12
olofkAn async FIFO, but I should just be able to steal yours, right?09:21
stekernah, yes09:32
olofkSure you won't miss it if I take it?09:52
stekernnah, I can make a new one10:25
olofkHmm... retrofitting fwft support for an async fifo won't be as easy as I had hoped10:50
olofkYes, it will!10:50
wallentoany of the gcc pros looking for a debug challenge? ;)14:05
wallentoThis file is not only entirely ugly, but also shows internal compiler errors with or1k-linux-uclibc-g++ when using -O1 or -O2, -O0 and -O3 are fine14:06
wallentoplus: it also builds with all the -fxxx that -O1 has..14:07
wallentohere is the file (self-contained 20000 lines from the FIASCO.OC port, g++ -E):
wallentoI am entirely lost unfortunately14:08
wallentoThis is the error:
wallentocommand line: or1k-linux-uclibc-g++ -nostdinc -O1 -c -o foo.o -std=c++0x14:10
poke53282wallento: I can reproduce the error and I have no clue.16:36
poke53282But this is not the only error we encounter with gcc.16:37
imphilpoke53282, wallento already went home, I'm right now looking at it. looks really weired, right now I'm guessing something with parameter passing16:46
poke53282I run the gcc testsuite last week. And almost every error looks weird :)16:49
imphilvery true16:53
olofkstekern: I'm about to refactor a few things in wb_stream_writer. Shit might break19:04
stekernok, I have a working local copy I can fall back on in worst case, so go ahead and break shit19:10
olofkGreat! I have now checked with all users19:10
stekernpoke53282: I just pushed a set of patches to my smp branch, if you're up for taking it for a spin19:10
stekernblueCmd: I'll fulfill your wish from 4 months ago (
blueCmdstekern: \o/19:24
blueCmdthat's supercool!19:24
poke53282blueCmd: Do you use any special options for your glibc port to compile it? I want to try to run the full gcc testsuite with glibc.19:33
stekernpoke53282: there's nothing really huge, basically just fixing up the per-cpu cpuinfo and some other bits I had laying around that shouldn't do anything on UP.19:33
poke53282I know. But the cpuinfo looks so much better now.19:34
blueCmdpoke53282: and
stekernI picked up your fix to the SPR defines and the PM patch too19:34
poke53282Actually I have never tried the patch with or1ksim.19:35
stekernme neither ;)19:35
stekernI've only tested on real hw19:35
stekernbut it should be a no-op since I don't have the PM stuff implemented19:36
poke53282The specification is not pretty clear about the real behavior about the bits. For example, I assume, that the bit is automatically unset by hardware when an interrupt occurs.19:36
poke53282which makes kind of sense.19:37
poke53282Yes, this is the point. It doesn't harm. And it runs really good in jor1k.19:37
stekernI want to take a closer look at that at some point19:38
poke53282Well, it's easy, what the patch does.19:38
poke53282of course it will look much more complicated if you want to change the frequency and so on.19:38
poke53282But according to spec it should work like this. If there isn't anything implicitly assumed in the spec, which could well be.19:39
stekernyes, I think it's pretty clear, a timer or external interrupt exception clears the doze but19:41
stekernwhich is kinda nice, that means you can flush the pipeline and then stall19:43
poke53282I have also thought about an extra variable which tells you if pm is available or not. But an l.mfspr could be much faster than any memory access at that point.19:44
stekernyeah, I don't think it makes sense to keep that info around19:45
poke53282even if an pm is available but doze it not implemented the patch is harmless. The kernel will just go on as if there would be no doze function. So I think the patch is perfectly fine.19:46
stekernme too19:46
poke53282thanks blueCmd.19:50
poke53282It was in front of my nose19:50
blueCmdpoke53282: again, I cannot tell you enough how relieved I am that people are helping me with the testsuite and doing bughunts19:56
imphilyeah, testcase for the ICE down from 23000 to 50 lines. things are making progress :)20:08
poke53282such a bug hunt or more exciting than watching Navy CIS in TV, blueCmd.20:08
poke53282stekern: "tc_base = ioremap_nocache(0x99000000, 4);" That looks like a hack :)20:09
poke53282Ok, you write, that this is a hack.20:11
poke53282blueCmd: I would suggest, that you add the -p option to all mkdir commands in the makefile20:26
blueCmdpoke53282: yeah, that Makefile is the definition of organically grown20:45
poke53282compiled binutils, boot-gcc and linux-headers21:07
poke53282../sysdeps/unix/sysv/linux/or1k/sysdep.h:172:17: error: invalid register name for '__a'21:08
poke53282   register long __a __asm__ ("r3") = (long)(a);21:08
poke53282blueCmd: glibc doesn't compile21:08
poke53282probably a git checkout is missing?21:08
poke53282or a path variable?21:11
poke53282yes, path was missing21:12
stekernpoke53282: yes, it's the hack of the century... but it works until I get around to do it properly21:28
olofkstekern: I pushed all the new stuff now.21:30
olofkTo make you extra super happy, you will now need the stream_utils core as well :)21:30
stekernyou really are trigger happy on the new repo button ;)21:32
stekernI'll take it for a spin tomorrow, now it's time to sleep21:32
poke53282stekern: I claim to use the hack of the century. My filesystem is responsible to supply the correct date to the emulated system.21:36
poke53282blueCmd: you should add the new path as first entry, and not as the last one.21:39
blueCmdpoke53282: why?21:40
blueCmdpoke53282: I always feel worried doing that, I don't want to override any system binaries21:40
blueCmdor maybe I do21:40
poke53282because otherwise, there could be other toolchains or programs which could interfere.21:40
blueCmdyeah, as long as it's in a script I agree21:41
blueCmdas opposed to in .zshrc21:42
poke53282Yeah, in this case you might be right.21:43
poke53282what's you gcc stage 2 by the way?21:43
poke53282You have boot-gcc? Is this stage 1?21:43
poke53282and "gcc" is stage 221:43
poke53282Ok, then I am almost done.21:44
blueCmdI'm superexcited to see the testsuite results21:44
poke53282Ok, but at the moment I use fully your toolchain. But in the end I want to use mine with gcc 4.9.1 and a newer binutils version and a newer Linux version.21:45
poke53282Hopefully you will receive them when you weak up :)21:45
poke53282Not sure21:45
poke53282blueCmd: "FATAL: kernel too old"22:03
poke53282I hate it so much22:03
poke53282Ok, warning removed. Let's see22:09
poke53282I don't think this error message is there for a reason. Just to upset me.22:10
-!- imphil is now known as imphil|away22:13
--- Log closed Wed Oct 01 00:00:17 2014

Generated by 2.15.2 by Marius Gedminas - find it at!