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=805eb76a630f16fa019b67b3e493c509c7c9b799;hb=139f54779f6395a1828261423cd8013ca940ff36;hpb=d32da4b91b9a403ae9d65c48fbb25c1abbb5083f diff --git a/doc/abi/x86 b/doc/abi/x86 index 805eb76..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,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 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 + eax: return value + edx, ecx: may be clobbered