Commit graph

55 commits

Author SHA1 Message Date
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