IRC logs for #openrisc Monday, 2014-08-04

--- Log opened Mon Aug 04 00:00:49 2014
poke53282stekern: I have problems with the new uclibc. Has to do something with the timer. It is not reliable.02:19
poke53282sleep, usleep and the signal timer seem to work.02:19
poke53282But the ncurses demos don't work.02:20
poke53282Sometimes they stop, or they are too fast. And sometimes I have to fit space in order to go on.02:20
poke53282I tested with an older uclibc and it works.02:21
poke53282http://www.simulationcorner.net/worm02:21
poke53282Here is a statically compiled demo.02:21
poke53282I tested it especially in qemu-user to exclude kernel changes.02:24
poke53282s/fit space/hit space/02:33
poke53282what other timing options do we have in C?02:35
poke53282Hmm, pthread of course02:44
poke53282nope, that's not the reason02:45
poke53282The napms sleeping routine from ncurses does not work. It does not sleep, but return immediately02:51
stekerninteresting02:52
poke53282no time to investigate further the next 1,5 hours. Have to leave.02:54
poke53282but then I am back.02:55
stekernwas the worms you pasted statically compiled?02:55
poke53282yes02:55
poke53282http://www.simulationcorner.net/worm-dynamic02:56
poke53282So, have to leave :)02:57
stekernhmm, I have fixed so that -Bsymbolic removes the relocations to R_OR1K_INSN_REL_2603:27
stekernbut I still get relocations to hidden symbols, which I think is wrong03:27
stekernthe case where the symbol is non-hidden, I think that relocations should be emitted03:28
stekerniow, I think the proper fix for libgcc is to add a hidden __hidden_udivsi3 alias symbol and let all *si3 functions call that03:30
stekernbut for that to work, I still need to fix bfd to not emit the relocations to hidden symbols03:32
stekernthink I just fixed that03:45
poke53282re04:20
poke53282stekern: Did you compile busybox with the musl?05:42
stekernpoke53282: yes06:34
poke53282could you compile ifplugd and inetd?06:36
stekernpoke53282: yes, but not without musl specific patches06:42
stekernhttp://wiki.musl-libc.org/wiki/Building_Busybox06:43
poke53282Hmm, understodd. I run again in some problems in compiling all the stuff with musl. Similar when I tried for uclibc one year ago.06:49
poke53282Hmm, so what is the correct way. Normalle, when I try to compile I use "configure --host=or1k-linux-uclibc"06:53
poke53282"configure --host=or1k-linux-musl" doesn't seem to work06:54
poke53282maybe I have to patch config.sub06:54
poke53282"configure --host=or1k-linux CC=or1k-linux-musl-gcc" works06:54
stekernnot sure, why didn't the --host=or1k-linux-musl work?06:56
poke53282http://pastie.org/944364806:59
poke53282I already patch config.sub and exchange or32 with or1k07:00
poke53282looks like musl has to be added to config.sub#07:03
poke53282http://pastie.org/944366107:09
stekernhmm, but musl is in this: http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD07:09
poke53282Solved it with such a patch.07:09
stekernmaybe you just have to exchange the config.sub with the one from git head07:10
poke53282Yeah, this would be another solution.07:10
poke53282In a few years, the problem is solved automatically.07:11
stekernyup07:11
poke53282why "WITH_SYSROOT=no" in build.sh?07:18
stekernpoke53282: in musl-cross? I just left that as default07:29
stekernif you want to change stuff, you should do that in config.sh though07:30
stekernblueCmd: http://pastie.org/9443692 and http://pastie.org/9443689 is probably the solution I will want to settle on for libgcc07:31
poke53282Well, I want to install libraries and other progs have to link to them. So I need a sysroot :)07:31
stekern=P07:32
poke53282"worm" works with musl. So there is an error in uclibc or an error in combination with ncurses.07:41
maxpalnHi, looking for a bit of guidance on mor1kx equivalent of EPCR and SR. For EPCR the closest I can find is mor1kx_ctrl_cappuccino/exception_pc_addr, for SR the closest is mor1kx_ctrl_cappuccino/spr_sr - are these right?09:40
maxpalnFrom reading through the code they look correct.09:40
stekernmaxpaln: https://github.com/openrisc/mor1kx/blob/master/rtl/verilog/mor1kx_ctrl_cappuccino.v#L21609:47
maxpaln:-) great - thanks09:53
-!- Netsplit *.net <-> *.split quits: jonmasters_12:19
maxpalnDoes anyone have any rough figures for the size of the espresso implementation of mor1kx - I have figures for OR1200 (~3.8K LUTs), mor1kx Cappuccino (~5.5K LUTs). I can run it through the tools but I am in the middle of this logic analyser work and would rather not - I've been asked by our factory team. Rough numbers would be hgreat - no need for specifics.13:27
sb0maxpaln, if you are concerned about size, use lm3214:00
maxpalnsb0: thanks and :-), actually the background is that we have a customer wanting something more complete than the lm32, I believe they want to run Linux but are not overly worried about performance (a slightly odd combo but I am not close enough to the customer at the moment to have all the details). The target is a low power device - something like our MachXO2 - it is limited to 7K LUTs and14:23
maxpalnideally we'd like to use the 4K device or possibly even something smaller. The customer is considering an external Arm but I've been asked if the ORPSOC is a feasible alternative. The OR1200 could do it - Cappuccino is just about OK but the Espresso implementation of mor1kx would appear to be designed for this sort of application. Hence the enquiry.14:23
sb0https://github.com/m-labs/misoc is 3.2K LUTs with LM32, 4.8K LUTs with mor1kx14:25
sb0including a fairly complex sdram system, that could be trimmed too14:28
maxpalnsb0: That's interesting - there is an experimental MMU for our LM32. I am not sure anyone has brought that to our attention before.14:50
maxpalnThese are useful figures though - I think they will be useful, thanks14:51
stekernmaxpaln: just to make it clear, mor1kx in a similar setup as or1200 will be smaller than or1200.14:59
stekernbut as sb0 says, lm32 is even smaller15:00
stekernbut as you said, with less features15:00
sb0less features? which?15:00
sb0the only problem with lm32 is mediocre software support15:00
stekernwell, yeah. kind of that I meant, yes it's the experimental MMU, but there's no Linux support for that (if that's what maxpaln was interested in running)15:01
stekernno atomic instructions ;)15:01
stekernlm32 only supports up to 2-way caches15:03
maxpalnyeah, our LM32 is great if you want a little processor. But increasingly we see customers who are used to the level of support provided by Arm M class processors - the LM32 starts to look pretty limited in comparison. It is for this reason that the ORPSOC solution is generating quite a lot of interest in our factory.15:03
sb0stekern, can highly associative caches reasonably meet timing with the slow FPGAs we use?15:04
sb0maxpaln, "level of support"? from the software?15:06
sb0it'd be nice to have good sw support for lm32. or a debloated mor1kx. this way you don't have to pick between bloat and bad sw ...15:07
stekernsb0: depends of course what you set the clock frequency bar at ;)15:10
stekerndon't know if that is the biggest limiting factor though15:10
sb0ah. and yes, on kintex7 lm32 runs at 200MHz, mor1kx some 15015:10
stekernbut yeah, I definetely want to do some more optimization iterations on mor1kx15:11
stekernboth area and speed15:11
stekernup to now, my main concern have been IPC performance, but I think without going multi-issue, it's pretty much as good as it can get at that15:13
stekernand sb0, I appreciate that you bug me about it, it makes me want to get the thumb out my ... =)15:16
--- Log closed Tue Aug 05 00:00:51 2014

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