Commit graph

53 commits

Author SHA1 Message Date
Michael Sevakis
af395f4db6 Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
2008-03-26 01:50:41 +00:00
Jens Arnold
ed3ff1b0b5 Various coldfire fixes: (1) iAudio Bootloader: Check the status of main & remote power button vs. the respective hold switch, and shut down when on hold. On X5/M5 this check is not strictly necessary for the main unit, but left there to keep things uniform. (2) M3: Stop reading the ADC properly before leaving the bootloader, on RoLo, and on reboot, to make it work reliably after those transitions. (3) Disable all interrupt sources on system init to avoid premature ISR calls after enabling interrupts in general. (4) iAudios: Proper implementation of ide_powered(), avoiding nasty HDD clicks in the bootloader when powering down, e.g. because of Hold. (5) Slight optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16689 a1c6a512-1295-4272-9138-f99709370657
2008-03-17 23:47:38 +00:00
Karl Kurbjun
d3d0b26421 Work in progress fixes to the remote button handling. Now the remote can be unplugged and then plugged in and it will work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15628 a1c6a512-1295-4272-9138-f99709370657
2007-11-15 06:44:35 +00:00
Karl Kurbjun
1b3dac9042 Setup the gigabeat so that iram is faked in a different spot since the normal iram location does not seem to be working. This lays the groundwork to get rolo running.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15581 a1c6a512-1295-4272-9138-f99709370657
2007-11-11 19:13:09 +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
Karl Kurbjun
b7a4e101cb M:Robe - Fix compilation and remove some warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15095 a1c6a512-1295-4272-9138-f99709370657
2007-10-13 14:53:34 +00:00
Michael Sevakis
e760ba5a04 Add some defines for pp502x. No guarantee as to full accuracy yet but that's not really too important. Use them in the code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14912 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 10:53:31 +00:00
Michael Sevakis
3e7d4f0d14 Anti-red?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14899 a1c6a512-1295-4272-9138-f99709370657
2007-09-29 06:56:21 +00:00
Michael Sevakis
7914e90738 Commit a subset of the dual core changes that have to do with cache handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 10:20:02 +00:00
Nils Wallménius
4102ed56f0 Revert cosmetic change and staticing of the rolo_restart() function, because it would break rolo for gigabeat if anyone ever implemented it (because ICODE_ATTR is defined to be null for gigabeats).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13924 a1c6a512-1295-4272-9138-f99709370657
2007-07-17 14:53:44 +00:00
Nils Wallménius
76fa0f7e30 Make a private function static where possible, add a comment, make a small cosmetic change
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13918 a1c6a512-1295-4272-9138-f99709370657
2007-07-16 19:26:07 +00:00
Jens Arnold
fe23dc8f15 Improved CPU clock setup for PP502x. PP5020 and PP5022 are not register compatible here, so define the PP5022 targets properly, and introduce a CPU_PP502x macro for easier family check. Improves stability on PP5020 (less freezing, tested with Mini G1) and reduces clock change penalty (500us on PP5020; uses the relock bit on PP5022).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13763 a1c6a512-1295-4272-9138-f99709370657
2007-07-02 05:16:40 +00:00
Barry Wardell
54c73a24b6 Bring back rolo for mi4-based targets (H10 and Sansa).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13550 a1c6a512-1295-4272-9138-f99709370657
2007-06-04 13:48:21 +00:00
Michael Sevakis
d95c39072a Portal Player: Add invalidate_icache and flush_icache. Flush the cache on the core for newborn threads. In doing so, move more ARM stuff to the target tree and organize it to make a clean job of it. If anything isn't appropriate for some particular device give a hollar or even just fix it by some added #ifdefing. I was informed that the PP targets are register compatible so I'm going off that advice. The Sansa likes it though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13144 a1c6a512-1295-4272-9138-f99709370657
2007-04-13 20:55:48 +00:00
Daniel Ankers
ee07215d50 Fix RoLo on PortalPlayer targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12609 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 23:53:38 +00:00
Barry Wardell
8b061252c4 Replace some inl/outl with register #define's instead. Also tidy up pp5020.h so that it's in increasing address order.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12574 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 17:25:20 +00:00
Daniel Ankers
b856636f85 Improved RoLo support for PortalPlayer - handles the COP correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12511 a1c6a512-1295-4272-9138-f99709370657
2007-02-27 22:55:12 +00:00
Barry Wardell
2f16d4f1b3 Add working dual-boot bootloaders for H10 and Sansa, which allow booting the OF and Rockbox. Rolo also works.
Changes made:

