25 #include <nucleus/synch.h>
26 #include <nucleus/heap.h>
30 #define H_PRIO XNSYNCH_PRIO
31 #define H_FIFO XNSYNCH_FIFO
33 #define H_MAPPABLE 0x200
34 #define H_SINGLE 0x400
35 #define H_SHARED (H_MAPPABLE|H_SINGLE)
36 #define H_NONCACHED 0x800
37 #define H_DMA32 0x1000
55 char name[XNOBJECT_NAME_LEN];
57 unsigned long phys_addr;
61 typedef struct rt_heap_placeholder {
67 } RT_HEAP_PLACEHOLDER;
69 #if defined(__KERNEL__) || defined(__XENO_SIM__)
73 #define XENO_HEAP_MAGIC 0x55550808
75 typedef struct rt_heap {
91 char name[XNOBJECT_NAME_LEN];
93 #ifdef CONFIG_XENO_OPT_PERVASIVE
99 #define rlink2heap(ln) container_of(ln, RT_HEAP, rlink)
109 #ifdef CONFIG_XENO_OPT_NATIVE_HEAP
111 int __native_heap_pkg_init(
void);
113 void __native_heap_pkg_cleanup(
void);
115 static inline void __native_heap_flush_rq(xnqueue_t *rq)
117 xeno_flush_rq_norelease(RT_HEAP, rq, heap);
120 int rt_heap_delete_inner(RT_HEAP *heap,
121 void __user *mapaddr);
125 #define __native_heap_pkg_init() ({ 0; })
126 #define __native_heap_pkg_cleanup() do { } while(0)
127 #define __native_heap_flush_rq(rq) do { } while(0)
137 typedef RT_HEAP_PLACEHOLDER RT_HEAP;