ref: b35328f248cab12ae0760c237d1544842200510c
dir: /TODO/
TODO:
- [x] /env/fn# to init functions?
- [-] set up initial connection before handing over to an rc session, to set up binds and mounts?
- [ ] Set up $path with \#9/$objtype/bin and \#9/rc/bin
- [x] remove rc builtins aside from mount/bind
- [x] start.s in libmachdep for each posix-target, just do like tas.c
- investigate if we want to run this another way instead!
- [x] 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
Remove our rc, just add in all of our syscall intercepts properly.
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, /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
- devtls - #a: needed, tls
- devproc - #p: needed, /proc, overlay any existing
- devsrv - #s: !needed, eventually add
- devbin - #9: needed, just a path that can use PLAN9
- devtab - meta, needed - add/remove any devices that we add/remove, from here as well