<sh4rm4>
it seems lekernel is currently putting together a new libc....
<sh4rm4>
kristianpaul, maybe you should tell him about musl :)
<kristianpaul>
ah yeah..
<kristianpaul>
well
<kristianpaul>
i guess he know about it, doubt it if evaluated
<sh4rm4>
it uses the same math library, but it was heavily reworked to meet the standards
bkero has quit [Quit: WeeChat 0.3.7]
elldekaa has quit [Read error: Connection reset by peer]
rejon has joined #milkymist
rejon_ has joined #milkymist
rejon_ has quit [Client Quit]
rejon has quit [Client Quit]
voidcoder has quit [Read error: Connection reset by peer]
aeris has quit [Ping timeout: 245 seconds]
aeris has joined #milkymist
voidcoder has joined #milkymist
rejon has joined #milkymist
bkero has joined #milkymist
bkero has joined #milkymist
kilae has joined #milkymist
lekernel has quit [Ping timeout: 245 seconds]
lekernel has joined #milkymist
<lekernel>
kristianpaul: received a few ads about it, never tried
<lekernel>
sh4rm4: "to power a new generation of Linux-based devices"...?
<sh4rm4>
the linux specific code is not that much, only a couple of syscalls...
<lekernel>
anyway, I got most stuff to work with copy-and-paste from Linux (kernel)/NuttX/Newlib ...
rejon has quit [Ping timeout: 240 seconds]
<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...
rejon has joined #milkymist
rejon has quit [Ping timeout: 256 seconds]
voidcoder has quit [Read error: Connection reset by peer]
kristianpaul has quit [Ping timeout: 272 seconds]
kristianpaul has joined #milkymist
xiangfu has joined #milkymist
voidcoder has joined #milkymist
xiangfu has quit [Ping timeout: 245 seconds]
xiangfu has joined #milkymist
rejon has joined #milkymist
xiangfu has quit [Remote host closed the connection]
elldekaa has joined #milkymist
Gurty has quit [Ping timeout: 265 seconds]
elldekaa has quit [Read error: Connection reset by peer]
elldekaa has joined #milkymist
elldekaa has quit [Remote host closed the connection]
elldekaa has joined #milkymist
Gurty has joined #milkymist
<Fallenou>
OK, DTLB exceptions (on page faults) tests are passing on real FPGA :)
<Fallenou>
will push the corresponding bitstream and bios code to github in a few minutes
<GitHub144>
[milkymist-mmu] fallen pushed 1 new commit to mmu: http://git.io/-BVhjQ
<GitHub144>
[milkymist-mmu/mmu] MMU DTLB page fault handling working on FPGA - Yann Sionneau
<GitHub97>
[milkymist-mmu] fallen pushed 1 new commit to mmu: http://git.io/kY6xzA
<GitHub97>
[milkymist-mmu/mmu] Clearing data before reading it back from memory - Yann Sionneau
<Fallenou>
coffee time !
<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)
<lekernel>
i'll have a look
<Fallenou>
ok thanks :)
voidcoder has quit [Read error: Connection reset by peer]
lekernel has quit [Quit: Konversation terminated!]
voidcoder has joined #milkymist
elldekaa has quit [Ping timeout: 244 seconds]
lekernel has joined #milkymist
<kristianpaul>
Fallenou: great post !
<Fallenou>
thanks :)
elldekaa has joined #milkymist
rejon has quit [Ping timeout: 245 seconds]
<Fallenou>
bbl diner :)
<GitHub177>
[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/3-YLeg
<Fallenou>
Lua... python ... lekernel how many languages do you know ? :)
<wpwrak>
Fallenou: "detest" ... nice command name :)
<Fallenou>
omfg
<Fallenou>
you just make me realize that :)
<wpwrak>
heh :)
* Fallenou
had a good idea to write down what the command name means in his e-mail
<Fallenou>
did you test the binaries ? :)
<mwalle>
what is misp?!
<mwalle>
ah and congrats Fallenou :)
<Fallenou>
it's a mips with a typo :p
<Fallenou>
thanks !
<Fallenou>
hi mwalle !
<Fallenou>
it's the new software stack I think
<mwalle>
for what to do?
<lekernel>
acronym of milkymist software platform
<lekernel>
also mips with a typo ;)
<lekernel>
it will be a Lua environment with graphics/renderer/UI capabilities
<lekernel>
to write the next MM software
<Fallenou>
to ease development ? in comparison with C ?
<lekernel>
yes
<lekernel>
there are lots of cases where you don't need the speed of C...
<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
<lekernel>
you just need a text editor. no toolchain, no FDPIC, etc.
<Fallenou>
but you will have other threads running in parallel of the lua interpreter, right ?
<Fallenou>
like dhcp, shell etc
<Fallenou>
threads or processus
<lekernel>
I plan to use nested interrupts for those
<lekernel>
also for the real-time rendering
<mumptai>
no more rtems?
<lekernel>
the UI will use collaborative multitasking
<lekernel>
no, no more RTEMS, no more autocrap, no more gcc
<Fallenou>
collaborative multitasking ? :)
<lekernel>
yes, with lua coroutines
<lekernel>
or something similar
<mumptai>
better watch out that your trash-can is big enough to take all that old stuff ;)
<Fallenou>
it's alreay full
<Fallenou>
USB takes room in the trash-can
<Fallenou>
lekernel: so basically each task has to willingly sleep() to let other tasks being scheduled ?
<lekernel>
yes
<Fallenou>
ok
<Fallenou>
does it have some kind of priority management ?
<lekernel>
UI code is typically event driven... basically you feed the event to the appropriate thread
<Fallenou>
yes, but sometime you have to do some compute heavy stuff in background
<lekernel>
which runs until it has completely processed that event (no preemption, except by real-time interrupts)
<lekernel>
like what?
<lekernel>
in fact I don't :)
<Fallenou>
if you want to move the mouse while doing a screenshot ?
<mumptai>
typically that would be a call of library function that becomes implicitly atmoic, and take a lot of time to complete
<mumptai>
(if scheduling is done explicitly in the code)
<Fallenou>
for just the UI part I think it's OK, but sometimes the UI can need to trigger a big time consumming task
<lekernel>
not here
<Fallenou>
in this case everything would be frozen
<Fallenou>
if you're sure such a case never happen then ok ^^
<lekernel>
and still there's a solution - run the UI in some (low-priority) interrupt handler :)
<lekernel>
and that compute intensive thread in non-interrupt mode
<lekernel>
but we won't even need that
<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)
<Fallenou>
why not using Lua interpreter as a RTEMS thread ?
<Fallenou>
what's the problem ?
<Fallenou>
so that you could easily have other threads scheduled by RTEMS
<mumptai>
well, rtems
<Fallenou>
and play with priorities
<Fallenou>
and you still have nice Lua to do the UI, and capability to extend it
<lekernel>
that would also work, yes. but with the rtems overhead and other problems.
<mumptai>
is there a threading support in lua?
<Fallenou>
mwalle: does interrupt support helps for the softusb stack ?
<Fallenou>
mwalle: makes the softusb code use more efficiently the navre core ?
<lekernel>
I wouldn't really call those threads though
<lekernel>
it's a bit like python generators, if you're familiar with those
<mumptai>
i am
<Fallenou>
it's a non preemptive environment, the scheduler cannot preempt a task, funny scheduler :)
<mumptai>
which is really annoying with python and its foreign function interface ...
<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
<mwalle>
lekernel: btw the irqs worked for me ;)
<Fallenou>
slower than polling ? that's counter intuitive ^^ ok
<Fallenou>
but ok it allows to answer quickly when you really need to
<mwalle>
Fallenou: well with polling you have almost no overhead; in, tst, branch
<Fallenou>
and then return to your current work
<mwalle>
if your using irq you have to save all used register to the stack etc.. :)
<Fallenou>
sure
<Fallenou>
are we supporting 1 kHz SOF ? 8 kHz SOF ?
<mwalle>
the current mm? or my devicsupport?
<Fallenou>
both
<mwalle>
i'm dropping them really early atm ;)
<Fallenou>
what does it mean "usb device support", aren't we already supporting at least some kind of usb devices ?
<Fallenou>
hid, midi etc ?
<mwalle>
and i guess mm generates them as required by the spec
<Fallenou>
sorry for dumbs questions
<Fallenou>
I'm not a USB pro :)
<mwalle>
Fallenou: mm is a usb host, where you can usb devices
<mwalle>
i'm trying to connect mm to a usb port on my pc
<Fallenou>
oh right ... it's being late here (at least I'm tired ...)
<Fallenou>
indeed device ... host ... ok
<Fallenou>
afaik being a usb device is less cpu intensive than being a usb host. isn"t it ?
<mwalle>
Fallenou: the challenge is to respond to requests in a timely manner
<Fallenou>
you don't have to schedule between pipes , endpoints, isochronous / bulk transfers etc
<Fallenou>
ok
<mwalle>
for the acutal processing the spec grants you much time, like seconds for a reply
<Fallenou>
what is your longer term goal when you will achieve usb device support ?
<Fallenou>
oh ok
<mwalle>
but you have to reply to usb packets with a NAK in a short time (if the device isnt finished with the processing)
<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 :)
<Fallenou>
ahah :)
* Fallenou
is too young to approve
<wpwrak>
it's an elegant and efficient concept. very pretty in textbooks :)
<mwalle>
Fallenou: responding with NAKs would normally be the task of the HW, but since i'm doing that in sw.. ;)
<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 ;-)
* mwalle
imaging wprak as a very old white bearded grandpa
<mwalle>
:b
* Fallenou
would like a nice linux on his M1 :'
* Fallenou
has to hurry to finish the mmu
<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 ;-)
<wpwrak>
Fallenou: yeah ! :)
<wpwrak>
codename "steamroller" - a massive inexorable force that seems to crush everything in its way (according to WordNet)
azonenberg has joined #milkymist
<mwalle>
lekernel: btw whats the difference between minimac2 and minimac3?
<Fallenou>
wpwrak: (steamroller) a codename for what ?
elldekaa has quit [Remote host closed the connection]
voidcoder has quit [Read error: Connection reset by peer]
voidcoder has joined #milkymist
<wpwrak>
for linux on the m1 :)
<kristianpaul>
i had to admit coroutines are a joke, but is the best lua can provide afaik...
<kristianpaul>
also you need to be clear on what is baremetal and in wich point become an os..
<roh>
wpwrak: codenames are good ;)
<Fallenou>
hehe I like this codename =)
<kristianpaul>
any way, in my case i dont suffer from the last i hope, and filesystem support just got handy :-)
<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
<Fallenou>
"fukushima is down, do you copy ?"
<wpwrak>
roh: bikini ? :)
<Fallenou>
pshhht noise
<roh>
thats what the first host is named (fukushima)
<Fallenou>
:)
<wpwrak>
roh: japanese city names tend to be awkwardly long
<Fallenou>
roh: and you use a steam punk decorated laptop and wear a pip boy like in Fallout ?
<wpwrak>
what was the place again where the french did their heavily criticized tests ...
<roh>
we will stick to energy and medical city/statenames first.. goiania chernobyl mayak windscale
<roh>
Fallenou: hopefully not ;)
<Fallenou>
wpwrak: a japanese place ?
<wpwrak>
harrisburg
<roh>
when we are done on the civillian sector we will continue with energy and war
mumptai has quit [Quit: Verlassend]
<wpwrak>
roh: you can have kraftwerk sing some of the host names for you :)