summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/directories.txt11
-rw-r--r--doc/objects-requests.txt11
-rw-r--r--doc/syscalls.txt4
3 files changed, 26 insertions, 0 deletions
diff --git a/doc/directories.txt b/doc/directories.txt
new file mode 100644
index 0000000..b0adf7b
--- /dev/null
+++ b/doc/directories.txt
@@ -0,0 +1,11 @@
+This file explains all the directories of the source tree :
+
+doc documentation about the system
+mnt temporary folder for mounting disk images
+src source code
+src/include all includable headers to be used in userland
+src/include/gc Grapes Core (communication with the kernel) headers
+src/include/gm Grapes Modules headers
+src/kernel kernel source
+src/library source and linkable objects to be used by userland applications
+src/modules userland applications
diff --git a/doc/objects-requests.txt b/doc/objects-requests.txt
new file mode 100644
index 0000000..9169552
--- /dev/null
+++ b/doc/objects-requests.txt
@@ -0,0 +1,11 @@
+Requests are identified by a 32bit function number, composed as follows :
+ (8 bit) parameter and return type ; (24bit) function number
+
+the first 8 bits are :
+ 2bit answer type ; 2bit parameter a ; 2bit parameter b ; 2bit parameter c
+
+each two bit couple can be one of the following :
+- 00 : void
+- 01 : object descriptor number (will be copied with a new number to reciever)
+- 10 : integer
+- 11 : long long (replies), or shared memory offset (requests and messages)
diff --git a/doc/syscalls.txt b/doc/syscalls.txt
index baa537e..663618d 100644
--- a/doc/syscalls.txt
+++ b/doc/syscalls.txt
@@ -12,5 +12,9 @@ id=eax Name Parameters Description
5 thread_new ebx: entry point Creates a new thread
ecx: data pointer
6 irq_wait ebx: irq number Waits for an IRQ (requires privilege PL_DRIVER)
+ 7 proc_priv none Returns current process privilege level
+ 8 shm_create ebx: offset Create a shared memory segment at offset (ret = errcode)
+ ecx: length
+ 9 shm_delete ebx: offset Delete a shared memory segment at offset (ret = errcode)
If a processes wishes to exit with an error code, it HAS to use process_exit. thread_exit will do nothing.