#milkymist IRC log for Sunday, 2012-06-03

kristianpaulanyone tried this http://plunify.com/ ?01:47
kristianpaullekernel: ^ :-)01:47
kristianpaulahh just altera..01:56
sh4rm4it seems lekernel is currently putting together a new libc....02:44
sh4rm4kristianpaul, maybe you should tell him about musl :)02:44
kristianpaulah yeah..02:51
kristianpauli guess he know about it, doubt it if evaluated02:52
sh4rm4it uses the same math library, but it was heavily reworked to meet the standards02:57
lekernelkristianpaul: received a few ads about it, never tried08:23
lekernelsh4rm4: "to power a new generation of Linux-based devices"...?08:24
sh4rm4the linux specific code is not that much, only a couple of syscalls...08:24
lekernelanyway, I got most stuff to work with copy-and-paste from Linux (kernel)/NuttX/Newlib ...08:25
lekernelby the way, anyone tried drawing arbitrary (ie not from a font) vector graphics with freetype? seems they already have a nice polygon/curve rasterizer with anti aliasing...08:32
FallenouOK, DTLB exceptions (on page faults) tests are passing on real FPGA :)15:37
Fallenousame test that is passing on ISim15:37
wpwrakcoolness ! :)15:40
lekernelFallenou: great!15:59
rohFallenou: nice :)16:03
Fallenouwill post bios binary ready-to-be-flashed and mmu-enabled bitstream so that you could give it a try :)16:04
Action: lekernel needs to post -ng instructions too16:04
lekernel[{#{{[!! opencores login wall16:07
lekernelI thought they were going to remove it...16:07
Fallenou10k luts16:09
Fallenouseems to have quite a bit of functionalities though16:09
Fallenouhere you go :)16:15
Fallenoufor the bitstream you only need system.bit16:15
Fallenoufirst flash the bios into nand, and then just load the bitstream into the fpga through jtag16:16
Fallenouyou will be able to test "detest" and "dtlbtest" commands (listed in the "help" command)16:17
Fallenouyou should get something like this : http://sionneau.net/mmu/page_fault_handling/tlb_tests_log.txt16:20
Fallenouwill push the corresponding bitstream and bios code to github in a few minutes16:23
GitHub144[milkymist-mmu] fallen pushed 1 new commit to mmu: http://git.io/-BVhjQ16:30
GitHub144[milkymist-mmu/mmu] MMU DTLB page fault handling working on FPGA - Yann Sionneau16:30
GitHub97[milkymist-mmu] fallen pushed 1 new commit to mmu: http://git.io/kY6xzA16:38
GitHub97[milkymist-mmu/mmu] Clearing data before reading it back from memory - Yann Sionneau16:38
Fallenoucoffee time !16:40
FallenouI more than welcome comments on the verilog or C code (even if C code is just there for testing purposes, to validate the hardware/gateware part)16:48
lekerneli'll have a look16:53
Fallenouok thanks :)16:56
kristianpaulFallenou: great post !18:38
Fallenouthanks :)18:38
Fallenoubbl diner :)19:12
GitHub177[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/3-YLeg19:34
GitHub177[milkymist-ng/master] software/libbase: add fseek+ftell decls - Sebastien Bourdeauducq19:34
GitHub73[misp] sbourdeauducq pushed 1 new commit to master: http://git.io/Kus77w19:34
GitHub73[misp/master] Add light version of the Lua I/O library - Sebastien Bourdeauducq19:34
GitHub171[misp] sbourdeauducq pushed 1 new commit to master: http://git.io/ovEn3g19:39
GitHub171[misp/master] Lua I/O test - Sebastien Bourdeauducq19:39
lekernelkristianpaul: bare metal lua for your personal pleasure19:42
kristianpaulwee :-)19:46
lekernellol http://dmitry.co/index.php?p=./04.Thoughts/07.%20Linux%20on%208bit19:58
kristianpaulah yes20:07
kristianpauleww seems i need llvm..20:17
lekernelI'm writing complete instructions... mom20:18
lekerneland yes, you need llvm. but not gcc anymore.20:18
GitHub46[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/8qLoWg20:19
GitHub46[milkymist-ng/master] README: software instructions - Sebastien Bourdeauducq20:19
lekernelkristianpaul: you can start with that :)20:19
kristianpaulSure, readint now, Thanks !20:20
kristianpaulcompiler-rt ?20:21
GitHub49[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/IhFTig20:22
GitHub49[milkymist-ng/master] m1nor, FJMEM and UrJTAG clarifications - Sebastien Bourdeauducq20:22
lekerneloh no! new lib! ;)20:22
kristianpaulok need to deliver a gift, bbl20:27
Fallenouis this mother's day in your country too ? :)20:27
kristianpaulthat was may20:28
kristianpaulnow is father's day20:28
kristianpaulmay 13 for the record20:29
Fallenouok :)20:29
GitHub32[misp] sbourdeauducq pushed 1 new commit to master: http://git.io/5lTmkw20:43
GitHub32[misp/master] README - Sebastien Bourdeauducq20:43
FallenouLua... python ... lekernel how many languages do you know ? :)21:42
wpwrakFallenou: "detest" ... nice command name :)21:43
Fallenouyou just make me realize that :)21:44
wpwrakheh :)21:46
Action: Fallenou had a good idea to write down what the command name means in his e-mail21:47
Fallenoudid you test the binaries ? :)21:47
mwallewhat is misp?!21:52
mwalleah and congrats Fallenou  :)21:52
Fallenouit's a mips with a typo :p21:52
Fallenouthanks !21:52
Fallenouhi mwalle !21:52
Fallenouit's the new software stack I think21:53
mwallefor what to do?21:53
lekernelacronym of milkymist software platform21:55
lekernelalso mips with a typo ;)21:55
lekernelit will be a Lua environment with graphics/renderer/UI capabilities21:55
lekernelto write the next MM software21:56
Fallenouto ease development ? in comparison with C ?21:56
lekernelthere are lots of cases where you don't need the speed of C...21:57
lekerneland among other nice features, lua makes it trivial to have plugins/modules... which are a mess (to different degrees) to have with rtems/linux/fn21:59
lekernelyou just need a text editor. no toolchain, no FDPIC, etc.22:00
Fallenoubut you will have other threads running in parallel of the lua interpreter, right ?22:01
Fallenoulike dhcp, shell etc22:01
Fallenouthreads or processus22:02
lekernelI plan to use nested interrupts for those22:02
lekernelalso for the real-time rendering22:02
mumptaino more rtems?22:02
lekernelthe UI will use collaborative multitasking22:02
lekernelno, no more RTEMS, no more autocrap, no more gcc22:02
Fallenoucollaborative multitasking ? :)22:03
lekernelyes, with lua coroutines22:03
lekernelor something similar22:03
mumptaibetter watch out that your trash-can is big enough to take all that old stuff ;)22:03
Fallenouit's alreay full22:04
FallenouUSB takes room in the trash-can22:04
Fallenoulekernel: so basically each task has to willingly sleep() to let other tasks being scheduled ?22:05
Fallenoudoes it have some kind of priority management ?22:06
lekernelUI code is typically event driven... basically you feed the event to the appropriate thread22:06
Fallenouyes, but sometime you have to do some compute heavy stuff in background22:07
lekernelwhich runs until it has completely processed that event (no preemption, except by real-time interrupts)22:07
lekernellike what?22:07
lekernelin fact I don't :)22:07
Fallenouif you want to move the mouse while doing a screenshot ?22:07
mumptaitypically that would be a call of library function that becomes implicitly atmoic, and take a lot of time to complete22:08
mumptai(if scheduling is done explicitly in the code)22:09
Fallenoufor just the UI part I think it's OK, but sometimes the UI can need to trigger a big time consumming task22:09
lekernelnot here22:10
Fallenouin this case everything would be frozen22:10
Fallenouif you're sure such a case never happen then ok ^^22:10
lekerneland still there's a solution - run the UI in some (low-priority) interrupt handler :)22:10
lekerneland that compute intensive thread in non-interrupt mode22:11
lekernelbut we won't even need that22:11
mumptaihad that problem in control loop once, a soft-float operation took too long and it broke the scheduling of the mainloop (but the time scale was 10's of microseconds)22:12
Fallenouwhy not using Lua interpreter as a RTEMS thread ?22:15
Fallenouwhat's the problem ?22:15
Fallenouso that you could easily have other threads scheduled by RTEMS22:15
mumptaiwell, rtems22:15
Fallenouand play with priorities22:15
Fallenouand you still have nice Lua to do the UI, and capability to extend it22:16
lekernelthat would also work, yes. but with the rtems overhead and other problems.22:17
mumptaiis there a threading support in lua?22:18
Fallenoumwalle: does interrupt support helps for the softusb stack ?22:18
lekernelthere are coroutines http://lua-users.org/wiki/CoroutinesTutorial22:19
Fallenoumwalle: makes the softusb code use more efficiently the navre core ?22:19
lekernelI wouldn't really call those threads though22:19
lekernelit's a bit like python generators, if you're familiar with those22:19
mumptaii am22:19
Fallenouit's a non preemptive environment, the scheduler cannot preempt a task, funny scheduler :)22:20
mumptaiwhich is really annoying with python and its foreign function interface ...22:20
mwalleFallenou: actually its slower than polling, but i'm trying to implement usb device support and i need to to main work (eg assemble response, calc crc etc) and respond to usb packets quickly in the meantime22:21
mwallelekernel: btw the irqs worked for me ;)22:21
Fallenouslower than polling ? that's counter intuitive ^^ ok22:22
Fallenoubut ok it allows to answer quickly when you really need to22:22
mwalleFallenou: well with polling you have almost no overhead; in, tst, branch22:23
Fallenouand then return to your current work22:23
mwalleif your using irq you have to save all used register to the stack etc.. :)22:23
Fallenouare we supporting 1 kHz SOF ? 8 kHz SOF ?22:28
mwallethe current mm? or my devicsupport?22:31
mwallei'm dropping them really early atm ;)22:33
Fallenouwhat does it mean "usb device support", aren't we already supporting at least some kind of usb devices ?22:33
Fallenouhid, midi etc ?22:33
mwalleand i guess mm generates them as required by the spec22:33
Fallenousorry for dumbs questions22:34
FallenouI'm not a USB pro :)22:34
mwalleFallenou: mm is a usb host, where you can usb devices22:34
mwallei'm trying to connect mm to a usb port on my pc22:34
Fallenouoh right ... it's being late here (at least I'm tired ...)22:34
Fallenouindeed device ... host ... ok22:34
Fallenouafaik being a usb device is less cpu intensive than being a usb host. isn"t it ?22:35
mwalleFallenou: the challenge is to respond to requests in a timely manner22:36
Fallenouyou don't have to schedule between pipes , endpoints, isochronous / bulk transfers etc22:36
mwallefor the acutal processing the spec grants you much time, like seconds for a reply22:37
Fallenouwhat is your longer term goal when you will achieve usb device support ?22:37
Fallenouoh ok22:37
mwallebut you have to reply to usb packets with a NAK in a short time (if the device isnt finished with the processing)22:38
wpwrakah, cooperative multitasking fallacy. it's been a while that i've see that one. i guess each generation is entitled to their youthful mistakes :)22:38
Fallenouahah :)22:38
Action: Fallenou is too young to approve22:39
wpwrakit's an elegant and efficient concept. very pretty in textbooks :)22:39
mwalleFallenou: responding with NAKs would normally be the task of the HW, but since i'm doing that in sw.. ;)22:40
wpwrakthey loved to teach it at the university, and work on their own little system that had all this, and a lot more NIH. if there was work to do, we used a sun with unix ;-)22:40
Action: mwalle imaging wprak as a very old white bearded grandpa22:41
Action: Fallenou would like a nice linux on his M1 :'22:43
Action: Fallenou has to hurry to finish the mmu22:43
wpwrakthe good thing about IT is that things move quickly enough for you to be able to see quite a bit without having to much of your life on it ;-)22:44
wpwrakFallenou: yeah ! :)22:44
wpwrakcodename "steamroller" - a massive inexorable force that seems to crush everything in its way (according to WordNet)22:45
mwallelekernel: btw whats the difference between minimac2 and minimac3?22:49
Fallenouwpwrak: (steamroller) a codename for what ?22:50
wpwrakfor linux on the m1 :)23:01
kristianpauli had to admit coroutines are a joke, but is the best lua can provide afaik...23:01
kristianpaulalso you need to be clear on what is baremetal and in wich point become an os..23:02
rohwpwrak: codenames are good ;)23:02
Fallenouhehe I like this codename =)23:03
kristianpaulany way, in my case i dont suffer from the last i hope, and filesystem support just got handy :-)23:03
rohwpwrak: i am currently doing a networking project, where where my counterpart and i were really fast to agree in using 'nuclear disaster sites' for hostnames23:03
Fallenou"fukushima is down, do you copy ?"23:04
wpwrakroh: bikini ? :)23:04
Fallenoupshhht noise23:04
rohthats what the first host is named (fukushima)23:04
wpwrakroh: japanese city names tend to be awkwardly long23:06
Fallenouroh: and you use a steam punk decorated laptop and wear a pip boy like in Fallout ?23:06
wpwrakwhat was the place again where the french did their heavily criticized tests ...23:07
rohwe will stick to energy and medical city/statenames first.. goiania chernobyl mayak windscale23:07
rohFallenou: hopefully not ;)23:07
Fallenouwpwrak: a japanese place ?23:07
rohwhen we are done on the civillian sector we will continue with energy and war23:07
wpwrakroh: you can have kraftwerk sing some of the host names for you :)23:08
Fallenoutime to sleep here23:09
Fallenougn8 !23:09
wpwrakah, Moruroa23:09
mwalleyeah here too23:09
rohanyhow.. if you need a reliable source of sorted random lists.. choose something on wikipedia which starts with List_of_23:12
FallenouOpenRisc seems to have a MMU, maybe I could have a look at it, don't know where to find the souce code though23:13
--- Mon Jun 4 201200:00

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