Go to the source code of this file.
|
| static int | svm_fifo_lock (svm_fifo_t *f, u32 pid, u32 tag, int nowait) |
| |
| static void | svm_fifo_unlock (svm_fifo_t *f) |
| |
| static u32 | svm_fifo_max_dequeue (svm_fifo_t *f) |
| |
| static u32 | svm_fifo_max_enqueue (svm_fifo_t *f) |
| |
| static u8 | svm_fifo_has_ooo_data (svm_fifo_t *f) |
| |
| svm_fifo_t * | svm_fifo_create (u32 data_size_in_bytes) |
| | create an svm fifo, in the current heap. More...
|
| |
| int | svm_fifo_enqueue_nowait (svm_fifo_t *f, int pid, u32 max_bytes, u8 *copy_from_here) |
| |
| int | svm_fifo_enqueue_with_offset (svm_fifo_t *f, int pid, u32 offset, u32 required_bytes, u8 *copy_from_here) |
| |
| int | svm_fifo_dequeue_nowait (svm_fifo_t *f, int pid, u32 max_bytes, u8 *copy_here) |
| |
| int | svm_fifo_peek (svm_fifo_t *f, int pid, u32 offset, u32 max_bytes, u8 *copy_here) |
| |
| int | svm_fifo_dequeue_drop (svm_fifo_t *f, int pid, u32 max_bytes) |
| |
| static ooo_segment_t * | svm_fifo_newest_ooo_segment (svm_fifo_t *f) |
| |
| static u32 | ooo_segment_offset (svm_fifo_t *f, ooo_segment_t *s) |
| |
| static u32 | ooo_segment_end_offset (svm_fifo_t *f, ooo_segment_t *s) |
| |
| #define OOO_SEGMENT_INVALID_INDEX ((u32)~0) |
| Enumerator |
|---|
| SVM_FIFO_TAG_NOT_HELD |
|
| SVM_FIFO_TAG_DEQUEUE |
|
| SVM_FIFO_TAG_ENQUEUE |
|
Definition at line 26 of file svm_fifo.h.
create an svm fifo, in the current heap.
Fails vs blow up the process
Definition at line 20 of file svm_fifo.c.
| int svm_fifo_dequeue_drop |
( |
svm_fifo_t * |
f, |
|
|
int |
pid, |
|
|
u32 |
max_bytes |
|
) |
| |
| int svm_fifo_dequeue_nowait |
( |
svm_fifo_t * |
f, |
|
|
int |
pid, |
|
|
u32 |
max_bytes, |
|
|
u8 * |
copy_here |
|
) |
| |
| int svm_fifo_enqueue_nowait |
( |
svm_fifo_t * |
f, |
|
|
int |
pid, |
|
|
u32 |
max_bytes, |
|
|
u8 * |
copy_from_here |
|
) |
| |
| int svm_fifo_enqueue_with_offset |
( |
svm_fifo_t * |
f, |
|
|
int |
pid, |
|
|
u32 |
offset, |
|
|
u32 |
required_bytes, |
|
|
u8 * |
copy_from_here |
|
) |
| |