ref: 9b8e21a6669c6312809b174220fca59728cbb68b
dir: /TODO/
TODO: - [ ] Look into args address space prior to hitting exec - [ ] /env/fn# to init functions? - [ ] set up initial connection before handing over to an rc session, to set up binds and mounts - [ ] Import our $objtype/bin and /rc from 9front instead of builtins, -f $9filesys - [x] remove rc builtins, possibly add os() as it uses devcmd locally, if needed - [ ] Adapt github.com/michaelforney/nine to load and execute our binaries (exec) - [x] start.s in libmachdep for each posix-target, just do like tas.c - investigate if we want to run this another way instead! - [ ] darwin will use mach_vm_-family of functions, else we use mmap - [ ] have it export a var service=unix - [ ] Some people probably want aan? - [ ] gui-cocoa try to capture the windows we create so we can send mouse/keyboard to it, plist for launchd - [ ] gui-wl cannibalize the wayland shims - [ ] Use ScreenCaptureKit to get at the video/audio. Handle resizes the other direction - [ ] define the gui interface - [x] Makefile librc --> librc.a - [ ] RFREND + RFNOMEM could probably be handled in rfork Kernel space needs: - devdraw - #i: !needed, We use the client exported /dev/draw instead - devkbd - #b: !needed, We use the client exported /dev/kbd instead - devmouse - #m: !needed, We use the client exported /dev/mouse instead - devaudio - #A: !needed, We use the client exported /dev/audio instead - devcmd - #C: needed OS(1) commands, we already run on host - devcons - #c: needed, /dev/cons - devenv - #e: needed, /dev/env - devfs - #U: needed, local files - devip - #I: needed, networking - devlfd - #L: needed, local fd - devmnt - #M: needed, client shares - devpipe - #|: needed for pipes - devroot - #/: needed, base of stack - devssl - #D: !needed, ssl - eventually add - devtls - #a: !needed, tls - eventually add - devproc - #p: needed, /dev/proc, overlay any existing - devsrv - #s: !needed, eventually add - devtab - meta, needed - add/remove any devices that we add/remove, from here as well