diff options
Diffstat (limited to 'PORTING')
-rw-r--r-- | PORTING | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/PORTING b/PORTING new file mode 100644 index 00000000..ddb94b99 --- /dev/null +++ b/PORTING @@ -0,0 +1,17 @@ +[Need to write better notes.] + +Look for files named *386* or *FreeBSD* and you'll see what +you need to implement for your architecture of choice. + +The hardest thing is probably the assembly routines: +src/lib9/tas-$SYSTYPE.s and src/libthread/asm-$SYSTYPE-$OBJTYPE.s. +The former is a test and set used to implement shared-memory +spin locks. The latter is a stripped down setjmp and longjmp +used to implement stack switching in the thread library. +Also, src/libthread/$OBJTYPE.c needs to know how to set up a stack +frame for the given object type. + +If you're only interested in mk and sam, you don't need to +write any assembly to do a port. Samterm requires everything +though, since it uses libthread. + |