From 66258a30a407e7ea4600fc2242438ecbd084d5ea Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Mon, 26 Mar 2007 16:55:17 +0000 Subject: Make scheduler functions thread safe core wise. A big step towards playback running on COP (not yet possible because more protection on file system level is necessary). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12926 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/kernel.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'firmware/export/kernel.h') diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h index 1d27fed..a77ca31 100644 --- a/firmware/export/kernel.h +++ b/firmware/export/kernel.h @@ -73,6 +73,9 @@ struct event_queue struct thread_entry *thread; unsigned int read; unsigned int write; +#if NUM_CORES > 1 + bool irq_safe; +#endif #ifdef HAVE_EXTENDED_MESSAGING_AND_NAME struct queue_sender_list *send; #endif @@ -105,6 +108,11 @@ int tick_add_task(void (*f)(void)); int tick_remove_task(void (*f)(void)); extern void queue_init(struct event_queue *q, bool register_queue); +#if NUM_CORES > 1 +extern void queue_set_irq_safe(struct event_queue *q, bool state); +#else +#define queue_set_irq_safe(q,state) +#endif extern void queue_delete(struct event_queue *q); extern void queue_wait(struct event_queue *q, struct event *ev); extern void queue_wait_w_tmo(struct event_queue *q, struct event *ev, int ticks); -- cgit v1.1