IRC logs for #openrisc Friday, 2014-08-22

--- Log opened Fri Aug 22 00:00:18 2014
stekernthe spinlock saga continues, one sw bug hunted down. I held a lock without disabling interrupts in a function that can be re-entered from an interrupt...03:33
stekernnow I get a triple lock on run-queues though...03:34
dalias:)03:37
sb0stekern, do you see any reason why mor1kx would fail to execute code starting at 0x60000, but succeed when it's starting at 0x160000?06:51
sb0(it's a bootloader)06:51
stekernsb0: no, can't say I see why that would happen06:54
sb0well, it's probably the spi flash acting up then06:54
maxpalnJust doing some background reading on the orpsocv3 page on opencores.org - I can see the section that lists support for various tools (simulators, synthesis etc.) I guess the 'No' against support for, say, Synplify is because the tools haven't yet got built-in support for that tool rather than it has been found to not work.10:14
maxpalnMy initial plan is to generate the RTL using the fusesoc tool and import it into our tool suite to generate the RTL. I will also aim to run some simulations through the Aldec simulator, Riviera - I am expecting both of these to be manual jobs that will, ultimately, work (after some coersion) - does anyone have any experience that I should be aware of here?10:16
maxpalnhmmm, meant to say "import it into our tool suite to generate the bitstream".10:19
maxpalnUltimately my aim would be to repeat this process but for one of our evaluation boards and then publish the updates along with support for Synplify, Riviera and our tool flow. This is probably something that will take me deep into autumn I think.10:20
stekernmaxpaln: yes, it's rather 'no-one has tried' than 'someone tried and failed'11:00
stekernbut I think you're about to step into a possible deficiency in the fusesoc flow, I'm not sure if the 'generate RTL step' is decoupled enough that you can do that seperately from the backend.11:01
stekernolofk?11:01
maxpalnwell, that leads onto my next question - while digging around the existing board 'systems' I can see a selection of RTL. I wondered how much of this is created by the fusesoc utility and how much needs to be generated by me. Or put another way, what should I be creating and what should I let the tools 'manage'?12:28
stekernbasically, you need to create 'orpsoc_top.v' and 'clkgen.v'12:30
maxpalnok - that makes sense12:31
maxpalnI'm sure I'll have plenty of questions along the way - I presume there isn't a document describing how to add a new board...12:34
stekernnot really, but since you already have an orpsocv2 board port, it should be pretty straightforward to port it12:35
maxpalnyeah, that is what I figure. I'm aiming to keep everything as fusesoc-friendly as possible so when it comes to shifting to the 'to be published' system based on our eval board I can reuse as much as possible.12:36
maxpalnGetting something working won't be too difficult - getting the format in-keeping with the expectations of the fusesoc system might be more challenging :-)12:37
stekern=P12:45
stekernIt'll be nice to have some lattice representation in the board port department12:46
maxpalnagreed -12:46
stekerndo lattice have any 'cheap-dev-board' partners, like terasic for altera and digilent for xilinx?12:47
stekern(and do you have some published info about the eval board you're speaking about?)12:48
maxpalnWell, we aim generally aim to produce a low-cost eval board in-house - for our ECP3 family (the predecessor to the ECP5 and the device that I started working on around a year ago!!!) we have our Versa board - it is here:12:48
maxpalnhttp://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/LatticeECP3VersaDevelopmentKit.aspx12:48
maxpalnWe have a range of 3rd party partners that also provide boards - but we tend to be less organised than Xilinx and Altera on this sort of thing (we are a much smaller company in terms of $ sales so getting resources for that sort of activity is very difficult)12:50
maxpalnThe first board I'll be targetting will be this one:12:51
maxpalnhttp://www.latticesemi.com/Products/DevelopmentBoardsAndKits/ECP5PCIExpressDevKit.aspx12:51
maxpaln(mainly because its the only one available for the ECP5!)12:51
stekernI understand12:51
maxpalnAt $199 its pretty low cost - I won't be using the PCIe but there are some other useful things on there.12:52
stekernwhich is $199? the ECP5 or ECP3 board?12:52
ysionneauthe ECP5 is $19912:53
maxpalnYes12:53
maxpalnJust checking the Versa board - it's not far off the same price I think12:53
stekernthat's not bad at all12:53
maxpalnAh, The ECP3 versa board is $262.50 from our online store - who comes up with these prices!12:54
maxpalnYeah, I think the ECP5 board is good - we are getting much better at producing the low cost boards, it's become Lattice's ethos recently, low cost, low power, low footprint. :-)12:55
maxpalnMaybe I'll be tempted to write a PCIe peripheral for the ORPSOC :-)12:55
stekernthat'd be cool ;)12:56
stekernnow I got tempted to order one of those boards...12:56
maxpaln:-)12:56
stekernI got the devil on one of my shoulders telling me to, and the wife (well not literally) screaming on the other one =P12:57
maxpalnlol! Now there is an image!!12:58
poke53281dalias: I tried to compile the newest directfb. There is only one musl-related error:16:27
poke53281http://git.directfb.org/?p=core/DirectFB.git;a=blob;f=lib/direct/os/linux/glibc/mutex.h16:27
poke53281PTHREAD_MUTEX_INITIALIZER and PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP cannot be found16:28
poke53281is this Ok? Is there a quick workaround?16:28
poke53281Sorry, only the last one cannot be found16:35
poke53281I am tempted to use just "0" here.16:36
poke53281stekern: The newest directfb version seems to be vararg-problem free. Maybe someone has read my email :)16:40
daliaspoke53281, there's no easy workaround16:54
daliasmusl intentionally does not expose the layout of the mutex structure with the intent that it be allowed to change if needed16:55
daliasso there's no way to make a preinitialized recursive mutex that wouldn't be subject to the risk of changes16:55
daliasthe correct way to initialize a recursive mutex is with pthread_once16:55
daliasbefore calling pthread_mutex_lock on it, call pthread_once with a once-init-function that does the pthread_mutex_init to make a recursive mutex16:56
poke53281Thanks.17:30
daliasi asked on #musl if anyone has dealt with this yet and has a patch already17:32
daliasnobody's around right now tho17:32
poke53281read it.17:33
daliasah you're there too :)17:33
daliasdidn't notice17:33
poke53281If the guy who programmed sabotage compiles the newest directfb he will notice it too.17:33
daliasi remember at least a couple other packages having a similar issue, and i think we had no trouble getting the pthread_once fix upstream17:33
poke53281Unfortunately I cannot take the old version.17:33
dalias*nod*17:34
poke53281Is the guy of sabotage linux also in the chat?17:37
daliasyes. sh4rm4.17:38
--- Log closed Sat Aug 23 00:00:19 2014

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