5 ms·
How are you handling libc? you have your own (or is this even an issue with Lua)? I've been thinking of putting a Common Lisp implementation on bare metal (init
by fabriceleal 12y ago
How are you handling libc? you have your own (or is this even an issue with Lua)? I've been thinking of putting a Common Lisp implementation on bare metal (initially thinking of SBCL, but I think MKCL may be a easier challenge), but haven't found the time to start yet.
- ay 12y agoI've grabbed the missing routines from musl libc (and culled some parts of the Lua standard library for the sake of reducing the number of requirements, e.g. io.*), and used venerable Doug Lea's malloc for memory allocations. The stock Lua 5.1 has the least number of dependencies, so I picked it - the idea is to practice and then to eventually have LuaJIT run on bare metal.
- pjmlp 12y agoGood luck with it. You are on the path of having Smalltalk. :)
- ay 12y agoCan't edit the old answer, so adding a new one... I found this: https://code.google.com/p/lualisp/ https://code.google.com/p/lualisp/ - could be fun to get it atop. I'll see next time when I am in the mood for hacking on it.
- justincormack 12y agoYou can use the NetBSD rump kernel [1] to do this relatively easily - I have run LuaJIT on Xen using this and there is now a bare metal implementation too. [1] http://rumpkernel.org/ http://rumpkernel.org/
- ay 12y agoActually your https://github.com/justincormack/rumpuser-xen https://github.com/justincormack/rumpuser-xen was the original inspiration for me :-) Back when I started (sometime in May), rump did not run on "bare metal" yet, so I decided to reinvent a bicycle of my own. Also, looks like it's running in 32-bit mode ?