aboutsummaryrefslogtreecommitdiff
path: root/PORTING
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2003-10-13 17:18:52 +0000
committerrsc <devnull@localhost>2003-10-13 17:18:52 +0000
commitf305dffb85432d58fd3bc3ce8d78371e652dd314 (patch)
tree0e5a868bf001b9828a598f21ad5bd1ce161d3ad6 /PORTING
parent67f1f37bd8bf7f95ae665edcf0aeacbed53f64fd (diff)
downloadplan9port-f305dffb85432d58fd3bc3ce8d78371e652dd314.tar.gz
plan9port-f305dffb85432d58fd3bc3ce8d78371e652dd314.tar.bz2
plan9port-f305dffb85432d58fd3bc3ce8d78371e652dd314.zip
Distribution notes.
Diffstat (limited to 'PORTING')
-rw-r--r--PORTING17
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.
+