+/**************************************************************** \r
+ * COMMON.H\r
+ * Creator: lschor, 2008-10-30\r
+ * Description: Specifies some structs and Constants for the CBE-DOL-Implementation\r
+ * \r
+ * Revision: \r
+ * - 2008-10-30: Created\r
+ */\r
+\r
+#ifndef _COMMON_H_\r
+#define _COMMON_H_\r
+\r
+#include "dol.h"\r
+#include "lib/constant.h"\r
+\r
+#define SPE_WRITE_DEMAND 0\r
+#define SPE_READ_DEMAND 1\r
+#define SPE_WRITE_SUC 2\r
+#define SPE_READ_SUC 3\r
+#define SPE_DETACH 4\r
+\r
+// the context that PPE forward to SPE\r
+typedef struct{\r
+ uint64_t port_id;\r
+ uint64_t port_queue_id; \r
+\r
+ uint64_t processName; // Address for the name of the process\r
+ uint64_t processNameLen; // Len of the process Name\r
+\r
+ uint32_t number_of_ports; \r
+ uint32_t is_detached; \r
+ uint32_t padd[2]; // dummy - for alignment --> It always has to be a multiple of 128 bit! \r
+} parm_context; // aligned to 16B \r
+\r
+typedef struct{\r
+ uint32_t d; \r
+ uint32_t padd[31]; //padd to cache line\r
+} status_s;\r
+\r
+\r
+// Round a number ot the right DMA number --> Is used for DMA transfers\r
+uint32_t roundDMA(uint32_t number)\r
+{\r
+ if (number > 16)\r
+ return number + 16 - (number % 16);\r
+ else if (number > 8)\r
+ return 16; \r
+ else if (number > 4)\r
+ return 8; \r
+ else if (number > 2)\r
+ return 4; \r
+ else if (number > 1)\r
+ return 2; \r
+ else \r
+ return 1; \r
+}\r
+\r
+#endif // _COMMON_H_ \r
+\r