Magnus Holmgren
13f3c5b2cb
Fix profiling builds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11034 a1c6a512-1295-4272-9138-f99709370657
2006-09-23 14:38:04 +00:00
Miika Pekkarinen
92ae9155a7
Don't remove the thread twice.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10960 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 18:30:10 +00:00
Miika Pekkarinen
a85044bf9e
New scheduler, with priorities for swcodec platforms. Frequent task
...
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-16 16:18:11 +00:00
Miika Pekkarinen
3686228f9d
Cleanup threads.c by moving declarations inside structs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10853 a1c6a512-1295-4272-9138-f99709370657
2006-09-02 07:56:52 +00:00
Daniel Ankers
67ddef9aac
Fix profile builds
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10734 a1c6a512-1295-4272-9138-f99709370657
2006-08-24 13:10:20 +00:00
Daniel Ankers
0aec12f3fd
Threading changes in preparation for multiple core support
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10681 a1c6a512-1295-4272-9138-f99709370657
2006-08-21 17:35:35 +00:00
Marcoen Hirschberg
dd754886f5
update the gigabeat code and move to target_tree
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10535 a1c6a512-1295-4272-9138-f99709370657
2006-08-12 08:01:54 +00:00
Thom Johansen
0a952512c3
Sleep PP5020 CPU on idle.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8632 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 21:30:35 +00:00
Thom Johansen
023936d5e4
ARM: r12 is scratch, so don't save it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8505 a1c6a512-1295-4272-9138-f99709370657
2006-01-31 14:48:10 +00:00
Brandon Low
05dccc3551
Profiling support, tools and documentation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 20:54:13 +00:00
Dave Chapman
d83e929f3f
Work-in-progress iriver iFP-7xx port by Tomasz Malesinski
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8342 a1c6a512-1295-4272-9138-f99709370657
2006-01-12 00:35:50 +00:00
Thom Johansen
544b03cf9a
Add interrupt handler for iPod. Add timer tick support. Remove temporary 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-12 13:53:22 +00:00
Thom Johansen
27cd6ca152
Make threading code for iPod compile on all ARM CPUs, comment out sleep loop until we have iPod interrupts.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8214 a1c6a512-1295-4272-9138-f99709370657
2005-12-10 19:51:56 +00:00
Thom Johansen
391f6af7ab
Shave off an instruction by use of conditionals.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7896 a1c6a512-1295-4272-9138-f99709370657
2005-11-15 16:56:20 +00:00
Thom Johansen
52e91de5d3
First attempt at iPod threading.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7852 a1c6a512-1295-4272-9138-f99709370657
2005-11-13 23:47:38 +00:00
Dave Chapman
d31a32c501
iPod: Code cleanup - the bootloader now compiles with zero warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7812 a1c6a512-1295-4272-9138-f99709370657
2005-11-11 17:51:35 +00:00
Dave Chapman
77372d1218
Initial commit of work-in-progress iPod port
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7781 a1c6a512-1295-4272-9138-f99709370657
2005-11-07 23:07:19 +00:00
Jens Arnold
abd9f83e92
Two new sections for IRAM usage: .irodata (selectable with the ICONST_ATTR 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-10-19 19:35:24 +00:00
Jens Arnold
904f7fd970
Coldfire: Made the MACSR register part of the thread context to allow easier handling in the codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7445 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 20:06:38 +00:00
Jens Arnold
6d54d6c088
SH1: Tiny optimisation of the thread scheduler.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7406 a1c6a512-1295-4272-9138-f99709370657
2005-08-26 22:52:31 +00:00
Christian Gmeiner
c6ff1f5eb5
Added CPU_COLDFIRE define - one step closer to iAudio-port
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7186 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 12:40:29 +00:00
Linus Nielsen Feltzing
a19acbdadd
Removed picky warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7116 a1c6a512-1295-4272-9138-f99709370657
2005-07-12 10:05:13 +00:00
Jens Arnold
a4aa508bd0
Thread scheduler reworked to be less dependent on compiler behaviour. Stack 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-06-10 23:05:15 +00:00
Jens Arnold
8779802aaf
Make sure the context functions are always inlined, independent of optimisation level.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6512 a1c6a512-1295-4272-9138-f99709370657
2005-05-23 19:48:55 +00:00
Jean-Philippe Bernardy
8ec05779e3
Gmini work:
...
* Better USB
* Better comments
* Better coding style
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6022 a1c6a512-1295-4272-9138-f99709370657
2005-02-19 17:49:58 +00:00
Jean-Philippe Bernardy
9dcb575b74
Feature conditional compilation policy
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5940 a1c6a512-1295-4272-9138-f99709370657
2005-02-13 18:55:14 +00:00
Jean-Philippe Bernardy
a1eb3d93f6
Feature conditional compilation policy
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5939 a1c6a512-1295-4272-9138-f99709370657
2005-02-13 17:07:40 +00:00
Jean-Philippe Bernardy
7e8914daf7
more int -> long
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5656 a1c6a512-1295-4272-9138-f99709370657
2005-01-24 14:41:06 +00:00
Jean-Philippe Bernardy
1265d03141
Oops, deadbeef is unsigned
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5653 a1c6a512-1295-4272-9138-f99709370657
2005-01-24 13:32:52 +00:00
Jean-Philippe Bernardy
a61d9857e8
Gmini threading
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5652 a1c6a512-1295-4272-9138-f99709370657
2005-01-24 13:18:27 +00:00
Linus Nielsen Feltzing
7b91ec6b19
Threading ported to Coldfire
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5280 a1c6a512-1295-4272-9138-f99709370657
2004-10-15 02:13:43 +00:00
Linus Nielsen Feltzing
5e54aa956f
MACH, MACL and SR are no longer part of the SH1 thread context
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5268 a1c6a512-1295-4272-9138-f99709370657
2004-10-13 11:32:26 +00:00
Jens Arnold
c76c568b35
Const policed pointer arguments to functions, part 1
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4995 a1c6a512-1295-4272-9138-f99709370657
2004-08-16 23:37:23 +00:00
Jens Arnold
9478cc6f8a
More const policeing step 4
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4983 a1c6a512-1295-4272-9138-f99709370657
2004-08-03 19:22:56 +00:00
Jens Arnold
2b0694c694
More const policeing step 3
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4982 a1c6a512-1295-4272-9138-f99709370657
2004-08-03 05:58:46 +00:00
Linus Nielsen Feltzing
9830b164ef
switch_thread() now checks the stack of the current thread instead of the 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-22 11:32:36 +00:00
Linus Nielsen Feltzing
cac729ef82
remove_tread() -> remove_thread()
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4788 a1c6a512-1295-4272-9138-f99709370657
2004-06-22 07:17:17 +00:00
Jörg Hohensohn
72e08fb838
updated remove_thread(), should cover Linus' hints
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4570 a1c6a512-1295-4272-9138-f99709370657
2004-05-01 15:36:12 +00:00
Jörg Hohensohn
7bd007a597
remove_thread() function added, for future dynamic thread creation by plugins
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4562 a1c6a512-1295-4272-9138-f99709370657
2004-04-30 20:23:04 +00:00
Björn Stenberg
72f75f36a5
Removed CPU Sleep setting. It's now permanently enabled.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3434 a1c6a512-1295-4272-9138-f99709370657
2003-03-12 15:30:59 +00:00
Björn Stenberg
c4d8d970f6
The power-saving SLEEP patch by Simon Elén.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3259 a1c6a512-1295-4272-9138-f99709370657
2003-02-14 09:44:34 +00:00
Linus Nielsen Feltzing
2f70f13a42
Moved switch_thread() and the thread context data to internal RAM
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1500 a1c6a512-1295-4272-9138-f99709370657
2002-08-01 08:14:56 +00:00
Linus Nielsen Feltzing
09153dd82a
Added stack overflow check
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1358 a1c6a512-1295-4272-9138-f99709370657
2002-07-15 22:21:18 +00:00
Linus Nielsen Feltzing
9f690b8cf8
Now fills the stack with 0xdeadbeef
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1290 a1c6a512-1295-4272-9138-f99709370657
2002-07-01 21:14:20 +00:00
Björn Stenberg
3f9c7c2ab5
Demystified code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1183 a1c6a512-1295-4272-9138-f99709370657
2002-06-25 12:04:23 +00:00
Linus Nielsen Feltzing
2a72553b24
Always clear the status register (irq mask)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1067 a1c6a512-1295-4272-9138-f99709370657
2002-06-19 06:01:06 +00:00
Linus Nielsen Feltzing
04d6d8f14f
Removed a warning
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@921 a1c6a512-1295-4272-9138-f99709370657
2002-06-07 15:03:19 +00:00
Linus Nielsen Feltzing
9430a0b7d6
Added init_threads function
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@920 a1c6a512-1295-4272-9138-f99709370657
2002-06-07 14:56:10 +00:00
Linus Nielsen Feltzing
166f3298df
Missing parenthesis
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@767 a1c6a512-1295-4272-9138-f99709370657
2002-05-28 15:05:56 +00:00
Linus Nielsen Feltzing
6cbe2a7301
create_thread now reserves room for PR on the stack
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@762 a1c6a512-1295-4272-9138-f99709370657
2002-05-28 13:59:24 +00:00
Linus Nielsen Feltzing
6a199bf125
Removed queue handling stuff
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@316 a1c6a512-1295-4272-9138-f99709370657
2002-04-29 14:27:46 +00:00
Linus Nielsen Feltzing
377687c423
Started work on event queues - NOT YET SAFE
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@310 a1c6a512-1295-4272-9138-f99709370657
2002-04-28 21:41:55 +00:00
Linus Nielsen Feltzing
b3aecff464
Removed ugly CR/LF stuff. Removed some comments
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@231 a1c6a512-1295-4272-9138-f99709370657
2002-04-25 13:25:54 +00:00
Linus Nielsen Feltzing
46daf2b0b3
More bugs killed. Now it may even work.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@230 a1c6a512-1295-4272-9138-f99709370657
2002-04-25 13:20:43 +00:00
Alan Korr
69d9911175
huh sorry macl and mach was misplaced in the regs part of the structure.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@229 a1c6a512-1295-4272-9138-f99709370657
2002-04-25 12:46:08 +00:00
Alan Korr
a06a3d0721
Add registers macl and mach in save and restore context functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@228 a1c6a512-1295-4272-9138-f99709370657
2002-04-25 12:43:55 +00:00
Alan Korr
81df66031e
fix an error i did. It should be right now
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@227 a1c6a512-1295-4272-9138-f99709370657
2002-04-25 12:30:39 +00:00
Alan Korr
a6aff80b8a
well there was a big bug (read more carefully the instruction descriptions) ;)
...
you can find why commented in the source
i'll fix it, but not test it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@226 a1c6a512-1295-4272-9138-f99709370657
2002-04-25 12:23:37 +00:00
Linus Nielsen Feltzing
7b9581a131
Not yet working
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@220 a1c6a512-1295-4272-9138-f99709370657
2002-04-25 00:15:04 +00:00
Linus Nielsen Feltzing
603869e71e
Removed some TAB characters
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@211 a1c6a512-1295-4272-9138-f99709370657
2002-04-24 12:17:19 +00:00
Linus Nielsen Feltzing
cb9d09c80a
Protected the temporary register in the context switches
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@210 a1c6a512-1295-4272-9138-f99709370657
2002-04-24 11:06:41 +00:00
Björn Stenberg
8ded7ca323
The indent police strikes again!
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@181 a1c6a512-1295-4272-9138-f99709370657
2002-04-22 23:41:29 +00:00
Linus Nielsen Feltzing
c7e811bffe
Changed __asm__ to asm
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@180 a1c6a512-1295-4272-9138-f99709370657
2002-04-22 22:48:07 +00:00
Linus Nielsen Feltzing
b701c89624
Even nicer inline assembly
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@179 a1c6a512-1295-4272-9138-f99709370657
2002-04-22 20:55:59 +00:00
Linus Nielsen Feltzing
34f026eb47
Adapted the context switch to SH1
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@174 a1c6a512-1295-4272-9138-f99709370657
2002-04-22 19:11:17 +00:00
Daniel Stenberg
3c031c5ab9
simple collaborate multitasking scheduler donated to us by Ulf Ralberg
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@170 a1c6a512-1295-4272-9138-f99709370657
2002-04-22 12:07:34 +00:00