summaryrefslogtreecommitdiff
path: root/firmware/thread.c
AgeCommit message (Collapse)Author
2006-09-23Fix profiling builds.Magnus Holmgren
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11034 a1c6a512-1295-4272-9138-f99709370657
2006-09-16Don't remove the thread twice.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10960 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-02Cleanup threads.c by moving declarations inside structs.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10853 a1c6a512-1295-4272-9138-f99709370657
2006-08-24Fix profile buildsDaniel Ankers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10734 a1c6a512-1295-4272-9138-f99709370657
2006-08-21Threading changes in preparation for multiple core supportDaniel Ankers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10681 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-02-08Sleep PP5020 CPU on idle.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8632 a1c6a512-1295-4272-9138-f99709370657
2006-01-31ARM: r12 is scratch, so don't save it.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8505 a1c6a512-1295-4272-9138-f99709370657
2006-01-18Profiling support, tools and documentation.Brandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 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
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-12-10Make threading code for iPod compile on all ARM CPUs, comment out sleep loop ↵Thom Johansen
until we have iPod interrupts. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8214 a1c6a512-1295-4272-9138-f99709370657
2005-11-15Shave off an instruction by use of conditionals.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7896 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-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-10-19Two new sections for IRAM usage: .irodata (selectable with the ICONST_ATTR ↵Jens Arnold
attribute macro), allowing to put 'const' data into IRAM without causing a section type conflict, and .ibss (selectable with the IBSS_ATTR attribute macro) for uninitialised data. * Rockbox core: Adjusted the linker scripts and init code to not include the .ibss section in the binary, it is cleared instead. Saves ~500 bytes on archos and ~30KB on iriver. Codecs and plugins don't handle .ibss in a special way yet. * The init code properly handles empty sections now (except .stack, which should never be empty). * Unified the init code for SH1 and coldfire a bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7644 a1c6a512-1295-4272-9138-f99709370657
2005-09-01Coldfire: Made the MACSR register part of the thread context to allow easier ↵Jens Arnold
handling in the codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7445 a1c6a512-1295-4272-9138-f99709370657
2005-08-26SH1: Tiny optimisation of the thread scheduler.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7406 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-07-12Removed picky warningsLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7116 a1c6a512-1295-4272-9138-f99709370657
2005-06-10Thread scheduler reworked to be less dependent on compiler behaviour. Stack ↵Jens Arnold
overflow check is now possible on coldfire, enabled it. Unified code as much as possible. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6665 a1c6a512-1295-4272-9138-f99709370657
2005-05-23Make sure the context functions are always inlined, independent of ↵Jens Arnold
optimisation level. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6512 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-13Feature conditional compilation policyJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5940 a1c6a512-1295-4272-9138-f99709370657
2005-02-13Feature conditional compilation policyJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5939 a1c6a512-1295-4272-9138-f99709370657
2005-01-24more int -> longJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5656 a1c6a512-1295-4272-9138-f99709370657
2005-01-24Oops, deadbeef is unsignedJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5653 a1c6a512-1295-4272-9138-f99709370657
2005-01-24Gmini threadingJean-Philippe Bernardy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5652 a1c6a512-1295-4272-9138-f99709370657
2004-10-15Threading ported to ColdfireLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5280 a1c6a512-1295-4272-9138-f99709370657
2004-10-13MACH, MACL and SR are no longer part of the SH1 thread contextLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5268 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-08-03More const policeing step 4Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4983 a1c6a512-1295-4272-9138-f99709370657
2004-08-03More const policeing step 3Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4982 a1c6a512-1295-4272-9138-f99709370657
2004-06-22switch_thread() now checks the stack of the current thread instead of the ↵Linus Nielsen Feltzing
next, to report stack errors sooner. I removed some TAB chars in the process. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4792 a1c6a512-1295-4272-9138-f99709370657
2004-06-22remove_tread() -> remove_thread()Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4788 a1c6a512-1295-4272-9138-f99709370657
2004-05-01updated remove_thread(), should cover Linus' hintsJörg Hohensohn
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4570 a1c6a512-1295-4272-9138-f99709370657
2004-04-30remove_thread() function added, for future dynamic thread creation by pluginsJörg Hohensohn
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4562 a1c6a512-1295-4272-9138-f99709370657
2003-03-12Removed CPU Sleep setting. It's now permanently enabled.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3434 a1c6a512-1295-4272-9138-f99709370657
2003-02-14The power-saving SLEEP patch by Simon Elén.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3259 a1c6a512-1295-4272-9138-f99709370657
2002-08-01Moved switch_thread() and the thread context data to internal RAMLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1500 a1c6a512-1295-4272-9138-f99709370657
2002-07-15Added stack overflow checkLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1358 a1c6a512-1295-4272-9138-f99709370657
2002-07-01Now fills the stack with 0xdeadbeefLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1290 a1c6a512-1295-4272-9138-f99709370657
2002-06-25Demystified codeBjörn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1183 a1c6a512-1295-4272-9138-f99709370657
2002-06-19Always clear the status register (irq mask)Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1067 a1c6a512-1295-4272-9138-f99709370657
2002-06-07Removed a warningLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@921 a1c6a512-1295-4272-9138-f99709370657
2002-06-07Added init_threads functionLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@920 a1c6a512-1295-4272-9138-f99709370657
2002-05-28Missing parenthesisLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@767 a1c6a512-1295-4272-9138-f99709370657
2002-05-28create_thread now reserves room for PR on the stackLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@762 a1c6a512-1295-4272-9138-f99709370657