]> rtime.felk.cvut.cz Git - arc.git/blobdiff - system/kernel/include/pcb.h
Isr almost done
[arc.git] / system / kernel / include / pcb.h
index 971624b38db201b8dbd83114b6254a62a71b8c17..872a33f1926e60d2d1f0bd3012285efdd62553f1 100644 (file)
@@ -26,6 +26,7 @@ struct OsTaskConst;
 #define ST_SUSPENDED           (1<<2)\r
 #define ST_RUNNING                     (1<<3)\r
 #define ST_NOT_STARTED         (1<<4)\r
+#define ST_SLEEPING            (1<<5)\r
 \r
 #define ST_ISR_RUNNING                 1\r
 #define ST_ISR_NOT_RUNNING             2\r
@@ -44,49 +45,6 @@ typedef sint8 OsPriorityType;
 #define TASK_NAME_SIZE         16\r
 \r
 \r
-/* STD container : OsIsr\r
- * Class: ALL\r
- *\r
- * OsIsrCategory:                              1    CATEGORY_1 or CATEGORY_2\r
- * OsIsrResourceRef:                   0..* Reference to OsResources\r
- * OsIsrTimingProtection[C]    0..1\r
- * */\r
-\r
-\r
-\r
-\r
-/* STD container : OsIsrResourceLock\r
- * Class: 2 and 4\r
- *\r
- * OsIsrResourceLockBudget     1    Float in seconds (MAXRESOURCELOCKINGTIME)\r
- * OsIsrResourceLockResourceRef 1    Ref to OsResource\r
- * */\r
-\r
-typedef struct OsIsrResourceLock {\r
-       uint32_t lockBudget;\r
-       uint32_t lockResourceRef;       /* Wrong type */\r
-} OsIsrResourceLockType;\r
-\r
-\r
-/* STD container : OsIsrTimingProtection\r
- * Class: 2 and 4\r
- *\r
- * OsIsrAllInterruptLockBudget  0..1 float\r
- * OsIsrExecutionBudget                0..1 float\r
- * OsIsrOsInterruptLockBudget  0..1 float\r
- * OsIsrTimeFrame                              0..1 float\r
- * OsIsrResourceLock[C]                0..*\r
- * */\r
-\r
-typedef struct OsIsrTimingProtection {\r
-       uint32_t allInterruptLockBudget;\r
-       uint32_t executionBudget;\r
-       uint32_t osInterruptLockBudget;\r
-       uint32_t timeFrame;\r
-       uint32_t resourceLock;          /* Wrong type */\r
-} OsIsrTimingProtectionType;\r
-\r
-\r
 \r
 /* STD container : OsHooks\r
  * OsErrorHooks:                       1\r
@@ -203,6 +161,10 @@ typedef struct OsTaskVar {
 \r
        /* TODO: Arch specific regs .. make space for them later...*/\r
        uint32_t        regs[16];                               // TASK\r
+#if defined(USE_KERNEL_EXTRA)\r
+       TAILQ_ENTRY(OsPcb) timerEntry;          // TASK\r
+       int32_t            timerDec;\r
+#endif\r
        /* List of PCB's */\r
 //     TAILQ_ENTRY(OsTaskVar) pcb_list;                // TASK\r
        /* ready list */\r