yes, yes that’s right. Mu (µ) now has a built-in LSP server for fans of VS Code / VSCodium 😅 You just go install ./cmd/mu-lsp/... and install the VS extension and hey presto 🥳 You get outlines of any Mu source, Find References and Go to Definition!
@klaxzy@klaxzy.net really?! 🤔 That’s hilseriosu 🤣
@movq@www.uninformativ.de I barely noticed 😅
@movq@www.uninformativ.de What worked? 😆
@movq@www.uninformativ.de Right 😅
Fark me OS Dev is hard 🤣
./bin/mu -B -o ... -p muos/amd64 ... target.
@lyse@lyse.isobeef.org Thanks!
./bin/mu -B -o ... -p muos/amd64 ... target.
I’m kind of curious to know how much Assembly I need vs. How much of a microkernel can I build purely in Mu (µ)? 🤔
./bin/mu -B -o ... -p muos/amd64 ... target.
I’ve only got a handful of syscalls working right now. Taking inspiration from the calling convention of the Linux kernel and even made the service/interrupt handler int 0x80h 🤣 I’ve only got read, write, alloc and exit working righ tnow 🥲
./bin/mu -B -o ... -p muos/amd64 ... target.
@movq@www.uninformativ.de Yes!
Did you do the whole dance with BIOS boot and everything?
Yup! Fark’n LBA shit and all, loading up the GDT, TSS and switching to x86_64 long mode 🤣
./bin/mu -B -o ... -p muos/amd64 ... target.
Whohoo! 🥳
You have no idea how great a feeling this is! This includes the Mu stdlib and runtime as well, not just some simple stupid program, this means a significant portion of the runtime and stdlib “just works”™ 🤣
Btw @movq@www.uninformativ.de you’ve inspired me to try and have a good ‘ol crack at writing a bootloader, stage1 and customer microkernel (µKernel) that will eventually load up a Mu (µ) program and run it! 🤣 I will teach Mu (µ) to have a ./bin/mu -B -o ... -p muos/amd64 ... target.
Took me nearly all week (in my spare time), but Mu (µ) finally officially support linux/amd64 🥳 I completely refactored the native code backend and borrowed a lot of the structure from another project called wazero (the zero dependency Go WASM runtime/compiler). This is amazing stuff because now Mu (µ) runs in more places natively, as well as running everywhere Go runs via the bytecode VM interpreter 🤞
@kiwu@twtxt.net Always stay positive! 🙏
@movq@www.uninformativ.de Anything we can do? Lend a listening ear? 👂
@movq@www.uninformativ.de What’s up? hmm 🧐
Heh I thought I fixed that bug? (is it s abug?!)
This week, Mu (µ) get s bit more serious and starts to refactor the native backend (a lot). Soon™ we will support darwin/arm64, linux/arm64 and linux/amd64 (Yes, other forms of BSD will come!) – Mu (µ) also last week grew concurrency support too! 🤣
@klaxzy@klaxzy.net nothing like a blank twt eh? 😅
@kiwu@twtxt.net Oh? 🤔 What’s up? Can you share? Or just having a hrd time? 🤗
rustfmt. I now use similar tools for Python (black and isort).
@movq@www.uninformativ.de Welcome to the dark side 🤣
@shinyoukai@neko.laidback.moe Whoohoo! That’s a start to cross-platform support 🤣
Patch applied!
@shinyoukai@neko.laidback.moe No email has arrived here? 🤔
@shinyoukai@neko.laidback.moe Okay I pushed a commit that hopefully fixes this. I hope!
@shinyoukai@neko.laidback.moe Yes; however the interpreter is also platform dependent and relies on making raw syscalls. This is so the runtime semantics remain the same between the two execution modes.
I’ll see if I can add support for linux/amd64 and netbsd/amd64 for the VM at least.
@shinyoukai@neko.laidback.moe if you don’t show me the actual full stacktrace, I can’t fix the problem 😢
Most of it should work on other platforms, the bytecode VM that is. You may run into some platform quirks though that rely on syscall() – Let me know what you run into and I’ll try to fix them nw. The problem right now is I haven’t even begun to start work on another platform/architecture yet.
Mu (µ) is coming along really nicely 🤣 Few things left to do (in order):
- Finish the concurrency support.
- Add support for sockets
- Add support for
linux/amd64
- Rewrite the heap allocator
- Rewrite Mu (µ) in well umm Mu (µ) 😅
Here’s a screenshot showing off the builtin help():
Work kills the soul
it sure can! 🤣
Make it so number one !
@movq@www.uninformativ.de What’s Email?! 😂
@movq@www.uninformativ.de I quite like this part:
Many people write programs, but few stick with a program long enough to distill it.
@bender@twtxt.net No, I had my break/holiday earlier. I chose to work through, except the public holidays of course.
@movq@www.uninformativ.de Ahh nice! It’s been several decades since I’ve played that! Probably 3 actually come to think of it 🤣
@movq@www.uninformativ.de what game is that?
I basically worked through the Christmas break last year. I already had my holidays in Vietnam a few weeks earlier. 😆