#milkymist IRC log for Friday, 2012-08-24

--- Fri Aug 24 201200:00
wolfspraullarsc: [regarding mmu and arch choices] so what do you think? linux without mmu is an option? or mmu is a must-have prerequisite?01:20
wolfspraulonce I get my fpgatools to some working degree, I'll have a deep look at softcores, arch options, compiler options, kernel options01:21
wolfspraulso not anytime soon, but I start thinking about it :-)01:22
wpwraklinux without MMU is possible01:22
wolfspraulthat I know01:23
wolfspraulbut in the past it was always "not an interesting option for anything, really"01:23
wolfspraulunfortunately there's a number of pieces/question marks:01:23
wpwrakbut you lose a few things, among them demand paging and memory protection01:23
wolfspraul1) does a software in an fpga make any sense?01:23
wolfspraul2) which arch should be chosen, a totally new one, existing one that is 'not so patent encumbered', or right in the middle of the evil empires with mips, arm, etc?01:23
wpwraki'd say that no mmu is perfectly fine if you have a single-purpose embedded system01:24
wolfspraul3) which compiler, I guess llvm and gcc are the two mainstream options01:24
wolfspraul4) which microkernel or kernel01:24
wolfspraul5) mmu is a must-have or not01:24
wolfsprauland all those kind of interdepend on each other as well01:24
wpwrakbut if you're doing development or have a more complex mix of applications, then you want that mmu01:24
wolfspraulsince if a softcore makes no sense anyway, #2-#5 become easy to answer :-)01:24
wpwrak0) make sense for what ? :)01:25
wolfspraultypo: 1) /software/softcore/01:25
wolfspraulyep, right :-)01:25
wolfspraulthat's where I think most people say mmu-less makes no sense, since the point of Linux is to run typical linux sw, a lot of which will require a mmu directly or indirectly01:25
wolfsprauland without mmu you may then be better off with a microkernel and static binary that just links it all in...01:26
wolfspraulwhich also ties back to your #0 :-)01:26
wpwrakyou may still want the linux APIs01:29
wolfspraulskipping "what is this all for", it comes down to picking things that are reusable or 'help': 1) compiler 2) softcore-impl 3) arch 4) kernel01:35
wolfspraulmaybe #0 needs to be answered first01:35
wpwrakthat's often the case :)01:36
wpwrakof course, regarding 4), i'd rather strongly favour linux on anything that actually has something one would call an operating system01:36
wolfspraulregarding fpgatools, I'm getting to the point that I can write a nice introduction and FAQ, see the README here https://github.com/Wolfgang-Spraul/fpgatools01:59
wolfspraulso if there are questions about what this thing is or is about, I would be more than happy to receive them so I can write some good few paragraphs there...01:59
wolfspraulas of right now, the only designs (and bitstreams) it can write are empty ones :-) (and even those won't load into the chip because I skipped auto-crc for now...) :-)02:00
wolfspraulbut that's not what I plan to write about in the intro and faq, obviously.02:01
wpwrakhehe, UNLICENSE :)02:04
wolfspraulyes, public domain02:05
wolfspraulunlicense.org02:05
hellekinGPLLLLLLLLLLLLLLLLLLLLL!02:05
hellekin:)02:05
wolfspraulazonenberg made me switch to public domain a while back and I think it was a great idea, more freedom02:05
wolfspraulhellekin: if it's PD, does that mean you can take it and put it under a GPL? who knows. I don't care :-)02:06
wolfspraulthe intro should write about what fpgatools/libfpga is good for02:06
wpwrakPD does actually have some pitfalls, too. e.g., there are countries with a "public domain payant". when something enters the public domain there, the right to collect royalties moves from the copyright holder to a government (or government-assigned) entity02:07
wolfspraulsince nothing works today, that's more of a 'what it should/could be' wishlist02:07
wolfspraulwpwrak: I don't care :-)02:07
wolfspraulI'm deep in the routing right now, routing wires between IOB and logic blocks02:08
wolfspraulneed to spend some more time back with the bit as well, soonish because understanding the routing comes before bits imho02:08
rohwolfspraul: well.. you could just use some bsd licence02:16
rohonly for the legalese convenience... its easier to decide where to be able to use the code and what one can link against with what obligations or limitations (if any)02:17
wolfspraulI'm in happy pd land now02:17
rohas long as its a 'legal wise complete' license... thats ok02:18
rohthe important part is that one can link it to bsd and gpl code in the end and that it doesnt generate complicated issues that way02:18
wolfspraulI think it doesn't02:18
rohlike 'no licence' or custom crap like what djb used a long time02:18
hellekinwolfspraul: the problem of public domain is that anyone can put a copyright on it and use it as its own. Including suing people who can't hire a lawyer to demonstrate prior art. I guess.02:21
rohsince djb switched from custom shit to public domain there are also packages for his stuff in debian :)02:21
hellekinIn an ideal world, I would stick to DWTFYWWI licensing02:21
hellekinroh: heh, then it's a Good Thing(TM)02:22
Action: roh stays with gpl for sw and lgpl for libs, cc-by-nc-sa for physical works like schematics or layouts (hardware) and bsd for bsd-sw i extend/write plugins for02:24
wolfspraulroh: you do -nc now?02:24
rohpd shouldnt be an issue as long as you document properly02:24
wolfspraulI will do PD for everything from now on :-)02:25
rohwolfspraul: for stuff i am not payed for yes... i like the 'copyleft' idea and nc helps getting money in in case somebody does want to use something commercially02:25
hellekinnc for hardware schematics?02:25
wolfspraulI highly doubt that, but ok :-)02:25
wolfspraulI cannot imagine anything more broken than the -nc -nd stuff02:26
rohnc just means 'you need to talk to me and we will find a solution'02:26
wolfspraulit's a nifty loose-loose setup02:26
wolfspraulnobody will02:26
wolfspraulit's one of the stupidest ideas around the whole "let's use copyright the right way" idea (not your fault to use it, if that makes you feel good...)02:26
rohnc doesnt mean one cannot use it commercially. it just means you need to ask and do a deal first. much more inviting than the usual commercial world. simply because you know what you are buying before you do.02:26
wolfspraulbut yes, the public perception of all of this stuff is "noncommercial" anyway02:26
wolfspraulfree = non-commercial02:27
wolfspraulthe public perception has long moved on beyond all this02:27
rohnope. sorry.. can't agree there.02:27
wolfsprauland you can quite commonly find 'non-profit' organizations now that pay their top-executives million-dollar salaries02:27
wolfspraulwelcome to the new world :-)02:27
rohmost gpl sw is written in a commercial way. people got paid for doing that.02:27
hellekinI didn't know nc meant you can go commercial with copyright holder's permission02:27
wpwrakwhen i run into anything "NC", i just ignore it02:27
wolfspraulhellekin: nobody understands it02:28
hellekinthat's a wholly new interesting tihng02:28
wpwrakthe implied message is "i want to see money"02:28
wolfsprauland in fact people now just think all cc = non-commercial02:28
wolfsprauljust ask :-)02:28
wolfspraulit doesnt' matter anymore, I think those are all arguments of the past02:28
wolfspraulin the long run it's all pd anyway02:28
hellekinthat would avoid shit like seeing your face in advertising because it's on a cc-by-sa picture02:28
wolfspraulthat's yet another angle, unrelated to copyright02:29
rohwpwrak: thats ok. nc means you can use it as you please. as soon as you sell it, you need to share your winnings some way. i dont see anything wrong with that. it doesnt hurt or limit anyone. it just makes a certain level or fairness concept.02:29
wolfspraulmodel releases etc.02:29
wolfspraulroh: nobody will care :-)02:29
rohi will surely switch to a non-nc model as soon as there is no commercial sw on the market anymore ;)02:29
hellekinroh: +102:29
wolfspraulall cc is assumed to be non-commercial nowadays, imho02:29
wpwrakroh: there you're wrong. it's not just about selling but any commercial use. no matter how peripheral.02:29
rohwolfspraul: not more than they do now for licenses. but you know what holes gpl-violations makes in some companies ;)02:30
wolfsprauland I doubt there ever has been a single -nc case that was actually enforced, if that is even possible02:30
wolfspraulsince those is some very complicated legalese and who knows what it actually means in an individual case02:30
rohwpwrak: cc-by-nc means you need to do 'what bsd does + deal' which can be a one-time payment for example02:30
wolfspraulso people simplify and lump it all up02:30
rohsadly gpl and similar sw-stuff isnt working on hw at all properly02:31
hellekinlucky you! rms is not using IRC :)02:32
wolfspraulincluding me, who has switched to pd for good :-)02:32
wolfspraulroh: do you know a single case, yourself or worldwide, where a -nc licensing of anything led to money changing hands later?02:32
wolfspraulcounting on that would make me want to look for my tombstone :-)02:32
rohwolfspraul: i dont know a single court proven case for any cc license so far (havent searched yet)02:32
hellekinwolfspraul: people would not have to pay to visit your tomb. That's neat.02:32
wpwrakwolfspraul: and then there's the question of whether the money wouldn't also have changed hands without an -nc02:32
rohfor gpl and bsd there are. for gpl even german ones02:33
rohgiven that there are 'patterns'  of what can be mixed with what and under which circumstances and limitations for cc, gpl and bsd like licenses i would even say that 'open source' licenses make the legalese madness _easier_ than what we have now with commercial licensing.02:34
wolfspraulwpwrak: as I said I admire those -nc -nd achievements in cc for the most backward anything I could imagine02:34
wolfspraulit's so broken that itself deserves an award02:34
rohthat its 'not easy' is no argument. its complete mayham now for anyhing besides those free licenses.02:34
wolfsprauland without hopefully adding much conspiracies here, there is reason to believe that damage was done to cc on purpose, by interested parties with second agendas etc.02:34
wolfspraulwelcome to the real world02:34
wolfspraulroh: ohsure, I agree. was just surprised you went -nc now :-)02:35
wolfspraulsince I doubt you will ever make 1 penny from that, which is sad02:35
wolfspraulI wish you would02:35
wpwrakwolfspraul: i fully agree. -nc is bait, to lure the naive. i don't even know why -nd exists :)02:35
rohwolfspraul: then please tell me how you want to make the only ones earning money in a 'consumer electronics market' contribute to the development of hw as well as sw.02:35
roh-nd is plain stupid02:36
wolfspraulwpwrak: those things were added by interested people in the right positions, for exactly the outcome we are seeing now02:36
wolfspraulcc = nc02:36
rohwolfspraul: wrong.02:36
hellekinnd is non-d what?02:36
wpwraknon-distribution02:36
rohnon-nc cc you can just build in numbers and nobody could even sue as long as you do the 'by' or 'sa' which is possible02:36
rohhellekin: no-derivates02:37
hellekinoh yes02:37
rohno modifications. which counters all the cc idea.02:37
wpwrakah .. yes, sorry :)02:37
Action: wpwrak should not multitask :)02:37
hellekinthat makes sense for personal email I guess02:38
rohnc really just limits the 'making money without contributing back _some_ way' part seen from my view. maybe some lawyer can explain that in more detail02:38
hellekinnc would have made Nina Simone rich then02:38
hellekinor  would she ahve been ripped off the same way?02:39
wpwrakroh: -by-sa pretty much accomplishes that, too. plus, nobody has to ask you for permission.02:39
rohwpwrak: well..no. it doesnt make sure other people contribute back to me when they get rich with my work02:42
rohmy plan is basically to license -by-sa-nc stuff -by-sa to paying parties.02:43
hellekingplv3?02:43
wpwrakroh: neither does gpl make sure people contribute back financially ...02:43
rohhellekin: doesnt work for hardware.02:43
rohwpwrak: true. but usually people do not earn money with software02:44
wpwrakroh: well, good luck with your model. i hope you'll invite us all to campagne and caviar when you've made your first million :)02:44
rohif they do, they usually use no gpl code or violate the license02:44
wpwrakah, people don't earn money with software ? interesting :)02:45
rohto be fair, i dont see a sane way for making money with sw alone a sane way02:45
wolfspraulit's something we have to hold the fsf up for highly - that they never fell for making a little gpl-nc sister, although I am sure they had very attractive donor offers at some point to do that...02:45
hellekinI don't see a sane way to make money.02:45
rohits either insane in lock-in, or insane in complications on buying02:45
rohor both02:45
wolfspraulfinally something a stubborn guy like rms is good for :-)02:45
rohwolfspraul: gpl-nc is there.02:46
rohwolfspraul: its all the thousands of cool, well written gpl libs which have a section of 'if you want you can buy commercial licenses' in the readme.02:46
rohlike src02:46
rohhttp://www.mega-nerd.com/SRC/02:46
wolfspraulsure but like I said the fsf did not waiver :-) thankfully!02:47
rohwolfspraul: not their job. thats what dual licensing is for.02:47
rohalso.. who should get the money if its a multi-person thing?02:48
wolfspraulso few people today think gpl = nc. you can just point to redhat for a billion USD business and the discussion is over02:48
rohthats why it makes no sense to put it into a license for sw.02:48
rohor having shared works in such stuff. i am only talking of _my_ works.02:48
rohwolfspraul: true ;)02:49
rohthe gpl moneymaking business is 'paying for service'02:49
wpwrakwolfspraul: your README needs illustrations :)03:33
wolfspra1lwpwrak: what is missing?03:36
wolfspra1lwhat questions do you have when you start reading?03:36
wolfspra1lI need to write a 1-2 paragraph intro for sure, just to explain in a few sentences what this is (meant to be) for03:37
wolfspra1lmaybe I try first...03:37
wpwrakwolfspra1l: well, a high-level overview of the FPGA. and then how the tools connect to each other.03:43
wpwrak(... and how they connect to the FPGA)03:44
wolfspra1lto get started, I am planning small 'hello world' type designs03:48
wpwrakyeah. we're all waiting for your first blinking led :)03:56
wolfspra1lfirst design will be an AND gate04:27
wolfspra1ljust two wires in, one out, no clock04:27
wolfspra1lI doubt many people are waiting, but that's not so important to me. after I get the AND working, there's a lot more 'guts' to be done04:29
wolfspra1lA LOT04:29
wolfspra1ltoo many to list here even, but I try to get a little mental overview map with the TODO section in the readme04:29
wpwrakwell, not waiting in the sense of checking every two minutes. but looking forward to it06:03
wolfspra1ltoo exotic. I think the jury is still out on where fpgas make sense at all06:06
wolfspra1lthe more I learn about them the more I think about that06:07
wolfspra1lyes there are very interesting aspects, sure. but then maybe not...06:07
wolfspra1lthat's one main thing I will discover for myself surely06:07
lekernel_m1's problem is marketing, that's all06:13
wpwraki think they make mainly sense as peripheral controllers. if they can also incorporate a memory interface, even better. for an actual cpu core, they seem to suck.06:13
wolfspra1lthere's a built-in memory controller in every s606:16
wolfspra1lwpwrak: actually zynq goes in that direction that you have a regular arm core and the entire chip is 'like an arm', plus the programmable fabric around it for peripherals...06:21
wolfspra1lit comes down to what you want to build, your famous #0...06:22
wolfspra1l:-)06:22
lekernel_I've developed pretty much everything I wanted to do on the M106:30
lekernel_on LM32, with FPGA06:31
lekernel_ARM stuff also has its problems...06:31
lekernel_and it's irrelevant anyway06:32
wpwrakwolfspra1l: the built-in memory controller would probably need a bit of reverse-engineering before you can actually use it with unencumbered gateware, i guess10:47
wolfspra1lwhy that? it's just a primitive/device in hardware, and you wire up the wires via ise verilog/templates etc. and then it will work and shuffle data out and in, I would think11:10
wolfspra1lbarring a 1000 details, of course11:10
wolfspra1lbut the primary question is whether someone wants to use it or not. if there is a will there is a way.11:11
wolfspra1lI'm pretty sure more real world fpga customers that want to interface with memory will take a long hard look at the mcb before any other options11:12
wolfspra1ls/more/most/11:12
wpwrakif you can abstract it such that one could use a competitor's memory controller without having to change the code a lot, it may become a viable option11:12
wolfspra1lwell no probably not, I would assume you pull in a lot of 'bloat' or infrastructure with it11:12
wolfspra1lbut what is the alternative?11:12
wolfspra1lm1 has shown one, which more or less ends up with museum ready computing :-)11:13
wpwraksure. it would seem the natural choice to pick the thing that's already been optimized for the task. on the other hand, there's that lock-in ... :)11:13
wolfspra1lwhat lock-in is that exactly? the first lock-in is the chip, the tools, the world11:13
wpwrakthe new memory controller of M1 seems pretty decent11:13
wpwrakyou're working on the tools already :) once the tools and the "library" are free, the chip matters a lot less11:14
wolfspra1lI'm pressing my update button in vein :-)11:14
wolfspra1lI do stay away from the mcb right now11:14
wolfspra1lit's just too much already, since I already struggle with distributed and block ram, etc. etc. and pretty much everything else11:14
wolfspra1lbut the mcb definitely stands out a lot in how xilinx tries to increase performnace of their chips for their customers11:15
wolfspra1lso dismissing it is quite bold imho11:15
wpwrakthink of it as their GPU :)11:16
wolfspra1lthe larger fpgas has various other 'special high-performance' features I still know little about, but the mcb exists all the way to the smallest regular xc611:17
wpwrakand then the basic rule applies: if you can't use it in a Free way, it doesn't exist11:17
wolfspra1l(it's disabled in the slx4 but the slx4 is not practically on sale)11:17
wpwrakwell, if you can figure out how to integrate it, then it would be a viable choice11:17
wpwrakif not, it doesn't exist11:17
wpwrak"you" = wolfgang or someone else11:18
wolfspra1lI won't get to the mcb in months, at best11:18
wolfspra1lI would be happy to route one single wire from an IOB to the nearest logic block and back out, no clock, nothing11:18
wpwrakthere's a lot of fun to be had elsewhere first, for sure :)11:18
wpwrakyes, that would already be a breakthrough11:19
wolfspra1lto get the mcb to do meaningful work, i think you have to route hundreds of not thousands of wires around11:19
wolfspra1lgee s/of/if/11:19
wpwraki would say the mcb is currently very much at the edge of the map11:19
wolfspra1ldefinitely11:19
wolfspra1lbut I want to see a real-world customer who dismisses the built-in mcb and decides to go with one manually written in programmable fabric...11:20
wolfspra1lunless some people are carrying forward old 'known good' designs that nobody wants to touch, I have a hard time seeing how that could make sense11:20
wolfspra1lother than for study/academic etc of course11:21
wolfspra1lprototyping11:21
wpwrakwell, the current "real-world customer" will probably take a while to appreciate your work11:21
wolfspra1lanyway I know little about the mcb and it's not on my radar to learn about anytime soon11:21
wolfspra1lthere are really thousands of detailed features in the fpga all over, that will keep me busy11:22
wpwrakfair enough. and if anyone asks for a memory controller, we can just suggest them to try sebastien's11:23
wolfspra1lsure11:23
larscbeing able to switch a LED on and off with a switch and the 'wire' between them going through a FPGA would indeed be an great first step :) I'm looking forward to it full of excitement11:28
lekernelwolfspra1l: the milkymist-ng memory controller is probably faster than the mcb15:20
lekernelfeel free to collect some hard numbers if you're interested :)15:21
lekernelthe current one was brought up in the international space station earlier this week, so maybe it's not that bad after all15:27
lekernelif you want to criticize milkymist, look at the marketing, which is probably a much more fertile ground for such things than engineering15:27
larscthe milkymist-ng memory controller runs on the iss?15:30
lekernelno, the older one15:31
lekernelit takes years to get stuff approved ;)15:31
larscstill quite cool15:32
lekernelwolfspra1l: if milkymist is museum ready computing, then what is atmel avr?15:34
larsclekernel: btw. any news on the final ehsm location?15:37
lekernelyes, berlin15:38
larscok15:39
GitHub8[linux-milkymist] larsclausen pushed 1 new commit to master: http://git.io/WEw2rw16:47
GitHub8[linux-milkymist/master] lm32: Some signal handling cleanups - Lars-Peter Clausen16:47
GitHub111[linux-milkymist] larsclausen pushed 2 new commits to master: http://git.io/kYiPkA17:34
GitHub111[linux-milkymist/master] lm32: cacheflush.h: Reuse asm-generic/cacheflush.h - Lars-Peter Clausen17:34
GitHub111[linux-milkymist/master] lm32: Remove unused init_task.c - Lars-Peter Clausen17:34
kristianpaullinux without mmu, perhaps let the dangerous software to a intepreted language, like a soft-mmu for dangerous app21:43
kristianpaulbut nah, that still sound like a single porpusem thing..21:44
kristianpaullekernel: they implemented the memory controller on a burst-one fpga?21:54
kristianpauls/one/once21:54
GitHub83[linux-milkymist] larsclausen pushed 9 new commits to master: http://git.io/bt5UPg21:58
GitHub83[linux-milkymist/master] lm32: Slightly optimize the syscall handling - Lars-Peter Clausen21:58
GitHub83[linux-milkymist/master] lib: Add a generic sys_call_table - Lars-Peter Clausen21:58
GitHub83[linux-milkymist/master] lm32: Use generic sys call table implementation - Lars-Peter Clausen21:58
--- Sat Aug 25 201200:00

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