Combine bootloader/h10.c and bootloader/e200.c into a common bootloader file (bootloader/main-pp.c) to be used by all mi4 based PortalPlayer targets. The file bootloader/main-pp.c is based off the old bootloader/h10.c with some minor changes to allow it to work on the Sansa too. This effectively adds a Sansa bootloader.

Define MODEL_NAME string in config-*.h for use in bootloader.

Split crt0-pp.S into separate files for bootloader and normal builds. Bootloader code is now in crt0-pp-bl.S while normal build code stays in crt0-pp.S.

Improvements to crt0-pp.S and crt0-pp-bl.S (mostly to make it more multiprocessor safe):
* Leave space in bootloader at 0xe0-0xeb since scramble writes over there when it creates the mi4 file (don't leave space for iPods since it's not needed and all code in crt0-pp-bl.S needs to fit before the boot_table at 0x100).
* Remove unused DEBUG and STUB code from crt0-pp.S.
* Make CPU wait for COP to be sleeping when we put the COP to sleep.
* Invalidate COP cache when COP wakes
* Flush CPU cache before waking COP
* Make sure only the CPU clears the BSS (not the COP)
* Make sure only the CPU sets up its own stack (not the COP)

Rolo works on H10, so enable it.

Make Sansa e200 use rockbox.e200 rather than PP5022.mi4 for 'Normal' builds. This makes updating rockbox simpler as we don't need to go through the firmware update procedure, but rather just put a new rockbox.e200 on the device. rockbox.e200 uses a simple 'add' checksum.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11815 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 11:33:53 +00:00
Daniel Ankers
f28a15f949 Remove useless code from rolo.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11708 a1c6a512-1295-4272-9138-f99709370657
2006-12-10 15:53:26 +00:00
Daniel Ankers
cb51abb77c Slightly improved RoLo for PortalPlayer targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11707 a1c6a512-1295-4272-9138-f99709370657
2006-12-10 15:20:26 +00:00
Daniel Ankers
242cbd5cd7 Change if CONFIG_CPU==PP50XX to ifdef CPU_PP where appropriate
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11569 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 00:41:30 +00:00
Jens Arnold
780f79e7a4 Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11504 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 20:26:01 +00:00
Marcoen Hirschberg
37f7f0b23b reduce the number of gigabeat warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11316 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 13:11:57 +00:00
Barry Wardell
1920df36d8 Add Rockbox bootloader for H10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10781 a1c6a512-1295-4272-9138-f99709370657
2006-08-28 08:11:32 +00:00
Dave Chapman
ffc0cab816 Implement Rolo for the PP502x-based ipods.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10293 a1c6a512-1295-4272-9138-f99709370657
2006-07-23 14:30:10 +00:00
Linus Nielsen Feltzing
15db7f2a48 Patch #5063 by Rani Hod - RoLo on X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10209 a1c6a512-1295-4272-9138-f99709370657
2006-07-13 21:11:20 +00:00
Jens Arnold
1aae0a0e8c Show RoLo messages on remote.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9787 a1c6a512-1295-4272-9138-f99709370657
2006-04-24 06:45:27 +00:00
Linus Nielsen Feltzing
c5c7421704 Make RoLo compile for X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9164 a1c6a512-1295-4272-9138-f99709370657
2006-03-21 13:22:51 +00:00
Dave Chapman
a1f87441de Disable ROLO for the iPods - it doesn't work and just confuses people.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8660 a1c6a512-1295-4272-9138-f99709370657
2006-02-11 11:44:42 +00:00
Dave Chapman
987879b958 Further iPod 3G work from Seven Le Mesle
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8583 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 17:34:49 +00:00
Tomasz Malesinski
c31d2f84b7 Fixed warnings on iFP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8550 a1c6a512-1295-4272-9138-f99709370657
2006-02-03 23:14:42 +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
Linus Nielsen Feltzing
aa1042286a Fixed RoLo for H100 targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7188 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 15:50:06 +00:00
Jens Arnold
b7aaa641b8 H1x0: rolo_restart() now uses the actual destination address to start the code. Some asm optimisation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6811 a1c6a512-1295-4272-9138-f99709370657
2005-06-22 16:53:12 +00:00
Daniel Stenberg
f03bc298d6 depend on CPU, not player model
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6752 a1c6a512-1295-4272-9138-f99709370657
2005-06-18 21:15:04 +00:00
Linus Nielsen Feltzing
d34865a530 mp3buf renamed to audiobuf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6252 a1c6a512-1295-4272-9138-f99709370657
2005-04-05 11:33:58 +00:00
Linus Nielsen Feltzing
8a237a829e More audio code restructuring, mostly renaming functions so far
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6246 a1c6a512-1295-4272-9138-f99709370657
2005-04-04 12:06:29 +00:00
Linus Nielsen Feltzing
bd42d31e5e RoLo now works on the iRiver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6238 a1c6a512-1295-4272-9138-f99709370657
2005-03-31 08:47:02 +00:00
Daniel Stenberg
716ed218f3 these are not compiling for Gmini either atm
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5789 a1c6a512-1295-4272-9138-f99709370657
2005-02-04 15:07:50 +00:00
Daniel Stenberg
e81fb19dfc less warnings on iriver builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5761 a1c6a512-1295-4272-9138-f99709370657
2005-02-03 10:07:11 +00:00
Daniel Stenberg
36355a5c66 provide a temporary ROLO dummy when built for coldfire
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5742 a1c6a512-1295-4272-9138-f99709370657
2005-02-02 21:47:08 +00:00
Jens Arnold
ab232fc65a Disabling all timers on rolo fixes the problems with roloed Archos firmware on Ondio. It's probably a good idea to do this for all models
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5277 a1c6a512-1295-4272-9138-f99709370657
2004-10-14 23:40:58 +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
Björn Stenberg
577e571958 Removed startup_io test code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4045 a1c6a512-1295-4272-9138-f99709370657
2003-11-20 00:01:13 +00:00
Jörg Hohensohn
cbbbcd1800 patch #785885 by Magnus Holmgren: way faster rolo, with assembler
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3971 a1c6a512-1295-4272-9138-f99709370657
2003-10-12 16:40:45 +00:00
Jörg Hohensohn
b3d96833d0 fixed rolo-ing of original Archos firmware when flashed. Finally narrowed it down, PAIOR needs to be initialized.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3969 a1c6a512-1295-4272-9138-f99709370657
2003-10-11 21:35:46 +00:00
Jörg Hohensohn
e9b12dd9eb The other end of my diagnostic code: Rolo now tries to load the file "/startup_io.bin" and restores the I/O space from there, if present. Use a file created from not-flashed for testing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3917 a1c6a512-1295-4272-9138-f99709370657
2003-08-04 18:41:13 +00:00
Linus Nielsen Feltzing
f70a41cdc6 Removed a warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3667 a1c6a512-1295-4272-9138-f99709370657
2003-05-09 22:05:26 +00:00
Linus Nielsen Feltzing
20d031f9c7 Configurable dir browser file buffer size. No more 400-file limit. No more whining.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3661 a1c6a512-1295-4272-9138-f99709370657
2003-05-09 16:01:21 +00:00