]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - doc/abi/x86
Change x86 syscalls to direct branches, and define abi for additional syscalls.
[polintos/scott/priv.git] / doc / abi / x86
index 1f9dbef6a1c6ea93e3bd70ce6f65f4e8ee9f2d5c..7a11bd11a47a813b1a6962e25d1953da52ff9563 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
@@ -13,7 +13,7 @@ Out-of-Process Method Invocation:
            function will search for an exception handling function
            that covers the calling address.  If none is found,
            it will assume that it is a language without exception
-           handling, and return the exception to the caller in eax.
+           handling, an5Ad return the exception to the caller in eax.
       edx: length of exception segment, if any
       ecx: may be clobbered
       
@@ -23,9 +23,17 @@ Out-of-Process Method Invocation:
            requested
       esp: 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
+
+Other system calls:
+       eax, edx, ecx: syscall arguments.
+       
+       Call 0x7fff0000 + 0x80 * syscallnum
+
+       eax: return value
+       edx, ecx: may be clobbered