hlfw.ca

drawcpu

ref: 1e20174e3d54631d81b0ab310bef356e01179ad5
dir: /TODO/

View raw version
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?
       This can be done in rcmain, mount in the namespace below drawcpu, then mount it in
 - [ ] Import our $objtype/bin and /rc from 9front instead of builtins as #9
 - [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!
 - [ ] 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, /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
 - 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