summaryrefslogtreecommitdiff
path: root/firmware/system.c
AgeCommit message (Collapse)Author
2010-06-21Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with ↵Thomas Martitz
#if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR). The new define is to (de-)select code to compile on hosted platforms generally. Should be no functional change to targets or the simulator. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2009-05-21Simplify some redundant boolean expressionsBertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21013 a1c6a512-1295-4272-9138-f99709370657
2009-03-09A few tweaks to get USB support compiling again on TCC targets (part of ↵Rob Purchase
FS#9917 by Michaël Burtin). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20264 a1c6a512-1295-4272-9138-f99709370657
2009-02-03Remove struct spinlock to cleanup some mess and simplify. It's only used in ↵Michael Sevakis
boosting for multiprocesors and a pure two-corelock heirarchy will do just fine. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19910 a1c6a512-1295-4272-9138-f99709370657
2009-01-08Clean up panicf and introduce system_exception_wait to do further target ↵Michael Sevakis
tasks and wait for a button when an unrecoverable error has occurred (panic, UIE, etc.). Returning from that function should reboot or don't return from it. Move UIE and __div0 for ARM to its own file. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19716 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg
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-06-27remove leftover debug stuffMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17820 a1c6a512-1295-4272-9138-f99709370657
2008-06-27initial Meizu M6SL port (take 2)Marcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17819 a1c6a512-1295-4272-9138-f99709370657
2008-04-29Make sure the linker considers crt0*.o before all files specified on the ↵Jens Arnold
command line by using STARTUP() instead of INPUT() in the .lds. Using INPUT() makes the linker process crt0*.o after all files specified on the command line, making linking fail if there are librockbox.a members which are only referenced by crt0*.o. Remove the hackaround that was needed for building the gigabeat S bootloader before (aka UIE() problem). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17289 a1c6a512-1295-4272-9138-f99709370657
2008-04-06Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now ↵Michael Sevakis
with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16981 a1c6a512-1295-4272-9138-f99709370657
2008-02-08Gigabeat S: Interrupt enabled bootloader. Miscellaneous integration changes.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16243 a1c6a512-1295-4272-9138-f99709370657
2008-01-18Finally, out goes struct spinlock for anything but mutiprocessor targets ↵Michael Sevakis
where it becomes a reenterable corelock. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16105 a1c6a512-1295-4272-9138-f99709370657
2007-10-21Fixed warnings when logf is enabled.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15243 a1c6a512-1295-4272-9138-f99709370657
2007-10-16Finally full multicore support for PortalPlayer 502x targets with an eye ↵Michael Sevakis
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-09-28Commit a subset of the dual core changes that have to do with cache ↵Michael Sevakis
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-07-09Add divide-by-zero trap for ARM instead of just silently ignoring them.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13832 a1c6a512-1295-4272-9138-f99709370657
2007-04-22Fix build errors.Barry Wardell
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13240 a1c6a512-1295-4272-9138-f99709370657
2007-04-22Move PortalPlayer system.c code into the target tree.Barry Wardell
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13239 a1c6a512-1295-4272-9138-f99709370657
2007-04-22Fix some very probable typo's.Barry Wardell
CPU_INT_STAT is at 0x60004000, not 0x64004000. CPU_HI_INT_STAT is at 0x60004100, not 0x64004100. Fix wrong IRQ CLR addresses being used by system_init(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13238 a1c6a512-1295-4272-9138-f99709370657
2007-04-14PP5020/PP5024: Add ASM optimized inline current_core.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13155 a1c6a512-1295-4272-9138-f99709370657
2007-04-11Moved SH1 system code to target tree. * First shot at hwcompat cleanup.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13114 a1c6a512-1295-4272-9138-f99709370657
2007-04-06Now charcell displays require lcd_update() for updating the main lcd content ↵Jens Arnold
like bitmap displays. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13050 a1c6a512-1295-4272-9138-f99709370657
2007-03-26Fixed compilation problems with boostctrl_mtx.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12927 a1c6a512-1295-4272-9138-f99709370657
2007-03-26Make scheduler functions thread safe core wise. A big step towards playback ↵Miika Pekkarinen
running on COP (not yet possible because more protection on file system level is necessary). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12926 a1c6a512-1295-4272-9138-f99709370657
2007-03-24PNX0101 changes:Tomasz Malesinski
Make PNX0101-specific system.c and crt0.S. Add new register names from LPC2880 user manual. Add support for timer. Enable CPU frequency changing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12904 a1c6a512-1295-4272-9138-f99709370657
2007-03-04Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - ↵Daniel Ankers
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 Wardell
so that it's in increasing address order. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12574 a1c6a512-1295-4272-9138-f99709370657
2007-02-23Remap flash ROM to 0x20000000 on the ipods and H10s, and implement ↵Dave Chapman
dbg_save_roms() in the debug menu for those targets to dump the content to a file. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12467 a1c6a512-1295-4272-9138-f99709370657
2007-01-22Simple cpu boost tracker for LOGF builds. Shows the last 64 cpu_boost() ↵Jonathan Gordon
calls from the debug menu git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12087 a1c6a512-1295-4272-9138-f99709370657
2007-01-12Prepare core support for the iriver bootloader supporting ROM imagesMiika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11991 a1c6a512-1295-4272-9138-f99709370657
2007-01-04Move system specific rebootGreg White
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11903 a1c6a512-1295-4272-9138-f99709370657
2006-12-29merge a big part of the unofficial gigabeat cvs back. Includes working ↵Marcoen Hirschberg
bootloader and rockbox with audio. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11850 a1c6a512-1295-4272-9138-f99709370657
2006-12-05Removed the cpu boost tracking debug feature for now because ofMiika Pekkarinen
different kind of problems. Better implementation can be done later. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11665 a1c6a512-1295-4272-9138-f99709370657
2006-11-22Sansa doesn't use a Wolfson codec. Various other changes to allow Sansa to ↵Daniel Ankers
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-11-10Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately.Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11504 a1c6a512-1295-4272-9138-f99709370657
2006-11-08Use HAVE_FLASHED_ROCKBOX when target is flashable. Currenly only used by the ↵Michael Sevakis
H100 series. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11470 a1c6a512-1295-4272-9138-f99709370657
2006-11-06Big Patch adds primarily: Samplerate and format selection to recording for ↵Michael Sevakis
SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
2006-10-30Moved coldfire code in system.c and system.h into target tree.Michael Sevakis
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11399 a1c6a512-1295-4272-9138-f99709370657
2006-10-30move the iriver h1x0/h3x0 targets to the target treeJonathan Gordon
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11392 a1c6a512-1295-4272-9138-f99709370657
2006-10-12Logf output on the serial port for h100 targetsLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11207 a1c6a512-1295-4272-9138-f99709370657
2006-10-08UIE(), panicf(): Make reboot with ON react immediately on targets with real ↵Jens Arnold
LED (archos recorders, player). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11154 a1c6a512-1295-4272-9138-f99709370657
2006-10-08coldfire: set INTBASE and SPURVEC at startup, fixed typo in GPI0 int namePeter D'Hoye
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11153 a1c6a512-1295-4272-9138-f99709370657
2006-10-05Add CPU boost tracker to see where boosts are coming fromSteve Bavin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11125 a1c6a512-1295-4272-9138-f99709370657
2006-09-20Detect charger connected on H10. No need to sleep(HZ) when powering off.Barry Wardell
More sensible USB support for H10: plugging in puts it into USB charging mode and leaves Rockbox usable, holding 'O' while pluggin in the USB cable will reboot the H10 (continuing to hold 'O' starts it up in UMS mode), holding any other button brings up the USB screen as previously. Implement system_reboot() for all PP5020 devices. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11015 a1c6a512-1295-4272-9138-f99709370657
2006-08-31Initial commit of work for port to the Tatung Elio TPJ-1022 - yet another ↵Dave Chapman
PortalPlayer PP5020 target. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10828 a1c6a512-1295-4272-9138-f99709370657
2006-08-30Enable CPU boosting on H10 models.Barry Wardell
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10806 a1c6a512-1295-4272-9138-f99709370657
2006-08-21Threading changes in preparation for multiple core supportDaniel Ankers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10681 a1c6a512-1295-4272-9138-f99709370657
2006-08-20Fix errors when building H10 Normal build.Barry Wardell
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10668 a1c6a512-1295-4272-9138-f99709370657
2006-08-12update the gigabeat code and move to target_treeMarcoen Hirschberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10535 a1c6a512-1295-4272-9138-f99709370657
2006-08-11Properly handle early USB mode, dircache and tagcache state files withMiika Pekkarinen
flashed rockbox. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10525 a1c6a512-1295-4272-9138-f99709370657