summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/crt0-pp.S
AgeCommit message (Collapse)AuthorFilesLines
2012-01-03move PP specific files to pp/Rafaël Carré1-430/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31533 a1c6a512-1295-4272-9138-f99709370657
2011-11-27PortalPlayer: Loading of stack munge value into r4 was moved in r30741 to ↵Michael Sevakis1-17/+17
after the idle stack init loop, breaking the usage readout. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31068 a1c6a512-1295-4272-9138-f99709370657
2011-10-11Switch to SYS mode on arm FS#12322 by meMarcin Bukat1-30/+38
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30741 a1c6a512-1295-4272-9138-f99709370657
2011-02-02Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM ↵Andree Buschmann1-2/+2
(code), use the already defined MEMORYSIZE instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29189 a1c6a512-1295-4272-9138-f99709370657
2010-08-29ipodvideo: detect ram size at boot (doesn't actually get USED yet)Torne Wuff1-0/+18
This is the first step to allowing a single build which will work on any ipodvideo. A global variable, probed_ramsize, is initialised to either 32 or 64 early in boot. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27937 a1c6a512-1295-4272-9138-f99709370657
2010-05-31ARM: use BX when branch to an address in registerRafaël Carré1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26432 a1c6a512-1295-4272-9138-f99709370657
2010-03-04Fix ipodvideo64mb by making the branch to main a long call.Thomas Martitz1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25019 a1c6a512-1295-4272-9138-f99709370657
2010-03-03Really fix bootloaders now.Thomas Martitz1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25017 a1c6a512-1295-4272-9138-f99709370657
2010-03-03FS#10756 - Free unused init codeThomas Martitz1-0/+13
Introduce a new .init section for initialisation code, so that it can be copied to an area which is later overwritten before calling. The stack/bss can then overwrite that code, effectively freeing the code size that the initialisation routines need. Gives a few kB ram usage back. Only implemented for PP and as3525 so far. More targets could be added, as well as more functions. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25013 a1c6a512-1295-4272-9138-f99709370657
2010-01-24ARM: lr addresses the next instruction after the failing one in undefined ↵Rafaël Carré1-1/+1
instruction vector Substract 4 before passing the argument to UIE so the correct address is displayed git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24321 a1c6a512-1295-4272-9138-f99709370657
2009-05-12FS#9730 by Torne Wuff - support installing Rockbox in the firmware partition ↵Dave Chapman1-1/+6
in place of the main Apple firmware. This image is only loaded if no rockbox.ipod is found so does not affect current behaviour. The advantage is a small increase in boottime. This patch also adds documentation to bootloader/ipod.c in the form of a comment describing the booting behaviour. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20921 a1c6a512-1295-4272-9138-f99709370657
2009-02-20Reclaim .iram areas in DRAM by overlapping their load addresses with the ↵Michael Sevakis1-12/+13
uninitialized data sections. I did what I could test out-- not any flash image linker scripts or other target processors. Move any .iram copies in crt0.S's to be the first operation even if not _strictly_ necessary to be emphatic (aka. 'beware'). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20061 a1c6a512-1295-4272-9138-f99709370657
2009-01-20PortalPlayer: Implement irq_handler() directly in C code rather than ↵Michael Sevakis1-13/+0
dispatching to irq() from crt0-pp.S. Remove unneeded STUB macros. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19801 a1c6a512-1295-4272-9138-f99709370657
2008-12-11Fix a PortalPlayer PCM bug that made keyclick malfunction. Should fix ↵Michael Sevakis1-6/+0
FS#8836. Move FIQ banked register init out of crt0-pp.S and into pcm-pp.c to keep setups local to PCM driver. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19388 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg1-2/+4
later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-04-29Remove wrong usage of '.global'. These symbols are imported, not exported.Jens Arnold1-5/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17290 a1c6a512-1295-4272-9138-f99709370657
2007-11-27Enable dualcore for the pp5002 processor by adding the needed cache handling ↵Michael Sevakis1-38/+46
and sleep/wakeup sync to the kernel. Refine some handling of fw/bl startup for all. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15827 a1c6a512-1295-4272-9138-f99709370657
2007-10-06Unify PCM interface just above the hardware driver level for all targets ↵Michael Sevakis1-4/+4
including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15006 a1c6a512-1295-4272-9138-f99709370657
2007-10-04PP502x: Make RAM physical addresses uncached. Cache the flash ROM on targets ↵Michael Sevakis1-9/+20
with one. Kill all the now unneeded cache flushing and i2s tweaking on e200 so clicking is no worry. Write the driver framebuffer at uncached addresses. Recording monitoring may be a little noisy in the left channel for the moment when not boosted and will be addressed. All seems to work as advertised including flash ROM dump. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14976 a1c6a512-1295-4272-9138-f99709370657
2007-09-29Compile Portal Player bootloaders as single core. Cleanup the startup code ↵Michael Sevakis1-6/+2
for bootloaders. Remove cop stack entirely and keep IRAM use down on all relevant targets - just use the 128-byte idle stack. Use the inline asm version of current_core for pp5002 as well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14898 a1c6a512-1295-4272-9138-f99709370657
2007-09-28Commit a subset of the dual core changes that have to do with cache ↵Michael Sevakis1-74/+122
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-06Sansa c200 port. Rockbox works with sound. Several features are disabled ↵Mark Arigo1-1/+1
including some lcd options, FM radio, recording, and all plugins. Loading the OF from the Rockbox bootloader does not work. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14625 a1c6a512-1295-4272-9138-f99709370657
2007-08-01PP50xx: COP was left in undefined mode after init. Switch it to supervisor ↵Michael Sevakis1-0/+3
mode before entering cop_main. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14124 a1c6a512-1295-4272-9138-f99709370657
2007-08-01PP50xx: Allow FIQ during IRQ to always be able to service FIFOs. I've got a ↵Michael Sevakis1-37/+44
diff handy for quick revert if there's a problem. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14123 a1c6a512-1295-4272-9138-f99709370657
2007-05-19FS#5472 add a memory size prompt to configure to allow ipod video builds forDaniel Stenberg1-0/+5
64 MB ram git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13408 a1c6a512-1295-4272-9138-f99709370657
2007-04-12Switch to mi4 format for Rockbox binary on H10 and Sansa. This means we now ↵Barry Wardell1-1/+1
only have one binary format to deal with on this target. Users with bootloaders older than 20 March 2007 will have to update. Up to date ones are already on download.rockbox.org since that date. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13134 a1c6a512-1295-4272-9138-f99709370657
2007-03-20Oops, shouldn't have committed this just yet.Barry Wardell1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12866 a1c6a512-1295-4272-9138-f99709370657
2007-03-20Oops, the mi4 magic was being looked for in the wrong place when decrypting. ↵Barry Wardell1-1/+1
Also decrease verbosity of PP bootloader a bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12865 a1c6a512-1295-4272-9138-f99709370657
2007-03-04Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - ↵Daniel Ankers1-0/+17
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-03Replace some inl/outl with register #define's instead. Also tidy up pp5020.h ↵Barry Wardell1-1/+1
so that it's in increasing address order. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12574 a1c6a512-1295-4272-9138-f99709370657
2006-12-19Add working dual-boot bootloaders for H10 and Sansa, which allow booting the ↵Barry Wardell1-106/+29
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-11-22Sansa doesn't use a Wolfson codec. Various other changes to allow Sansa to ↵Daniel Ankers1-2/+16
compile correctly with a normal build. Based on FS#6336 by Pavel Gnelitsa git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11570 a1c6a512-1295-4272-9138-f99709370657
2006-08-31Clean up crt0.S and move it to the target treeDaniel Ankers1-0/+375
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10830 a1c6a512-1295-4272-9138-f99709370657