summaryrefslogtreecommitdiff
path: root/firmware/kernel.c
AgeCommit message (Collapse)Author
2007-03-23In reponse to a report of a blocking violation, give sync queues a going ↵Michael Sevakis
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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12895 a1c6a512-1295-4272-9138-f99709370657
2007-03-21Update sync queues to use a statically allocated return value in order to ↵Michael Sevakis
facilitate upcoming COP updates. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12881 a1c6a512-1295-4272-9138-f99709370657
2007-03-12Disable bootloader messages in the H10 and Sansa bootloaders unless the PLAY ↵Barry Wardell
(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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12742 a1c6a512-1295-4272-9138-f99709370657
2007-03-11Optimized the gui list code performance, including automatic frame dropping ↵Miika Pekkarinen
and cpu boosting when button events are getting queued. Improved scrollwheel acceleration code is needed to notice a real change. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12721 a1c6a512-1295-4272-9138-f99709370657
2007-03-09Put an end to priority inversion in the ata driver. Gave up trying to have ↵Michael Sevakis
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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12688 a1c6a512-1295-4272-9138-f99709370657
2007-03-04Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - ↵Daniel Ankers
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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2006-12-29merge a big part of the unofficial gigabeat cvs back. Includes working ↵Marcoen Hirschberg
bootloader and rockbox with audio. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11850 a1c6a512-1295-4272-9138-f99709370657
2006-12-19Convert queues to use intptr_t for event data and return values as most of ↵Michael Sevakis
the time pointer are not passed and it should make some things a bit cleaner. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11818 a1c6a512-1295-4272-9138-f99709370657
2006-12-16Add queue_send synchronous message sending. Right now only for SWCODEC. ↵Michael Sevakis
Actual usage to be added to playback and recording shortly in upcoming commits. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11776 a1c6a512-1295-4272-9138-f99709370657
2006-11-22Change if CONFIG_CPU==PP50XX to ifdef CPU_PP where appropriateDaniel Ankers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11569 a1c6a512-1295-4272-9138-f99709370657
2006-11-11Thread API enhancements.Brandon Low
1) block_thread -> block_thread + block_thread_w_tmo -- this call was always used in distinct ways so having one call with a conditional was ugly. 2) enhance Slasheri's scheduler controlled boost concept. now any thread may trigger a boost which will last until that thread next sleeps. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11509 a1c6a512-1295-4272-9138-f99709370657
2006-11-10Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11504 a1c6a512-1295-4272-9138-f99709370657
2006-10-19Patch #6052 - More responsive skip on ArchosLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11273 a1c6a512-1295-4272-9138-f99709370657
2006-09-16New scheduler, with priorities for swcodec platforms. Frequent taskMiika Pekkarinen
switching should be more efficient and tasks are stored in linked lists to eliminate unnecessary task switching to improve performance. Audio should no longer skip on swcodec targets caused by too CPU hungry UI thread or background threads. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
2006-09-01Fixed an off-by-one error in the portalplayer timer handling.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10837 a1c6a512-1295-4272-9138-f99709370657
2006-08-31Initial commit of work for port to the Tatung Elio TPJ-1022 - yet another ↵Dave Chapman
PortalPlayer PP5020 target. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10828 a1c6a512-1295-4272-9138-f99709370657
2006-08-12initial gigabeat bootloader (only test code)Marcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10536 a1c6a512-1295-4272-9138-f99709370657
2006-08-12update the gigabeat code and move to target_treeMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10535 a1c6a512-1295-4272-9138-f99709370657
2006-08-02better check for portalplayer targetsDaniel Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10407 a1c6a512-1295-4272-9138-f99709370657
2006-08-01added mostly dummy changes to allow building of a Sansa e200 bootloaderDaniel Stenberg
without functionality git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10399 a1c6a512-1295-4272-9138-f99709370657
2006-02-05Further iPod 3G work from Seven Le MesleDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8583 a1c6a512-1295-4272-9138-f99709370657
2006-01-24Removed PP5020_ prefix from register defines and added/renamed someThom Johansen
defines. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8438 a1c6a512-1295-4272-9138-f99709370657
2006-01-24Properly configurable tick timer for PP5020.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8437 a1c6a512-1295-4272-9138-f99709370657
2006-01-23Slightly safer version of queue_delete()Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8425 a1c6a512-1295-4272-9138-f99709370657
2006-01-23New kernel function, queue_delete(struct event_queue *q)Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8424 a1c6a512-1295-4272-9138-f99709370657
2006-01-12Work-in-progress iriver iFP-7xx port by Tomasz MalesinskiDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8342 a1c6a512-1295-4272-9138-f99709370657
2006-01-05iPod: Fix the bootloader so it can load and run the original Apple firmware ↵Dave Chapman
again. The Rockbox firmware was doing too much to the hardware so we remove most of the initialisation. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8301 a1c6a512-1295-4272-9138-f99709370657
2005-12-12Add interrupt handler for iPod. Add timer tick support. Remove temporary ↵Thom Johansen
thread sleep solution. Remove temporary iPod current_tick solution. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8224 a1c6a512-1295-4272-9138-f99709370657
2005-11-13First attempt at iPod threading.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7852 a1c6a512-1295-4272-9138-f99709370657
2005-11-12Use ICODE_ATTR instead of __attribute__ ((section(".icode")))Dave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7820 a1c6a512-1295-4272-9138-f99709370657
2005-11-11iPod: Code cleanup - the bootloader now compiles with zero warningsDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7812 a1c6a512-1295-4272-9138-f99709370657
2005-11-07Initial commit of work-in-progress iPod portDave Chapman
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7781 a1c6a512-1295-4272-9138-f99709370657
2005-11-05Fixup of the MCF5249 memory mapped register definitions.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7755 a1c6a512-1295-4272-9138-f99709370657
2005-10-03Coldfire: New timer handling on CPU frequency change, adjusting the ↵Jens Arnold
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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7576 a1c6a512-1295-4272-9138-f99709370657
2005-07-18Added CPU_COLDFIRE define - one step closer to iAudio-portChristian Gmeiner
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7186 a1c6a512-1295-4272-9138-f99709370657
2005-03-01Export tick_start() to allow for tick timer reinit when changing CPU frequencyLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6092 a1c6a512-1295-4272-9138-f99709370657
2005-02-25more long policyJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6065 a1c6a512-1295-4272-9138-f99709370657
2005-02-22Build cleanup and general fixes. fprintf() is now fdprintf(), the separationDaniel Stenberg
between uisimulator files and firmware/apps files are better done. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6031 a1c6a512-1295-4272-9138-f99709370657
2005-02-19GminiJean-Philippe Bernardy
* advances in the handling of the smsc chip * moved stuff to where it belongs git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6023 a1c6a512-1295-4272-9138-f99709370657
2005-02-19Gmini work:Jean-Philippe Bernardy
* Better USB * Better comments * Better coding style git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6022 a1c6a512-1295-4272-9138-f99709370657
2005-02-13Gmini keep alive implementedJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5938 a1c6a512-1295-4272-9138-f99709370657
2005-01-30long policyJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5716 a1c6a512-1295-4272-9138-f99709370657
2005-01-24More int -> longJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5654 a1c6a512-1295-4272-9138-f99709370657
2005-01-10Jean-Philippe Bernardy: minor correctionDaniel Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5558 a1c6a512-1295-4272-9138-f99709370657
2005-01-09Jean-Philippe Bernardy: ported to gmini120Daniel Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5545 a1c6a512-1295-4272-9138-f99709370657
2004-10-27Coldfire: System tick at 10msLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5367 a1c6a512-1295-4272-9138-f99709370657
2004-09-01Made queue_clear() atomic, and made the argument non-constLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5030 a1c6a512-1295-4272-9138-f99709370657
2004-09-01New kernel function: queue_clear()Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5029 a1c6a512-1295-4272-9138-f99709370657
2004-08-16Const policed pointer arguments to functions, part 1Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4995 a1c6a512-1295-4272-9138-f99709370657
2004-06-16remove extra ';'Daniel Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4754 a1c6a512-1295-4272-9138-f99709370657