forked from len0rd/rockbox
Take out some NOCACHEBSS_ATTR's that were accidentally left. Put some threading code in IRAM that should be there on PP502x.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15155 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
28936603be
commit
84f5c5c3e3
8 changed files with 17 additions and 10 deletions
|
@ -88,7 +88,7 @@
|
|||
|
||||
#ifndef __PCTOOL__
|
||||
/* Tag Cache thread. */
|
||||
static struct event_queue tagcache_queue NOCACHEBSS_ATTR;
|
||||
static struct event_queue tagcache_queue;
|
||||
static long tagcache_stack[(DEFAULT_STACK_SIZE + 0x4000)/sizeof(long)];
|
||||
static const char tagcache_thread_name[] = "tagcache";
|
||||
#endif
|
||||
|
@ -152,7 +152,7 @@ struct tagcache_command_entry {
|
|||
static struct tagcache_command_entry command_queue[TAGCACHE_COMMAND_QUEUE_LENGTH];
|
||||
static volatile int command_queue_widx = 0;
|
||||
static volatile int command_queue_ridx = 0;
|
||||
static struct mutex command_queue_mutex NOCACHEBSS_ATTR;
|
||||
static struct mutex command_queue_mutex;
|
||||
/* Timestamp of the last added event, so we can wait a bit before committing the
|
||||
* whole queue at once. */
|
||||
static long command_queue_timestamp = 0;
|
||||
|
|
|
@ -95,7 +95,7 @@ const signed char backlight_timeout_value[19] =
|
|||
static void backlight_thread(void);
|
||||
static long backlight_stack[DEFAULT_STACK_SIZE/sizeof(long)];
|
||||
static const char backlight_thread_name[] = "backlight";
|
||||
static struct event_queue backlight_queue NOCACHEBSS_ATTR;
|
||||
static struct event_queue backlight_queue;
|
||||
|
||||
static int backlight_timer;
|
||||
static int backlight_timeout;
|
||||
|
|
|
@ -62,7 +62,7 @@ static unsigned long reserve_used = 0;
|
|||
static unsigned int cache_build_ticks = 0;
|
||||
static char dircache_cur_path[MAX_PATH*2];
|
||||
|
||||
static struct event_queue dircache_queue NOCACHEBSS_ATTR;
|
||||
static struct event_queue dircache_queue;
|
||||
static long dircache_stack[(DEFAULT_STACK_SIZE + 0x900)/sizeof(long)];
|
||||
static const char dircache_thread_name[] = "dircache";
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ static bool lba48 = false; /* set for 48 bit addressing */
|
|||
#endif
|
||||
static long ata_stack[(DEFAULT_STACK_SIZE*3)/sizeof(long)];
|
||||
static const char ata_thread_name[] = "ata";
|
||||
static struct event_queue ata_queue NOCACHEBSS_ATTR;
|
||||
static struct event_queue ata_queue;
|
||||
static bool initialized = false;
|
||||
|
||||
static long last_user_activity = -1;
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
#define MAX_EVENT_AGE HZ
|
||||
#endif
|
||||
|
||||
struct event_queue button_queue NOCACHEBSS_ATTR;
|
||||
struct event_queue button_queue;
|
||||
|
||||
static long lastbtn; /* Last valid button status */
|
||||
static long last_read; /* Last button status, for debouncing/filtering */
|
||||
|
|
|
@ -46,7 +46,7 @@ struct scrollinfo lcd_scroll[LCD_SCROLLABLE_LINES];
|
|||
|
||||
#ifdef HAVE_REMOTE_LCD
|
||||
struct scrollinfo lcd_remote_scroll[LCD_REMOTE_SCROLLABLE_LINES];
|
||||
struct event_queue scroll_queue NOCACHEBSS_ATTR;
|
||||
struct event_queue scroll_queue;
|
||||
#endif
|
||||
|
||||
struct scroll_screen_info lcd_scroll_info =
|
||||
|
|
|
@ -387,6 +387,13 @@ void corelock_unlock(struct corelock *cl)
|
|||
|
||||
#endif /* CONFIG_CORELOCK == SW_CORELOCK */
|
||||
|
||||
#ifdef CPU_PP502x
|
||||
/* Some code relies on timing */
|
||||
void switch_thread(struct thread_entry *old) ICODE_ATTR;
|
||||
void core_wake(IF_COP_VOID(unsigned int othercore)) ICODE_ATTR;
|
||||
void core_idle(void) ICODE_ATTR;
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Put core in a power-saving state if waking list wasn't repopulated and if
|
||||
* no other core requested a wakeup for it to perform a task.
|
||||
|
@ -405,7 +412,7 @@ static inline void core_sleep(IF_COP(unsigned int core,) struct thread_entry **w
|
|||
"ldr r0, [%[w]] \n" /* Check *waking */
|
||||
"cmp r0, #0 \n" /* != NULL -> exit */
|
||||
"bne 1f \n"
|
||||
/* ------ fixed-time sequence ----- */
|
||||
/* ------ fixed-time sequence ----- */ /* Can this be relied upon? */
|
||||
"ldr r0, [%[ms], %[oc], lsl #2] \n" /* Stay-awake requested? */
|
||||
"mov r1, #0x80000000 \n"
|
||||
"tst r0, #1 \n"
|
||||
|
@ -453,7 +460,7 @@ void core_wake(IF_COP_VOID(unsigned int othercore))
|
|||
"orr r1, r2, #0xc0 \n"
|
||||
"msr cpsr_c, r1 \n"
|
||||
"mov r1, #1 \n"
|
||||
/* ------ fixed-time sequence ----- */
|
||||
/* ------ fixed-time sequence ----- */ /* Can this be relied upon? */
|
||||
"str r1, [%[ms], %[oc], lsl #2] \n" /* Send stay-awake message */
|
||||
"nop \n"
|
||||
"nop \n"
|
||||
|
|
|
@ -66,7 +66,7 @@ static int usb_mmc_countdown = 0;
|
|||
static long usb_stack[(DEFAULT_STACK_SIZE + 0x800)/sizeof(long)];
|
||||
static const char usb_thread_name[] = "usb";
|
||||
#endif
|
||||
static struct event_queue usb_queue NOCACHEBSS_ATTR;
|
||||
static struct event_queue usb_queue;
|
||||
static int last_usb_status;
|
||||
static bool usb_monitor_enabled;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue