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

--- Log opened Tue Sep 02 00:00:34 2014
poke53281stekern: I compiled mesa with hard-float support. glxgears increased from 2fps to 6fps. Nothing unexpected I would say. But good to know that it runs.04:04
poke53281X works too with musl. More stable than last year.04:19
poke53281But I have still problems with weston, dalias. Wanted to ask tomorrow in the forum. sabotage linux does not have a package.04:23
daliasweston has lots of problems :)04:25
poke53281It seems, that almost no version really compiles. But it seems not the fault of musl. Even the realease versions are kind of bad I think.04:28
poke53281And I have to ask the sabotage developer because of xterm. Spend one day to get it working. And still don't know why it works at the moment.04:28
stekernpoke53281: nice, I'll give X a go soon04:51
poke53281I hope that with the new version of jor1k I don't violate any github rules. I use two repositories, one with the binaries and one with the code. And both use gh-pages.04:56
poke53281I search also for nice little games, programs for the emulator. Finally I have all freedoms with the size of the filesystem.04:57
poke53281fortune and cowsay is on my list ;)05:02
stekernI'm interested in finding some nice demos for that take advantages of multiple-cores05:09
poke53281I can code you an mandelbrot fractal caluclator with openmp. Otherwise I have problems finding those tools, which really shows parallelism.05:16
poke53281But implementing the smp feature is also on my list.05:16
stekernyeah, that'd be cool05:21
stekernhave some simulators with smp support05:21
stekernI'd died for that when chasing the spinlock bug :)05:22
stekernI think I have some mandelbrot 'demo' I wrote in the early 90's too ;)05:23
poke53281Actually that is the only one I can think of shows the parallelism. x264 is probably the best parallelized complex software nowadays. But you don't see it.05:33
stekernoh my... looking at that code doesn't make me proud..
poke53281You used even intendations. I didn't used them before 2000.05:35
poke53281But the code is not so bad. Put a lot of spaces in the code and few new lines it doesn't look so bad.05:36
poke53281I dreamed  of implementing the multicore into my emulator. already :)  It's not complicated. One day and it should work.05:38
poke53281But to implement it fast would take a few weeks.05:39
stekernyeah, I think the main problem with or1ksim was that it has a lot of global variables05:39
poke53281unfortunately, Javascript doesn't support shared memory systems. The threads can only communicate via messages.05:40
poke53281To use messages to synchronizes the RAM would be great, but extremely slow. 50MIPS -> 10kIPS05:41
stekernin a way, I don't care so much about performance for mp eumlations05:41
poke53281Yes, I understand. Hope, you allow also 32 or more cores. Would be fun.05:42
stekernat least as long as speed is reasonable ;)05:42
stekernotherwise I can just run stuff in verilator05:42
poke53281or1ksim is supposed to run slow.05:43
stekernI can get ~500KIPS in verilator05:44
poke53281That's more than enough for a few tests05:44
stekernyeah, but when bugs starts to be more subtle, like the spinlock one, it's not feasible to run that anymore05:45
olofkstekern: I like the goto in the while loop05:45
stekern...and also, it of course misses another point why I'd like mp emul/sim, to have another reference when bugs arise05:46
poke53281My emulator will run with 30 MIPS for each core.05:46
poke53281Also on my list: sound. But I still don't know which device I want to emulate. I cannot find an easy device.05:47
stekernolofk: especially my choice of label-name, right?05:47
olofkYou got me :)05:47
poke53281I like the code.  What means "slut" by the way?05:51
poke53281stop, exit?05:51
stekernslut == end05:51
stekernin swedish05:52
stekernI bet everyone knows what it means in english ;)05:52
poke53281Yes, for one second I thought you mean this word. You already used min, max, old, plus div, flag.05:55
stekernpoke53281: I want to look into what kind of support in Linux there are for some generic solution hooked up to an i2s chip05:55
stekernI already have a simple core to feed the i2s chip on my sockit board with data05:56
stekernsomething like that would probably be fairly easy to emulate too05:57
stekernsince it'd basically just be reading/writing data to/from some fifos05:58
poke53281Yes, this is exactly what I am searching.05:58
stekernthis is the core:
stekernall it does is sampling left_chan and right_chan and serialize them05:59
stekernso the glue logic would be a wb interface that pulls new values out of a fifo at the sampling rate06:01
poke53281There is a generic loopback driver which might be useable. Just send all data to a specific device address and it's done.06:01
poke53281Haven't seen anything about i2s when I searched for a nice device. But possible that I missed it.06:02
stekernconfiguration of that particular i2s chip is done over a seperate i2c line, and there are Linux drivers available for it06:03
-!- E11Fangi1l is now known as E11Fangirl06:13
stekernfor the record, this is the chip on the sockit board:
stekernand reading this:
stekernwhat I need is a simple platform driver06:32
poke53281I hope you are right06:42
stekernolofk: made any progress on your generic dma(ish) core?06:48
stekernit'd be an ideal candidate for this06:49
poke53281Hmm, this one look reasonable easy:
poke53281Yes, dma would be great06:53
poke53281or this one:
poke53281but they all need dma06:58
olofkstekern: Read the back log and thought "Hey! This is the perfect oppportunity for my DMA/Stream thingie" :)07:54
olofkRead as in past sense07:54
olofkThat's a stupid word in english07:54
olofkIt should be readed07:54
olofkSomeone needs to clean up the AST07:54
olofkI have the part you don't need mostly working07:55
olofkI should probably push it to the cloud anyway since my little girl likes to walk on electronic things07:55
olofkI dump it on my swipnet account straight away07:56
olofkI'll send a link to the .arj file07:58
olofkDoes github interpret README files as markdown even without the .md extension?07:59
olofkLooks like it doesn't08:01
olofkstekern: I made a FIFO component based on your simple_dpram_sclk a while ago. To avoid you from suing me, what should I do with the complete core license?08:56
stekernolofk: umm... I don't know, what license do you want for it? ;)09:05
olofkNot sure. I could use OHDL, but I had first thought of the regular LGPL09:06
olofkIf you want to try out my code, you can clone olofk/fifo and olofk/wb_streamer, add the parent directory to the cores_root line in fusesoc.conf and run simulations on both cores09:07
stekernI'd go for 'regular' BSD, but you're free to do what you want with it09:07
stekernok, I'll take a look at that. I have cleaning up the Linux smp code on the top of my TODO list, right after that I think I want to play with some audio09:11
olofkstekern: It's nowhere near complete yet, and I have only implemented the parts to read from a FIFO and send it out through a wb master IF, and I guess you are mainly interested in the other direction09:12
stekernolofk: yes, but I rather continue on your half-baked version or put some fire under your ass to continue on it than start on something similar but seperate09:20
olofkstekern: Just what I was hoping for09:32
maxpalnolofk: I have used ram_wb in HW - it works well enough for me to run some basic UART tests. The simulation of this code runs bursts through the memory so I would expect the operation to be robust enough09:33
olofkram_wb or wb_ram?09:34
stekernbtw, why do you have stuff laying around on the floor for your girl to step on? isn't that in parenting 101 of things to avoid?09:34
olofkstekern: Yeah, but that course also claimed that it's bad to lock babies in the basement and feed them with vodka, so I don't trust their advice09:35
stekernah... the swedish version must be different from the finnish then09:36
stekernI at least haven't been explicitly told to do neither of those09:38
stekernanother good parenting hint is to not leave you kid alone with a pair of scissor, not even for a second, it *will* turn into a self-acclaimed hair-dresser...10:00
stekernI've seen it happen in practice the other day10:01
olofkIs our or1k-src basically upstream binutils-gdb (with some extra patches) + newlib/libgloss?10:04
stekern+ gdb10:04
stekernsim is missing too10:05
stekern(still, I have a repo where I've merged it in, I need to test it and push it upstream)10:05
stekernbut there are no binutils patches in or1k-src that are not upstream10:05
stekern...there might be stuff upstream that is not in or1k-src though10:06
olofkIs it tricky to build upstream binutils with the other stuff out-of-tree?10:06
stekernI don't think it should be very tricky, you just need to build newlib seperately10:07
stekernI haven't tested yet, I just installed the or1k-elf- stuff from binutils-gdb ontop of an existing install10:08
stekernfor linux toolchains, you of course don't need to bother with newlib10:09
stekernand if you already have or1k-elf-gdb, you don't need the linux version of that neither10:09
olofkhm.. the --disable-newlib flag isn't even listed in configure --help for or1k-src10:13
olofkSo how would I do this? Let's say that I have ripped out newlib and libgloss from or1k-src to it's own repo10:17
olofkAccording to I first build binutils, then GCC then binutils again (newlib+gdb) and then GCC again10:19
olofkSo should I just replace the second iteration of building or1k-src with building my stand-alone newlib?10:20
olofkDoes the second or1k-src build really have anything to do with binutils, or does that only touch gdb and newlib?10:24
olofk(again, according to the configure parameters linked above)10:25
olofkI still haven't quite figured this out despite having built the stuff for five years now10:28
stekernwell, gdb is a bit of a special case...10:32
stekernthat should probably be built together with binutils (in the first step)10:33
stekern...and the second step where you build newlib would be just building newlib and have nothing to do with binutils10:34
olofkcool. Thanks10:34
olofkNext time I'll rebuild, I'll try moving the gdb stuff to the first stage10:34
olofkwith current or1k-src10:34
stekernwell, the first step should be done with binutils-gdb from upstream10:35
stekern...this is a mess...10:35
olofkBut currently there's no gdb there, right?10:35
stekernbut what you really should do to make it "clean" is to take binutils-gdb from upstream and then add gdb to that...10:37
stekerndon't know if that's feasible...10:37
stekernI wonder how easily you can pull out gdb into its own repo10:39
olofkBut it should eventually be part of the binutils-gdb tree, right?10:39
stekernyes, but I'm just thinking how we could organize things sensible in the meantime10:42
olofkStep 1 would be to split out newlib I guess and build gdb in or1k-src stage one10:46
olofkThat would at least take away the illusion that binutils is built twice10:47
olofkand if we can rip out the gdb subtree easily we could have that as a submodule in or1k-src so that we can use it stand-alone with upstream binutils10:49
olofkBut maybe it's more work than trying to upstream it right away10:50
olofkhmmm... so this means that gdb doesn't need or1k gcc then?10:51
stekernI can't see why it would need?10:53
stekernbut I don't have hard facts on the subject10:53
stekerngdb is uncharted water for me ;)10:53
olofkMe too, but I thought of gdbserver10:54
olofkBut perhaps that isn't built as a part of gdb10:54
olofkWhat... the OpenRISC derivative from Beyond Semi is used in Sony Ericsson K550i phones according to Mr. Lampret. I didn't know that10:57
olofkah no... I might have misread that10:59
olofkCould anyone tell me if I should pronounce RISC-V as RISC-vee or RISC-five?11:10
stekernolofk: claims "RISC-V (pronounced "risk-five")"11:34
olofkThat site is of course a good place to look for answers. Never thought of that :)11:35
olofkDoes ScummVM run under X windows on or1k, or is it SDL from a terminal?15:21
ysionneaulast time I got it running (in jor1k) it was not in X window15:22
ysionneauit was in terminal framebuffer15:22
mafmolofk: it can also run in ascii art, and debian-or1k binary package supports that, I think15:44
mafmI mean SDL and anything using it, including scummvm15:45
mafmit should also run directfb, X of course, and wayland if it's SDL215:45
stekernolofk: SDL on framebuffer is the "common"15:52
stekernbut this is also possible:
stekernthat's a screenshot of a vnc connection to my atlys board. before it went R.I.P.15:55
stekernsb0: what's the status of minimac3?16:03
stekernI'm soooo tempted to throw this ethmac crap away...16:03
poke53281olofk: I run scummvm directly in the framebuffer. But there is no reason why not compile SDL for X.16:33
olofkmaxpaln: I love aalib :)16:35
poke53281Anyhow, since my big update yesterday, scummvm is broken :(16:36
olofkstekern: Cool. I'm presenting OpenRISC next week at FPGA World in Stockholm and Copenhagen and want to show off some of our more advanced workloads16:36
poke53281reason, git does not add hidden files wit the git add command.16:37
olofkstekern: You mind if I steal that screenshot?16:37
poke53281puh, scummm works again16:46
poke53281olofk: Do you have some ideas of sdl-games, which could run on openrisc. scummvm works pretty well, prboom too.16:51
poke53281quake doesn't compile so far.16:51
olofkI can mainly think of emulators. Haven't that much experience of linux games16:55
poke53281dosbox runs, but very very slow. Some non-action games might work.16:55
olofkBut a SNES emu would be nice. Are we powerful enough for that?16:55
olofkI remember the SNES emus were a bit choppy on low end pentiums at least16:56
poke53281So the speed with have is comparable to a Pentium 90.16:56
olofkHaha. Zophar's domain is still around. I must have been using that site for 15 years now16:56
poke53281SNES might work, C64 as well.16:57
poke53281But I can't publish anything on my emulator. copyright.16:58
poke53281Ok, no one would care16:58
poke53281You have even Windows 3.1 emulated somewhere.16:58
poke53281The problem is, that modern games won't work and old games are not supported anymore. 15 year old codebase make it hard to compile.17:05
stekernpoke53281: I think there should be some half-decent duke nukem 3d port floating around, that might be worth giving a try17:18
stekernolofk: steal away17:18
stekernwhy didn't you mention that you're going to FPGA world earlier? if I knew I might have been more eager to try to pursue my employer to let me go there17:20
poke53281stekern: You mean something like this:
stekernyeah, I think that's the one I meant17:27
poke53281Hmm, maybe I will try to compile some games from this list:
stekernheh, there's even a clone for carmageddon there17:30
stekernI liked that game17:30
poke53281I liked stunts17:32
poke53281But it looks like as there is enough to try. A lot of the games might work.17:33
stekernheroes of might and magic II would be awesome ;)17:34
poke53281Yeah, but only with the original files. So, nothing, which I can publish17:35
poke53281I forgot completely about MadTV. Great Game17:37
poke53281I should implement opengl for the framebuffer backend in SDL. A shame, that no one has ever done that.17:38
poke53281you can render to a bitmap with Mesa. But no one has implemented this into sdl.17:39
poke53281and under X my 32MB ram is already reaching the limit.17:40
stekernI have 1GB of ram on my sockit board ;)17:40
poke53281And I don't want to increase this limit.17:40
poke53281Because otherwise it won't run on mobile devices anymore.17:41
poke53281Yes, I could do the same with the result that the browser will crash.17:41
poke53281When I develop for jor1k, Firefox crashes approx 1 time a day.17:41
poke53281I can use the virtio/balloon driver to increase the memory on demand.17:42
poke53281or use a swap.17:42
poke53281but, what real 3d games might work. glxgears runs with 6fps. So I guess golf simulator games would work quite well.17:44
olofkstekern: Ah that sucks :(  I realize now that I completely forgot to tell anyone that I was going17:46
olofkpoke53281: I ran Heroes of might and magic 2 on my n900 with the demo files. It worked fine17:48
olofkAnd yeah, stunts was very cool17:48
olofkOoooh! They got syndicate. That must be one of the best games I ever played17:50
poke53281I never managed to play syndicate well. Too difficult. But it was fun with cheats.17:50
olofkI wonder if it would be ok today to let people in trench coats run a car through a crowd or burn them with flame throwers17:50
poke53281The flame thrower17:51
olofkI liked the gauss gun too17:51
olofkToo bad that the sequels were really crappy17:51
poke53281can't remember the gauss gun.17:53
olofkLot's of fun stuff on that page17:54
poke53281and around 30% might be useable on my emulator.17:54
poke53281arghh, but too many need the original game files.17:55
olofkHaha. Liero. I remember that one. It's finnish, right?17:58
poke53281Hmm, never played. But sounds like fun17:59
olofkstekern: But GCC we really need to build twice, right? Or are we building different parts in the different stages there as well?18:22
stekernyou are still speaking about the or1k-elf- toolchain, right?18:25
olofkAre the other toolchains any different?18:42
stekernthe steps to build them is a bit different18:48
stekernbut, I think you need to rebuild gcc after you have installed newlib18:48
olofkDo I only need to do a first stage gcc for the other toolchains?19:29
olofkInstalling vendor printer drivers on a non-rpm-or-deb based system is a new level of hell20:56
olofkMaking an OpenRISC timeline. Any major or minor events I should mention?21:46
poke53281Oh, this would be interesting. Are there still people who know how it all started?23:42
poke53281This year, two major events are atomic instructions and maybe smp. :)23:45
poke53281But maybe I another definition of events. ;)23:45
--- Log closed Wed Sep 03 00:00:35 2014

Generated by 2.15.2 by Marius Gedminas - find it at!