- 6fac8fc Be sure to register a new mutex owner _before_ waking it. Won't be an issue now but would be with mutex recursion on one used for > 1 core where ownership transfer and cs entry/recursion are allowed to run in parallel (by design). TODO: Add true exchange to wakeup_thread but that's not really important for the time being. by Michael Sevakis · 17 years ago
- a9b2fb5 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. by Michael Sevakis · 17 years ago
- 18e87ff Stabilize PP5020 targets - tested on H10 5/20GB and iPod Color. Use no interrupts on COP but pulse it through the control interface. Don't mess with LCD clocking during clock changes. Give a reset register a name (DEV_OFF_MASK). by Michael Sevakis · 17 years ago
- 035529c Enable auto reply for queue messages sent with queue_send. It's only nescessary to use queue_reply to return a value other than zero or to return a result before waiting on the queue again. by Michael Sevakis · 17 years ago
- 7914e90 Commit a subset of the dual core changes that have to do with cache handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly. by Michael Sevakis · 17 years ago
- 590501c Merge the Gigabeat S branch back into trunk. Fingers crossed nothing breaks. by Will Robertson · 17 years ago
- e64f7e3 Add a new timeout API to the kernel. Enable only for e200 right now since it's the only user. Use that as the one-shot delay for SD card inserts. by Michael Sevakis · 18 years ago
- 4ae87c8 Gigabeat: Add timer functionality. Rework tick timer setup to be exactly 100Hz. Metronome should work now but some pcm changes are needed to have faster tocks work correctly (in the works). by Michael Sevakis · 18 years ago
- 60efd38 Gigabeat: Use vectored IRQ mode interrupts and add a trap for unhandled ones. by Michael Sevakis · 18 years ago
- 6bba70b current_tick really does need to be volatile since gcc can optimize away checking the value otherwise - found out the hard way. :) by Michael Sevakis · 18 years ago
- bfb281f Messages queues must be guarded on both ends or else it's a race between detecting a message present and missing a wakeup on thread about to wait. Keeping IRQs from interacting with the scheduler would be preferable but this should do at the moment. Add more detailed panic info regarding blocking violations so we know who. Make panicf function well enough on Gigabeat and PortalPlayer targets. Move the core sleep instructions into a CPU-specific inline to keep thing organized. by Michael Sevakis · 18 years ago
- 0b7bb31 Simplification, queue pointers don't wrap (except at INT_MAX, but the calculation is still correct in this case). Implemented queue_count() for the simulator. by Jens Arnold · 18 years ago
- 66258a3 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). by Miika Pekkarinen · 18 years ago
- 165f62d Fix a hole in the scheduler where collisions between waking blocked threads in mutexes with interrupts waking blocked threads in message queues can occur. Queue posts will put the threads on a separate list that is then added to the running list with IRQs disabled on the next task switch or CPU wakeup. Basically no overhead for other operations. Seems a likely cause of my occasional observation of the backlight fade causing playback threads to stop running and a recently reported blocking violation upon USB plugging. Time will tell but banging the backlight on and off frequently hasn't hiccuped again for me on H120. by Michael Sevakis · 18 years ago
- cd630c9 PNX0101 changes: by Tomasz Malesinski · 18 years ago
- 6d87513 In reponse to a report of a blocking violation, give sync queues a going over and catch any old, obscure leftover issues. A couple spots needed interrupt stopage where there could be confict if an IRQ post wakes a waiting thread because the queue is overflowing. There does appear to be an issue with wakeup_thread, interrupts and running list modification in general. by Michael Sevakis · 18 years ago
- 0caf3b8 Update sync queues to use a statically allocated return value in order to facilitate upcoming COP updates. by Michael Sevakis · 18 years ago
- 2370998 Disable bootloader messages in the H10 and Sansa bootloaders unless the PLAY (on H10) or RIGHT (on Sansa) button is being held. Messages are still displayed if an error occurs. This has already been implemented for iPod bootloaders, but still needs implementing for the other bootloaders. by Barry Wardell · 18 years ago
- 2eefb5a Optimized the gui list code performance, including automatic frame dropping and cpu boosting when button events are getting queued. Improved scrollwheel acceleration code is needed to notice a real change. by Miika Pekkarinen · 18 years ago
- dee43ec Put an end to priority inversion in the ata driver. Gave up trying to have fully atomic dual use mutexes so just replaced the ata driver locking with spins. Maybe I'll have better luck later. Things should run smoothly with database updates and such happening in the background. by Michael Sevakis · 18 years ago
- 82f9056 Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly. by Daniel Ankers · 18 years ago
- 2953676 merge a big part of the unofficial gigabeat cvs back. Includes working bootloader and rockbox with audio. by Marcoen Hirschberg · 18 years ago
- 4b90267 Convert queues to use intptr_t for event data and return values as most of the time pointer are not passed and it should make some things a bit cleaner. by Michael Sevakis · 18 years ago
- 43c1592 Add queue_send synchronous message sending. Right now only for SWCODEC. Actual usage to be added to playback and recording shortly in upcoming commits. by Michael Sevakis · 18 years ago
- 242cbd5 Change if CONFIG_CPU==PP50XX to ifdef CPU_PP where appropriate by Daniel Ankers · 18 years ago
- 8a82892 Thread API enhancements. by Brandon Low · 18 years ago
- 780f79e Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately. by Jens Arnold · 18 years ago
- 4950b55 Patch #6052 - More responsive skip on Archos by Linus Nielsen Feltzing · 18 years ago
- a85044b New scheduler, with priorities for swcodec platforms. Frequent task by Miika Pekkarinen · 18 years ago
- 1bb8657 Fixed an off-by-one error in the portalplayer timer handling. by Jens Arnold · 18 years ago
- 657dcb5 Initial commit of work for port to the Tatung Elio TPJ-1022 - yet another PortalPlayer PP5020 target. by Dave Chapman · 18 years ago
- 0a06824 initial gigabeat bootloader (only test code) by Marcoen Hirschberg · 19 years ago
- dd75488 update the gigabeat code and move to target_tree by Marcoen Hirschberg · 19 years ago
- 6a8aebb better check for portalplayer targets by Daniel Stenberg · 19 years ago
- 0fc30d1 added mostly dummy changes to allow building of a Sansa e200 bootloader by Daniel Stenberg · 19 years ago
- 987879b Further iPod 3G work from Seven Le Mesle by Dave Chapman · 19 years ago
- 22e6c02 Removed PP5020_ prefix from register defines and added/renamed some defines. by Thom Johansen · 19 years ago
- 289ec01 Properly configurable tick timer for PP5020. by Thom Johansen · 19 years ago
- dacc6f3 Slightly safer version of queue_delete() by Linus Nielsen Feltzing · 19 years ago
- 765e0f8 New kernel function, queue_delete(struct event_queue *q) by Linus Nielsen Feltzing · 19 years ago
- d83e929 Work-in-progress iriver iFP-7xx port by Tomasz Malesinski by Dave Chapman · 19 years ago
- cb7e695 iPod: Fix the bootloader so it can load and run the original Apple firmware again. The Rockbox firmware was doing too much to the hardware so we remove most of the initialisation. by Dave Chapman · 19 years ago
- 544b03c Add interrupt handler for iPod. Add timer tick support. Remove temporary thread sleep solution. Remove temporary iPod current_tick solution. by Thom Johansen · 19 years ago
- 52e91de First attempt at iPod threading. by Thom Johansen · 19 years ago
- 622f933 Use ICODE_ATTR instead of __attribute__ ((section(".icode"))) by Dave Chapman · 19 years ago
- d31a32c iPod: Code cleanup - the bootloader now compiles with zero warnings by Dave Chapman · 19 years ago
- 77372d1 Initial commit of work-in-progress iPod port by Dave Chapman · 19 years ago
- 72f9878 Fixup of the MCF5249 memory mapped register definitions. by Jens Arnold · 19 years ago
- cfb073c Coldfire: New timer handling on CPU frequency change, adjusting the prescaler on the fly, for both tick and user timer. Precondition is that the higher frequencies are integer multiples of the base: now NORMAL is 45 MHz and MAX is 124 MHz. Removes the need for applications with longer timer periods (>= 10 ms) to boost the CPU all the time, e.g. the grayscale lib. Timer counts are now always based on the base frequency (CPU_FREQ). * Adjusted the RAM refresh timers to the new frequencies (all frequencies for H100) * All: Fixed the tick timer count being off by one. by Jens Arnold · 19 years ago
- c6ff1f5 Added CPU_COLDFIRE define - one step closer to iAudio-port by Christian Gmeiner · 20 years ago
- 76620fb Export tick_start() to allow for tick timer reinit when changing CPU frequency by Linus Nielsen Feltzing · 20 years ago
- fc19445 more long policy by Jean-Philippe Bernardy · 20 years ago
- 22b7701 Build cleanup and general fixes. fprintf() is now fdprintf(), the separation by Daniel Stenberg · 20 years ago
- a3ed6e9 Gmini by Jean-Philippe Bernardy · 20 years ago
- 8ec0577 Gmini work: * Better USB * Better comments * Better coding style by Jean-Philippe Bernardy · 20 years ago
- 3f818ac Gmini keep alive implemented by Jean-Philippe Bernardy · 20 years ago
- 8a77317 long policy by Jean-Philippe Bernardy · 20 years ago
- 34d2a71 More int -> long by Jean-Philippe Bernardy · 20 years ago
- 01c484c Jean-Philippe Bernardy: minor correction by Daniel Stenberg · 20 years ago
- fe79cd8 Jean-Philippe Bernardy: ported to gmini120 by Daniel Stenberg · 20 years ago
- 9c4423f Coldfire: System tick at 10ms by Linus Nielsen Feltzing · 20 years ago
- cc05528 Made queue_clear() atomic, and made the argument non-const by Linus Nielsen Feltzing · 20 years ago
- 9872fea New kernel function: queue_clear() by Linus Nielsen Feltzing · 20 years ago
- c76c568 Const policed pointer arguments to functions, part 1 by Jens Arnold · 20 years ago
- 7ba7ffd remove extra ';' by Daniel Stenberg · 21 years ago
- 111a972 Made set_irq_level() an inline function, and optimized it by removing the bit shifts by Linus Nielsen Feltzing · 21 years ago
- f9c780c The cli()/sti() functions are not safe. We should have removed them long ago. by Linus Nielsen Feltzing · 21 years ago
- c4d8d97 The power-saving SLEEP patch by Simon Elén. by Björn Stenberg · 22 years ago
- c3fd67c Killed a dozen global variables by Björn Stenberg · 22 years ago
- 88098be Enable status bar in usb mode. by Markus Braun · 22 years ago
- 9f1c82e More accurate tick period calculation by Linus Nielsen Feltzing · 22 years ago
- 1f4613d sleep() and queue_wait() moved to internal RAM by Linus Nielsen Feltzing · 23 years ago
- 5421181 Added panicf() call in tick_add_task() by Linus Nielsen Feltzing · 23 years ago
- 2a73cec Added queue_broadcast() by Linus Nielsen Feltzing · 23 years ago
- 9430a0b Added init_threads function by Linus Nielsen Feltzing · 23 years ago
- 80f8b22 Clarified the mutex code, renamed the NUM_TICK_TASKS macro by Linus Nielsen Feltzing · 23 years ago
- 150c5a7 Moved NUM_TICK_TASKS definition by Linus Nielsen Feltzing · 23 years ago
- 29f8028 Added queue_empty() by Björn Stenberg · 23 years ago
- 7361340 Changed queue API. Added mutex functions by Linus Nielsen Feltzing · 23 years ago
- e48a45a The set_irq_level function was braindead by Linus Nielsen Feltzing · 23 years ago
- b7104fc Made set_irq_level() and queue_post() interrupt safe by Linus Nielsen Feltzing · 23 years ago
- 48d38d9 sleep() always sleeps at least one tick by Linus Nielsen Feltzing · 23 years ago
- 9566349 tick_start() now uses HZ by Linus Nielsen Feltzing · 23 years ago
- 9e142da Added tick and interrupt level functions by Linus Nielsen Feltzing · 23 years ago
- bd2561d Added queue handling stuff - NOT INTERRUPT SAFE by Linus Nielsen Feltzing · 23 years ago
- 7b9581a Not yet working by Linus Nielsen Feltzing · 23 years ago
- 1acfd6b Alan's ATA code, or what's left of it after I have laid my grubby little hands by Björn Stenberg · 23 years ago