hlfw.ca

drawcpu

ref: ed92e5c04403ed8f187510a1d6484df2a213c490
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?
 - [ ] Import our $objtype/bin and /rc from 9front instead of builtins, -f $9root
 - [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

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
 - devtab   - meta, needed - add/remove any devices that we add/remove, from here as well