]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - doc/abi/x86
xfer to odin
[polintos/scott/priv.git] / doc / abi / x86
index c62911dd5b0213402c2cbafe94a45e74ada92e9a..805eb76a630f16fa019b67b3e493c509c7c9b799 100644 (file)
@@ -8,7 +8,7 @@ Out-of-Process Method Invocation:
       
       Upon return:
       ebx, esi, edi, ebp, esp: preserved
-      eax: pointer to exception, or NULL if none.
+      eax: pointer to exception, or NULL if none
            If there is an exception, the user part of the syscall
            function will search for an exception handling function
            that covers the calling address.  If none is found,
@@ -20,12 +20,32 @@ Out-of-Process Method Invocation:
    Callee:
       eax: pointer to PIB
       edx: pointer to caller information struct, or NULL if not
-           requested.
+           requested
       esp: NULL.
 
       Jump to the 32-bit address stored at 0x7fff0004 to return.
       
       Upon return:
-      eax: pointer to exception, or NULL if none.
+      eax: pointer to exception, or NULL if none
       edx: length of exception segment, if any
       ebx, 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
+       
+       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
+
+GUID hash retrieval:
+       eax: object id
+       edx: 16-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