kristianpaul | anyone tried this http://plunify.com/ ? | 01:47 |
---|---|---|
kristianpaul | lekernel: ^ :-) | 01:47 |
kristianpaul | ahh just altera.. | 01:56 |
sh4rm4 | it seems lekernel is currently putting together a new libc.... | 02:44 |
sh4rm4 | kristianpaul, maybe you should tell him about musl :) | 02:44 |
kristianpaul | ah yeah.. | 02:51 |
kristianpaul | well | 02:51 |
kristianpaul | i guess he know about it, doubt it if evaluated | 02:52 |
sh4rm4 | it uses the same math library, but it was heavily reworked to meet the standards | 02:57 |
lekernel | kristianpaul: received a few ads about it, never tried | 08:23 |
lekernel | sh4rm4: "to power a new generation of Linux-based devices"...? | 08:24 |
sh4rm4 | the linux specific code is not that much, only a couple of syscalls... | 08:24 |
lekernel | anyway, I got most stuff to work with copy-and-paste from Linux (kernel)/NuttX/Newlib ... | 08:25 |
lekernel | by 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 |
Fallenou | OK, DTLB exceptions (on page faults) tests are passing on real FPGA :) | 15:37 |
Fallenou | same test that is passing on ISim | 15:37 |
wpwrak | coolness ! :) | 15:40 |
lekernel | http://opencores.org/project,orsoc_graphics_accelerator | 15:59 |
lekernel | Fallenou: great! | 15:59 |
roh | Fallenou: nice :) | 16:03 |
Fallenou | will 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 too | 16:04 | |
lekernel | [{#{{[!! opencores login wall | 16:07 |
lekernel | I thought they were going to remove it... | 16:07 |
Fallenou | 10k luts | 16:09 |
Fallenou | seems to have quite a bit of functionalities though | 16:09 |
Fallenou | http://sionneau.net/mmu/page_fault_handling/ | 16:15 |
Fallenou | here you go :) | 16:15 |
Fallenou | for the bitstream you only need system.bit | 16:15 |
Fallenou | first flash the bios into nand, and then just load the bitstream into the fpga through jtag | 16:16 |
Fallenou | you will be able to test "detest" and "dtlbtest" commands (listed in the "help" command) | 16:17 |
Fallenou | you should get something like this : http://sionneau.net/mmu/page_fault_handling/tlb_tests_log.txt | 16:20 |
Fallenou | will push the corresponding bitstream and bios code to github in a few minutes | 16:23 |
GitHub144 | [milkymist-mmu] fallen pushed 1 new commit to mmu: http://git.io/-BVhjQ | 16:30 |
GitHub144 | [milkymist-mmu/mmu] MMU DTLB page fault handling working on FPGA - Yann Sionneau | 16:30 |
GitHub97 | [milkymist-mmu] fallen pushed 1 new commit to mmu: http://git.io/kY6xzA | 16:38 |
GitHub97 | [milkymist-mmu/mmu] Clearing data before reading it back from memory - Yann Sionneau | 16:38 |
Fallenou | coffee time ! | 16:40 |
Fallenou | I 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 |
lekernel | i'll have a look | 16:53 |
Fallenou | ok thanks :) | 16:56 |
kristianpaul | Fallenou: great post ! | 18:38 |
Fallenou | thanks :) | 18:38 |
Fallenou | bbl diner :) | 19:12 |
GitHub177 | [milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/3-YLeg | 19:34 |
GitHub177 | [milkymist-ng/master] software/libbase: add fseek+ftell decls - Sebastien Bourdeauducq | 19:34 |
GitHub73 | [misp] sbourdeauducq pushed 1 new commit to master: http://git.io/Kus77w | 19:34 |
GitHub73 | [misp/master] Add light version of the Lua I/O library - Sebastien Bourdeauducq | 19:34 |
GitHub171 | [misp] sbourdeauducq pushed 1 new commit to master: http://git.io/ovEn3g | 19:39 |
GitHub171 | [misp/master] Lua I/O test - Sebastien Bourdeauducq | 19:39 |
lekernel | kristianpaul: bare metal lua for your personal pleasure | 19:42 |
kristianpaul | wee :-) | 19:46 |
lekernel | lol http://dmitry.co/index.php?p=./04.Thoughts/07.%20Linux%20on%208bit | 19:58 |
kristianpaul | ah yes | 20:07 |
kristianpaul | eww seems i need llvm.. | 20:17 |
lekernel | I'm writing complete instructions... mom | 20:18 |
lekernel | and yes, you need llvm. but not gcc anymore. | 20:18 |
GitHub46 | [milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/8qLoWg | 20:19 |
GitHub46 | [milkymist-ng/master] README: software instructions - Sebastien Bourdeauducq | 20:19 |
lekernel | kristianpaul: you can start with that :) | 20:19 |
kristianpaul | Sure, readint now, Thanks ! | 20:20 |
kristianpaul | reading* | 20:20 |
kristianpaul | compiler-rt ? | 20:21 |
GitHub49 | [milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/IhFTig | 20:22 |
GitHub49 | [milkymist-ng/master] m1nor, FJMEM and UrJTAG clarifications - Sebastien Bourdeauducq | 20:22 |
lekernel | oh no! new lib! ;) | 20:22 |
lekernel | http://compiler-rt.llvm.org/ | 20:22 |
kristianpaul | ahh | 20:23 |
kristianpaul | ok need to deliver a gift, bbl | 20:27 |
Fallenou | is this mother's day in your country too ? :) | 20:27 |
kristianpaul | that was may | 20:28 |
kristianpaul | now is father's day | 20:28 |
kristianpaul | may 13 for the record | 20:29 |
Fallenou | ok :) | 20:29 |
GitHub32 | [misp] sbourdeauducq pushed 1 new commit to master: http://git.io/5lTmkw | 20:43 |
GitHub32 | [misp/master] README - Sebastien Bourdeauducq | 20:43 |
Fallenou | Lua... python ... lekernel how many languages do you know ? :) | 21:42 |
wpwrak | Fallenou: "detest" ... nice command name :) | 21:43 |
Fallenou | omfg | 21:44 |
Fallenou | you just make me realize that :) | 21:44 |
wpwrak | heh :) | 21:46 |
Action: Fallenou had a good idea to write down what the command name means in his e-mail | 21:47 | |
Fallenou | did you test the binaries ? :) | 21:47 |
mwalle | what is misp?! | 21:52 |
mwalle | ah and congrats Fallenou :) | 21:52 |
Fallenou | it's a mips with a typo :p | 21:52 |
Fallenou | thanks ! | 21:52 |
Fallenou | hi mwalle ! | 21:52 |
Fallenou | it's the new software stack I think | 21:53 |
mwalle | for what to do? | 21:53 |
lekernel | acronym of milkymist software platform | 21:55 |
lekernel | also mips with a typo ;) | 21:55 |
lekernel | it will be a Lua environment with graphics/renderer/UI capabilities | 21:55 |
lekernel | to write the next MM software | 21:56 |
Fallenou | to ease development ? in comparison with C ? | 21:56 |
lekernel | yes | 21:56 |
lekernel | there are lots of cases where you don't need the speed of C... | 21:57 |
lekernel | and among other nice features, lua makes it trivial to have plugins/modules... which are a mess (to different degrees) to have with rtems/linux/fn | 21:59 |
lekernel | you just need a text editor. no toolchain, no FDPIC, etc. | 22:00 |
Fallenou | but you will have other threads running in parallel of the lua interpreter, right ? | 22:01 |
Fallenou | like dhcp, shell etc | 22:01 |
Fallenou | threads or processus | 22:02 |
lekernel | I plan to use nested interrupts for those | 22:02 |
lekernel | also for the real-time rendering | 22:02 |
mumptai | no more rtems? | 22:02 |
lekernel | the UI will use collaborative multitasking | 22:02 |
lekernel | no, no more RTEMS, no more autocrap, no more gcc | 22:02 |
Fallenou | collaborative multitasking ? :) | 22:03 |
lekernel | yes, with lua coroutines | 22:03 |
lekernel | or something similar | 22:03 |
mumptai | better watch out that your trash-can is big enough to take all that old stuff ;) | 22:03 |
Fallenou | it's alreay full | 22:04 |
Fallenou | USB takes room in the trash-can | 22:04 |
Fallenou | lekernel: so basically each task has to willingly sleep() to let other tasks being scheduled ? | 22:05 |
lekernel | yes | 22:05 |
Fallenou | ok | 22:05 |
Fallenou | does it have some kind of priority management ? | 22:06 |
lekernel | UI code is typically event driven... basically you feed the event to the appropriate thread | 22:06 |
Fallenou | yes, but sometime you have to do some compute heavy stuff in background | 22:07 |
lekernel | which runs until it has completely processed that event (no preemption, except by real-time interrupts) | 22:07 |
lekernel | like what? | 22:07 |
lekernel | in fact I don't :) | 22:07 |
Fallenou | if you want to move the mouse while doing a screenshot ? | 22:07 |
mumptai | typically that would be a call of library function that becomes implicitly atmoic, and take a lot of time to complete | 22:08 |
mumptai | (if scheduling is done explicitly in the code) | 22:09 |
Fallenou | for just the UI part I think it's OK, but sometimes the UI can need to trigger a big time consumming task | 22:09 |
lekernel | not here | 22:10 |
Fallenou | in this case everything would be frozen | 22:10 |
Fallenou | if you're sure such a case never happen then ok ^^ | 22:10 |
lekernel | and still there's a solution - run the UI in some (low-priority) interrupt handler :) | 22:10 |
lekernel | and that compute intensive thread in non-interrupt mode | 22:11 |
lekernel | but we won't even need that | 22:11 |
mumptai | had 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 |
Fallenou | why not using Lua interpreter as a RTEMS thread ? | 22:15 |
Fallenou | what's the problem ? | 22:15 |
Fallenou | so that you could easily have other threads scheduled by RTEMS | 22:15 |
mumptai | well, rtems | 22:15 |
Fallenou | and play with priorities | 22:15 |
Fallenou | and you still have nice Lua to do the UI, and capability to extend it | 22:16 |
lekernel | that would also work, yes. but with the rtems overhead and other problems. | 22:17 |
mumptai | is there a threading support in lua? | 22:18 |
Fallenou | mwalle: does interrupt support helps for the softusb stack ? | 22:18 |
lekernel | there are coroutines http://lua-users.org/wiki/CoroutinesTutorial | 22:19 |
Fallenou | mwalle: makes the softusb code use more efficiently the navre core ? | 22:19 |
lekernel | I wouldn't really call those threads though | 22:19 |
lekernel | it's a bit like python generators, if you're familiar with those | 22:19 |
mumptai | i am | 22:19 |
Fallenou | it's a non preemptive environment, the scheduler cannot preempt a task, funny scheduler :) | 22:20 |
mumptai | which is really annoying with python and its foreign function interface ... | 22:20 |
mwalle | Fallenou: 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 meantime | 22:21 |
mwalle | lekernel: btw the irqs worked for me ;) | 22:21 |
Fallenou | slower than polling ? that's counter intuitive ^^ ok | 22:22 |
Fallenou | but ok it allows to answer quickly when you really need to | 22:22 |
mwalle | Fallenou: well with polling you have almost no overhead; in, tst, branch | 22:23 |
Fallenou | and then return to your current work | 22:23 |
mwalle | if your using irq you have to save all used register to the stack etc.. :) | 22:23 |
Fallenou | sure | 22:23 |
Fallenou | are we supporting 1 kHz SOF ? 8 kHz SOF ? | 22:28 |
mwalle | the current mm? or my devicsupport? | 22:31 |
Fallenou | both | 22:32 |
mwalle | i'm dropping them really early atm ;) | 22:33 |
Fallenou | what does it mean "usb device support", aren't we already supporting at least some kind of usb devices ? | 22:33 |
Fallenou | hid, midi etc ? | 22:33 |
mwalle | and i guess mm generates them as required by the spec | 22:33 |
Fallenou | sorry for dumbs questions | 22:34 |
Fallenou | I'm not a USB pro :) | 22:34 |
mwalle | Fallenou: mm is a usb host, where you can usb devices | 22:34 |
mwalle | i'm trying to connect mm to a usb port on my pc | 22:34 |
Fallenou | oh right ... it's being late here (at least I'm tired ...) | 22:34 |
Fallenou | indeed device ... host ... ok | 22:34 |
Fallenou | afaik being a usb device is less cpu intensive than being a usb host. isn"t it ? | 22:35 |
mwalle | Fallenou: the challenge is to respond to requests in a timely manner | 22:36 |
Fallenou | you don't have to schedule between pipes , endpoints, isochronous / bulk transfers etc | 22:36 |
Fallenou | ok | 22:36 |
mwalle | for the acutal processing the spec grants you much time, like seconds for a reply | 22:37 |
Fallenou | what is your longer term goal when you will achieve usb device support ? | 22:37 |
Fallenou | oh ok | 22:37 |
mwalle | but you have to reply to usb packets with a NAK in a short time (if the device isnt finished with the processing) | 22:38 |
wpwrak | ah, 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 |
Fallenou | ahah :) | 22:38 |
Action: Fallenou is too young to approve | 22:39 | |
wpwrak | it's an elegant and efficient concept. very pretty in textbooks :) | 22:39 |
mwalle | Fallenou: responding with NAKs would normally be the task of the HW, but since i'm doing that in sw.. ;) | 22:40 |
wpwrak | they 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 grandpa | 22:41 | |
mwalle | :b | 22:41 |
Action: Fallenou would like a nice linux on his M1 :' | 22:43 | |
Action: Fallenou has to hurry to finish the mmu | 22:43 | |
wpwrak | the 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 |
wpwrak | Fallenou: yeah ! :) | 22:44 |
wpwrak | codename "steamroller" - a massive inexorable force that seems to crush everything in its way (according to WordNet) | 22:45 |
mwalle | lekernel: btw whats the difference between minimac2 and minimac3? | 22:49 |
Fallenou | wpwrak: (steamroller) a codename for what ? | 22:50 |
wpwrak | for linux on the m1 :) | 23:01 |
kristianpaul | i had to admit coroutines are a joke, but is the best lua can provide afaik... | 23:01 |
kristianpaul | also you need to be clear on what is baremetal and in wich point become an os.. | 23:02 |
roh | wpwrak: codenames are good ;) | 23:02 |
Fallenou | hehe I like this codename =) | 23:03 |
kristianpaul | any way, in my case i dont suffer from the last i hope, and filesystem support just got handy :-) | 23:03 |
roh | wpwrak: i am currently doing a networking project, where where my counterpart and i were really fast to agree in using 'nuclear disaster sites' for hostnames | 23:03 |
Fallenou | "fukushima is down, do you copy ?" | 23:04 |
wpwrak | roh: bikini ? :) | 23:04 |
Fallenou | pshhht noise | 23:04 |
roh | thats what the first host is named (fukushima) | 23:04 |
Fallenou | :) | 23:04 |
wpwrak | roh: japanese city names tend to be awkwardly long | 23:06 |
Fallenou | roh: and you use a steam punk decorated laptop and wear a pip boy like in Fallout ? | 23:06 |
wpwrak | what was the place again where the french did their heavily criticized tests ... | 23:07 |
roh | we will stick to energy and medical city/statenames first.. goiania chernobyl mayak windscale | 23:07 |
roh | Fallenou: hopefully not ;) | 23:07 |
Fallenou | wpwrak: a japanese place ? | 23:07 |
wpwrak | harrisburg | 23:07 |
roh | when we are done on the civillian sector we will continue with energy and war | 23:07 |
wpwrak | roh: you can have kraftwerk sing some of the host names for you :) | 23:08 |
roh | http://en.wikipedia.org/wiki/List_of_nuclear_and_radiation_accidents_by_death_toll | 23:08 |
Fallenou | time to sleep here | 23:09 |
Fallenou | gn8 ! | 23:09 |
wpwrak | ah, Moruroa | 23:09 |
mwalle | yeah here too | 23:09 |
mwalle | gn8 | 23:09 |
roh | anyhow.. if you need a reliable source of sorted random lists.. choose something on wikipedia which starts with List_of_ | 23:12 |
Fallenou | OpenRisc seems to have a MMU, maybe I could have a look at it, don't know where to find the souce code though | 23:13 |
Fallenou | *zZzZ* | 23:23 |
--- Mon Jun 4 2012 | 00:00 |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!