Fark me OS Dev is hard 🤣
#m4r2yzq
Problems are Solved by Method\" 🇦🇺👨💻👨🦯🏹♔ 🏓⚯ 👨👩👧👧🛥 -- James Mills (operator of twtxt.net / creator of Yarn.social 🧶)
If this user/feed is violating this Pod's (yarn.meff.me) community guidelines as set out in the Abuse Policy, please report them immediately!
You are also free to Unfollow or Mute this user or feed. Muting will also remove that user/feed's content from your view and you will no longer see content from that user/feed anywhere.
@prologic does not follow you (they may not see your replies!)
Fark me OS Dev is hard 🤣
(#hddm6pa) @lyse@lyse.isobeef.org Thanks!
(#hddm6pa) I’m kind of curious to know how much Assembly I need vs. How much of a microkernel can I build purely in Mu (µ)? 🤔
(#hddm6pa) 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 🥲
(#hddm6pa) @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 🤣
(#hddm6pa) 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 🤞
(#f5fb6gq) @kiwu@twtxt.net Always stay positive! 🙏
(#ajerg7a) @movq@www.uninformativ.de Anything we can do? Lend a listening ear? 👂
(#ajerg7a) @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? 😅
(#f5fb6gq) @kiwu@twtxt.net Oh? 🤔 What’s up? Can you share? Or just having a hrd time? 🤗
(#pebgp3a) @movq@www.uninformativ.de Welcome to the dark side 🤣
(#u53qyya) @movq@www.uninformativ.de I don’t think he is 🤔
(#ee3stma) @shinyoukai@neko.laidback.moe Whoohoo! That’s a start to cross-platform support 🤣
(#q33dfjq) Patch applied!
(#q33dfjq) @shinyoukai@neko.laidback.moe No email has arrived here? 🤔
(#q33dfjq) @shinyoukai@neko.laidback.moe Okay I pushed a commit that hopefully fixes this. I hope!
(#q33dfjq) @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.
(#q33dfjq) @shinyoukai@neko.laidback.moe if you don’t show me the actual full stacktrace, I can’t fix the problem 😢
(#q33dfjq) 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):
linux/amd64(#zy5aqgq) It’s gone. 👋
(#5wlquma) Make it so number one !
(#ubuezaa) @movq@www.uninformativ.de What’s Email?! 😂