Commit graph

18 commits

Author SHA1 Message Date
Michael Sevakis
d6af287397 Implement as genuine a set_irq_level function for the sim as possible. The yield added earlier is still nescessary since other threads won't run anyway while viewing the database screen on either sim or target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15321 a1c6a512-1295-4272-9138-f99709370657
2007-10-26 23:11:18 +00:00
Michael Sevakis
a9b2fb5ee3 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.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Michael Sevakis
4117c64917 UISIMULATOR: Trying to make it snappy for everyone. Remove forced thread yield in switch_thread which starves threads that call it alot especially on fast 64-bit machines (which could yield _alot_ of time away). I suspect that was a way to get I/O to run better before having an I/O thread...and it did help before that addition. No longer needed it seems and the OS seems to handle scheduling without hints just fine.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14685 a1c6a512-1295-4272-9138-f99709370657
2007-09-13 21:40:56 +00:00
Michael Sevakis
c4a7631eb9 UISIMULATOR: Do a graceful shutdown of all threads and avoid (mostly lockup) problems caused by not worrying about states. Have rockbox objects initialized only by rockbox threads save for the main 'gui' thread which is a needed exception.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14660 a1c6a512-1295-4272-9138-f99709370657
2007-09-10 03:49:12 +00:00
Michael Sevakis
3a45faa6a8 More Simulator tweaking. Back to the counter but with 0 delay. Forget the semaphore; it makes for too much kernel thread yielding.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14649 a1c6a512-1295-4272-9138-f99709370657
2007-09-09 08:28:42 +00:00
Michael Sevakis
0107dfc827 UISIMULATOR: Give the host OS some needed context switching hints (which _is_ supposed to work on Linux - but I can't tell on VMWare - and does on Windows). I guess I'll know for sure soon. Give sleep() even more genuine behavior. Add some button driver sync with the rockbox threads that should have been there for some time - this is basically interrupt-like processing as any thread not in the kernel pool should be considered. Make the screendump work again by posting the request. Perhaps help out shutting down for some users but not in the way I'd prefer - to think about.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14646 a1c6a512-1295-4272-9138-f99709370657
2007-09-09 01:59:07 +00:00
Jens Arnold
424750ea95 Make sleep(0) in the sim behave more like on target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14645 a1c6a512-1295-4272-9138-f99709370657
2007-09-08 23:50:36 +00:00
Michael Sevakis
f64ebb1c1f Sim I/O and threading that runs more like on target. Tweakable if any genuine slowness imitation is required for any one of them. One point of concern is the sim shutdown on an OS other than Linux just because terminating threads in a manner other than having the do it themselves is kind of dirty IMHO.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14639 a1c6a512-1295-4272-9138-f99709370657
2007-09-08 12:20:53 +00:00
Michael Sevakis
e9baf604f9 Fix sim errors. Every extra byte feels guilt-free. ;)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13717 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 20:58:15 +00:00
Steve Bavin
11fa3a871c Implement remove_thread for SDL simulator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12971 a1c6a512-1295-4272-9138-f99709370657
2007-03-30 16:02:42 +00:00
Dave Chapman
467651ae76 Make the sim create_thread() function slightly closer to the real thing. #include "thread.h" in thread-sdl.c to ensure function prototypes are consistent. This now allows mpegplayer to run in the sim.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12901 a1c6a512-1295-4272-9138-f99709370657
2007-03-24 01:27:29 +00:00
Daniel Ankers
82f9056988 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.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Daniel Ankers
8300d8c194 Oops - fix warnings and add a simulator version of remove_thread_on_core()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10876 a1c6a512-1295-4272-9138-f99709370657
2006-09-03 21:00:19 +00:00
Daniel Ankers
9bb3128235 Fix simulation of threads across multiple cores
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10875 a1c6a512-1295-4272-9138-f99709370657
2006-09-03 20:21:21 +00:00
Miika Pekkarinen
8a7b9161ab Adjust the counter even higher so it should work quite stable now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10385 a1c6a512-1295-4272-9138-f99709370657
2006-07-31 15:13:31 +00:00
Miika Pekkarinen
4222f6ce0d Prevent the simulator SDL audio skipping under Linux.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10383 a1c6a512-1295-4272-9138-f99709370657
2006-07-31 15:02:39 +00:00
Dan Everton
d66c0e5d09 Correct mutex locking order in runthread. Doesn't seem to fix anything though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8664 a1c6a512-1295-4272-9138-f99709370657
2006-02-12 12:47:20 +00:00
Linus Nielsen Feltzing
fc72c53758 Patch #1417462 by Dan Everton - Improved SDL simulator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8546 a1c6a512-1295-4272-9138-f99709370657
2006-02-03 15:19:58 +00:00