summaryrefslogtreecommitdiff
path: root/firmware/export/thread.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-01-19 13:27:47 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-01-19 13:27:47 +0000
commit32a531b09bf05000048bb3e1cbc25556075e2334 (patch)
tree3f7ec134a2c2e23a9bf8d8f8755034947afdde66 /firmware/export/thread.h
parent2235c7e582f21789f4f881380a983cae1737bb37 (diff)
downloadrockbox-32a531b09bf05000048bb3e1cbc25556075e2334.tar.gz
rockbox-32a531b09bf05000048bb3e1cbc25556075e2334.zip
Do some simplification in switch_thread regarding interrupt enabling which simplifies kernel objects as well. Simply doing unconditional disable/enable should be fine in the firmware. Not sure about the case in the bootloader for all targets and so will evaluate but that should be fine too if everything is masked.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16107 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/thread.h')
-rw-r--r--firmware/export/thread.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/firmware/export/thread.h b/firmware/export/thread.h
index 0b1500cd99..dd97ab1e83 100644
--- a/firmware/export/thread.h
+++ b/firmware/export/thread.h
@@ -279,12 +279,10 @@ struct thread_entry
279#define TBOP_UNLOCK_CORELOCK 0x04 279#define TBOP_UNLOCK_CORELOCK 0x04
280#define TBOP_UNLOCK_THREAD 0x08 /* Unlock a thread's slot */ 280#define TBOP_UNLOCK_THREAD 0x08 /* Unlock a thread's slot */
281#define TBOP_UNLOCK_CURRENT 0x10 /* Unlock the current thread's slot */ 281#define TBOP_UNLOCK_CURRENT 0x10 /* Unlock the current thread's slot */
282#define TBOP_IRQ_LEVEL 0x20 /* Set a new irq level */ 282#define TBOP_SWITCH_CORE 0x20 /* Call the core switch preparation routine */
283#define TBOP_SWITCH_CORE 0x40 /* Call the core switch preparation routine */
284 283
285struct thread_blk_ops 284struct thread_blk_ops
286{ 285{
287 int irq_level; /* new IRQ level to set */
288#if CONFIG_CORELOCK != SW_CORELOCK 286#if CONFIG_CORELOCK != SW_CORELOCK
289 union 287 union
290 { 288 {
@@ -330,9 +328,6 @@ struct core_entry
330#if NUM_CORES > 1 328#if NUM_CORES > 1
331 struct thread_blk_ops blk_ops; /* operations to perform when 329 struct thread_blk_ops blk_ops; /* operations to perform when
332 blocking a thread */ 330 blocking a thread */
333#else
334 #define STAY_IRQ_LEVEL (-1)
335 int irq_level; /* sets the irq level to irq_level */
336#endif /* NUM_CORES */ 331#endif /* NUM_CORES */
337#ifdef HAVE_PRIORITY_SCHEDULING 332#ifdef HAVE_PRIORITY_SCHEDULING
338 unsigned char highest_priority; 333 unsigned char highest_priority;