]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - doc/abi/x86
Random stuff.
[polintos/scott/priv.git] / doc / abi / x86
index 7f3de369192025ad0570c4cac8880f7c94f05e0f..a095a79e4125886983eb8e6e2e919b28b965a404 100644 (file)
@@ -4,7 +4,7 @@ Out-of-Process Method Invocation:
    Caller:
       eax: pointer to parameter info block (PIB)
 
-      Call the 32-bit address stored at 0x7fff0000 to invoke the method.
+      Call 0x7fff0000 to invoke the method.
       
       Upon return:
       ebx, esi, edi, ebp, esp: preserved
@@ -18,34 +18,23 @@ Out-of-Process Method Invocation:
       ecx: may be clobbered
       
    Callee:
-      eax: pointer to PIB
-      edx: pointer to caller information struct, or NULL if not
-           requested
-      esp: NULL.
+      eax: object ID
+      edx: segment zero size
+      ecx: total size
+      ebx: method ID
+      esp, ebp, esi, edi: NULL.
 
-      Jump to the 32-bit address stored at 0x7fff0004 to return.
+      Jump to 0x7fff0080 to return.
       
       Upon return:
       eax: pointer to exception, or NULL if none
       edx: length of exception segment, if any
-      ebx, esi, edi, ebp, esp: may be clobbered
+      ebx, ecx, esi, edi, ebp, esp: may be clobbered
 
-Object registration:
-       eax: number of objects to register with initial refcount 1
-       edx: pointer to list of NewObject structs
+Other system calls:
+   eax, edx, ecx: syscall arguments.
        
-       Call the 32-bit address stored at 0x7fff0008.
-       
-       Upon return:
-       eax: pointer to exception, or NULL if none
-       edx: length of exception segment, if any
+   Call 0x7fff0000 + 0x80 * syscallnum
 
-GUID SHA-1 hash retrieval:
-       eax: object id
-       edx: 20-byte buffer
-       
-       Call the 32-bit address stored at 0x7fff000c.
-       
-       Upon return:
-       eax: pointer to exception, or NULL if none
-       edx: length of exception segment, if any
+   eax: return value
+   edx, ecx: may be clobbered