mirror of
https://github.com/drasko/codezero.git
synced 2026-01-14 11:53:15 +01:00
28 lines
846 B
C
28 lines
846 B
C
#ifndef __IPC_H__
|
|
#define __IPC_H__
|
|
|
|
#define L4_NILTHREAD 0xFFFFFFFF
|
|
#define L4_ANYTHREAD 0xFFFFFFFE
|
|
|
|
#define L4_IPC_TAG_MR_OFFSET 0
|
|
|
|
/* Pagefault */
|
|
#define L4_IPC_TAG_PFAULT 0
|
|
#define L4_IPC_TAG_UNDEF_FAULT 1
|
|
|
|
#define L4_IPC_FLAGS_TYPE_MASK 0x0000000F
|
|
#define L4_IPC_FLAGS_SHORT 0x00000000 /* Short IPC involves just primary message registers */
|
|
#define L4_IPC_FLAGS_FULL 0x00000001 /* Full IPC involves full UTCB copy */
|
|
#define L4_IPC_FLAGS_EXTENDED 0x00000002 /* Extended IPC can page-fault and copy up to 2KB */
|
|
|
|
/* Extended IPC extra fields */
|
|
#define L4_IPC_FLAGS_MSG_INDEX_MASK 0x00000FF0 /* Index of message register with buffer pointer */
|
|
#define L4_IPC_FLAGS_SIZE_MASK 0x0FFF0000
|
|
#define L4_IPC_FLAGS_SIZE_SHIFT 16
|
|
#define L4_IPC_FLAGS_MSG_INDEX_SHIFT 4
|
|
|
|
|
|
#define L4_IPC_EXTENDED_MAX_SIZE (SZ_1K*2)
|
|
|
|
#endif /* __IPC_H__ */
|