From a9b2fb5ee3114fe835f6515b6aeae7454f66d821 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Tue, 16 Oct 2007 01:25:17 +0000 Subject: Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657 --- firmware/usb.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'firmware/usb.c') diff --git a/firmware/usb.c b/firmware/usb.c index af09aecff9..f79af98518 100644 --- a/firmware/usb.c +++ b/firmware/usb.c @@ -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; +static struct event_queue usb_queue NOCACHEBSS_ATTR; static int last_usb_status; static bool usb_monitor_enabled; @@ -119,7 +119,7 @@ static void usb_thread(void) { int num_acks_to_expect = -1; bool waiting_for_ack; - struct event ev; + struct queue_event ev; waiting_for_ack = false; @@ -307,9 +307,9 @@ void usb_init(void) #ifndef BOOTLOADER queue_init(&usb_queue, true); - create_thread(usb_thread, usb_stack, sizeof(usb_stack), + create_thread(usb_thread, usb_stack, sizeof(usb_stack), 0, usb_thread_name IF_PRIO(, PRIORITY_SYSTEM) - IF_COP(, CPU, false)); + IF_COP(, CPU)); tick_add_task(usb_tick); #endif @@ -318,7 +318,7 @@ void usb_init(void) void usb_wait_for_disconnect(struct event_queue *q) { - struct event ev; + struct queue_event ev; /* Don't return until we get SYS_USB_DISCONNECTED */ while(1) @@ -334,7 +334,7 @@ void usb_wait_for_disconnect(struct event_queue *q) int usb_wait_for_disconnect_w_tmo(struct event_queue *q, int ticks) { - struct event ev; + struct queue_event ev; /* Don't return until we get SYS_USB_DISCONNECTED or SYS_TIMEOUT */ while(1) -- cgit v1.2.3