X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=doc%2Fabi%2Fx86;h=a095a79e4125886983eb8e6e2e919b28b965a404;hp=1f9dbef6a1c6ea93e3bd70ce6f65f4e8ee9f2d5c;hb=139f54779f6395a1828261423cd8013ca940ff36;hpb=b024710fe2b60cd4a42a8993b61333d6cdb56ca3 diff --git a/doc/abi/x86 b/doc/abi/x86 index 1f9dbef..a095a79 100644 --- a/doc/abi/x86 +++ b/doc/abi/x86 @@ -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,14 +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 + +Other system calls: + eax, edx, ecx: syscall arguments. + + Call 0x7fff0000 + 0x80 * syscallnum + + eax: return value + edx, ecx: may be clobbered