Next: 12.5 Exception Handlers
Up: (X86) Processor-specific Fluke Interface
Previous: 12.3 Thread System Calls
IPC parameter block:
0 Send buffer count
1 Send reference count
2 Receive buffer count
3 Receive reference count
4 Number of words in first buffer to send
8 Pointer to first buffer to send
12 Pointer to send buffer table
16 Pointer to send reference table
20 Number of words in first receive buffer
24 Pointer to first receive buffer
28 Pointer to receive buffer table
32 Pointer to receive reference table
- fluke_ipc_send
-
The first send buffer must be
at least the minimum message size (two words on the x86).
On entry:
- eax
- Port reference to invoke
- ebx
- Pointer to IPC parameter block
- ecx
- scratch
- edx
- scratch
- esi
- scratch
- edi
- scratch
- ebp
- scratch
On return:
- eax:0-15
- trash
- eax:16-23
- IPC status code
- eax:24-31
- 0
- ebx
- trash
- ecx
- trash
- edx
- trash
- esi
- trash
- edi
- trash
- ebp
- trash
- fluke_ipc_call
-
The first send and receive buffers must be
at least the minimum message size (two words on the x86).
On entry:
- eax
- Port reference to invoke
- ebx
- Pointer to IPC parameter block
- ecx
- scratch
- edx
- scratch
- esi
- scratch
- edi
- scratch
- ebp
- scratch
On return:
- al
- Receive buffer remainder count
- ah
- Receive reference remainder count
- hal
- IPC status code
- hah
- 0
- ebx
- trashed
- ecx
- Last receive buffer remainder word count
- edx
- trashed
- esi
- Minimum message word 0
- edi
- Minimum message word 1
- ebp
- trashed
- ipc_client_connect_send
-
On entry:
- eax
- Port reference to invoke
- ebx
- Pointer to IPC parameter block
- ecx
- scratch
- edx
- scratch
- esi
- scratch
- edi
- scratch
- ebp
- scratch
On return:
- al
- trash
- ah
- trash
- hal
- IPC status code
- hah
- 0
- ebx
- trash
- ecx
- Last send buffer remainder word count if status != 0
- edx
- trash
- esi
- trash
- edi
- trash
- ebp
- trash
- ipc_client_ack_send
-
- ipc_client_send
-
On entry:
- al
- Send buffer count
- ah
- Send reference count
- eal
- 0
- eah
- 0
- ebx
- unused
- ecx
- First send buffer word count
- edx
- Send reference table pointer
- esi
- First send buffer pointer
- edi
- Send buffer table pointer
- ebp
- unused
On return:
- al
- trash
- ah
- trash
- hal
- IPC status code
- hah
- 0
- ebx
- trash
- ecx
- trash
- edx
- trash
- esi
- trash
- edi
- trash
- ebp
- trash
- ipc_client_client_connect_send_over_receive
-
The first send and receive buffers must be
at least the minimum message size (two words on the x86).
On entry:
- eax
- Port reference to invoke
- ebx
- Pointer to IPC parameter block
- ecx
- scratch
- edx
- scratch
- esi
- scratch
- edi
- scratch
- ebp
- scratch
On return:
- al
- Receive buffer remainder count
- ah
- Receive reference remainder count
- hal
- IPC status code
- hah
- 0
- ebx
- trashed
- ecx
- Last receive buffer remainder word count
- edx
- trashed
- esi
- Minimum message word 0
- edi
- Minimum message word 1
- ebp
- trashed
- ipc_client_ack_send_over_receive
-
The first send and receive buffers must be
at least the minimum message size (two words on the x86).
- ipc_client_send_over_receive
-
The first receive buffer must be
at least the minimum message size (two words on the x86).
On entry:
- al
- Send buffer count
- ah
- Send reference count
- hal
- 0
- hah
- 0
- ebx
- Pointer to IPC parameter block for receive info
- ecx
- First send buffer word count
- edx
- Send reference table pointer
- esi
- First send buffer pointer
- edi
- Send buffer table pointer
- ebp
- unused
On return:
- al
- Receive buffer remainder count
- ah
- Receive reference remainder count
- hal
- IPC status code
- hah
- 0
- ebx
- trashed
- ecx
- Last receive buffer remainder word count
- edx
- trashed
- esi
- Minimum message word 0
- edi
- Minimum message word 1
- ebp
- trashed
- ipc_client_receive
-
On entry:
- al
- Receive buffer count
- ah
- Receive reference count
- hal
- 0
- hah
- 0
- ebx
- unused
- ecx
- First receive buffer word count
- edx
- Receive reference table pointer
- esi
- Receive buffer table pointer
- edi
- First receive buffer pointer
- ebp
- unused
On return:
- al
- Receive buffer remainder count
- ah
- Receive reference remainder count
- hal
- IPC status code
- hah
- 0
- ebx
- trashed
- ecx
- Last receive buffer remainder word count
- edx
- trashed
- esi
- Minimum message word 0
- edi
- Minimum message word 1
- ebp
- trashed
- ipc_server_ack_send
-
- ipc_server_send
-
On entry:
- al
- Send buffer count
- ah
- Send reference count
- hal
- 0
- hah
- 0
- ebx
- Pointer to IPC parameter block (for receive info)
- ecx
- First send buffer word count
- edx
- Send reference table pointer
- esi
- First send buffer pointer
- edi
- Send buffer table pointer
- ebp
- unused
On return:
- al
- trash
- ah
- trash
- hal
- IPC status code
- hah
- 0
- ebx
- trash
- ecx
- trash
- edx
- trash
- esi
- trash
- edi
- trash
- ebp
- trash
- ipc_server_ack_send_wait_receive
-
- ipc_server_send_wait_receive
-
On entry:
- al
- Send buffer count
- ah
- Send reference count
- hal
- 0
- hah
- 0
- ebx
- Pointer to IPC parameter block (for receive info)
- ecx
- First send buffer word count
- edx
- Send reference table pointer
- esi
- First send buffer pointer
- edi
- Send buffer table pointer
- ebp
- unused
On return:
- al
- Receive buffer remainder count
- ah
- Receive reference remainder count
- hal
- IPC status code
- hah
- 0
- ebx
- Alias from port through which connection was received
- ecx
- Last receive buffer remainder word count
- edx
- trashed
- esi
- Minimum message word 0
- edi
- Minimum message word 1
- ebp
- trashed
- ipc_wait_receive
-
On entry:
- al
- Receive buffer count
- ah
- Receive reference count
- hal
- 0
- hah
- 0
- ebx
- unused
- ecx
- First receive buffer word count
- edx
- Receive reference table pointer
- esi
- Receive buffer table pointer
- edi
- First receive buffer pointer
- ebp
- unused
On return:
- al
- Receive buffer remainder count
- ah
- Receive reference remainder count
- hal
- IPC status code
- hah
- 0
- ebx
- Alias from port through which connection was received
- ecx
- Last receive buffer remainder word count
- edx
- trashed
- esi
- Minimum message word 0
- edi
- Minimum message word 1
- ebp
- trashed
- ipc_server_receive
-
On entry:
- al
- Receive buffer count
- ah
- Receive reference count
- hal
- 0
- hah
- 0
- ebx
- unused
- ecx
- First receive buffer word count
- edx
- Receive reference table pointer
- esi
- Receive buffer table pointer
- edi
- First receive buffer pointer
- ebp
- unused
On return:
- al
- Receive buffer remainder count
- ah
- Receive reference remainder count
- hal
- IPC status code
- hah
- 0
- ebx
- preserved (for port alias)
- ecx
- Last receive buffer remainder word count
- edx
- trashed
- esi
- Minimum message word 0
- edi
- Minimum message word 1
- ebp
- trashed
- ipc_setup
-
On entry:
- eax
- Server port set to wait on
- ecx
- Initial server stack pointer
- edx
- Server entrypoint for one-way IPC
- esi
- Server entrypoint for idempotent IPC
- edi
- Server entrypoint for reliable IPC
On return:
- eax
- trashed
- ecx
- trashed
- edx
- trashed
- esi
- trashed
- edi
- trashed
Next: 12.5 Exception Handlers
Up: (X86) Processor-specific Fluke Interface
Previous: 12.3 Thread System Calls
Utah Flux Research Group