Moved generic ipc flags to api/ipc.h

This commit is contained in:
Bahadir Balban
2009-11-09 22:01:44 +02:00
parent 78917835c7
commit 8b12db741f
2 changed files with 27 additions and 28 deletions

View File

@@ -1,7 +1,6 @@
#ifndef __IPC_H__
#define __IPC_H__
#define L4_NILTHREAD 0xFFFFFFFF
#define L4_ANYTHREAD 0xFFFFFFFE
@@ -10,8 +9,35 @@
/* Pagefault */
#define L4_IPC_TAG_PFAULT 0
#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 */
#define L4_IPC_FLAGS_MSG_INDEX_MASK 0x00000FF0 /* Index of message register with buffer pointer */
#define L4_IPC_FLAGS_TYPE_MASK 0x0000000F
#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)
#if defined (__KERNEL__)
/* Kernel-only flags */
#define IPC_FLAGS_SHORT L4_IPC_FLAGS_SHORT
#define IPC_FLAGS_FULL L4_IPC_FLAGS_FULL
#define IPC_FLAGS_EXTENDED L4_IPC_FLAGS_EXTENDED
#define IPC_FLAGS_MSG_INDEX_MASK L4_IPC_FLAGS_MSG_INDEX_MASK
#define IPC_FLAGS_TYPE_MASK L4_IPC_FLAGS_TYPE_MASK
#define IPC_FLAGS_SIZE_MASK L4_IPC_FLAGS_SIZE_MASK
#define IPC_FLAGS_SIZE_SHIFT L4_IPC_FLAGS_SIZE_SHIFT
#define IPC_FLAGS_MSG_INDEX_SHIFT L4_IPC_FLAGS_MSG_INDEX_SHIFT
#define IPC_FLAGS_ERROR_MASK 0xF0000000
#define IPC_FLAGS_ERROR_SHIFT 28
#define IPC_EFAULT (1 << 28)
#define IPC_ENOIPC (1 << 29)
#define IPC_EXTENDED_MAX_SIZE L4_IPC_EXTENDED_MAX_SIZE
/*
* ipc syscall uses an ipc_type variable and send/recv
* details are embedded in this variable.

View File

@@ -73,17 +73,6 @@
#define MR0_REGISTER r3
#define MR_RETURN_REGISTER r3
#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 */
#define L4_IPC_FLAGS_MSG_INDEX_MASK 0x00000FF0 /* Index of message register with buffer pointer */
#define L4_IPC_FLAGS_TYPE_MASK 0x0000000F
#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)
/* Primaries aren't used for memcopy. Those ops use this as a parameter */
#define L4_UTCB_FULL_BUFFER_SIZE (MR_REST * sizeof(int))
@@ -91,22 +80,6 @@
#if defined (__KERNEL__)
/* Kernel-only flags */
#define IPC_FLAGS_SHORT L4_IPC_FLAGS_SHORT
#define IPC_FLAGS_FULL L4_IPC_FLAGS_FULL
#define IPC_FLAGS_EXTENDED L4_IPC_FLAGS_EXTENDED
#define IPC_FLAGS_MSG_INDEX_MASK L4_IPC_FLAGS_MSG_INDEX_MASK
#define IPC_FLAGS_TYPE_MASK L4_IPC_FLAGS_TYPE_MASK
#define IPC_FLAGS_SIZE_MASK L4_IPC_FLAGS_SIZE_MASK
#define IPC_FLAGS_SIZE_SHIFT L4_IPC_FLAGS_SIZE_SHIFT
#define IPC_FLAGS_MSG_INDEX_SHIFT L4_IPC_FLAGS_MSG_INDEX_SHIFT
#define IPC_FLAGS_ERROR_MASK 0xF0000000
#define IPC_FLAGS_ERROR_SHIFT 28
#define IPC_EFAULT (1 << 28)
#define IPC_ENOIPC (1 << 29)
#define IPC_EXTENDED_MAX_SIZE (SZ_1K*2)
struct utcb {
u32 mr[MR_TOTAL]; /* MRs that are mapped to real registers */
u32 saved_tag; /* Saved tag field for stacked ipcs */