summaryrefslogtreecommitdiff
path: root/firmware/asm (follow)
Commit message (Collapse)AuthorAge
* Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets"Marcin Bukat2012-10-24
| | | | This was commited by accident, sorry.
* SH gcc 4.6.3 with link-time optimization, for Archos targetsBoris Gjenero2012-10-24
| | | | | | | This is work from FS#12431 synced to current HEAD and slightly tweaked (gcc 4.6.2 -> 4.6.3, binutils 2.21.1 -> 2.22) Change-Id: I76af91e80ac2a9c16a776c7f0a33cc51603bbf9b
* Rearrange #ifdefs a bit, so SIGALTSTACK overrides CPU-specific threading.Frank Gevaerts2012-06-11
| | | | Change-Id: Ie3661f53bd7576d965fcc52facb532199b87c017
* Apparently make doesn't like inline commentsThomas Martitz2012-03-28
| | | | Change-Id: If604af9713cf95dafbeb1a601219ca1b3a8964fa
* build system: completely autodetect target cpu architecture.Thomas Martitz2012-03-28
| | | | | | | | | | | | The existing ARCH Makefile variable is exported to the C code as well. Additionally the version (arm-only for now) is detected as well. This allows to for complete autodetection, i.e. that optimized ASM is picked up if determined by preprocessor (CPU_ARM, etc). Building a sim/raaa on a arm host will now automatically generate a arm optmized build like we have for native targets. Change-Id: I0b35393f8fb3ebd20beaa9e7371fa57bf3782107
* Coldfire: Optimize emac context save/restore in mixer ISR.Michael Sevakis2012-03-12
| | | | | | | | | | Save only once if emac is used in ISR and restore only once per ISR call if already saved. Change-Id: I0e40db5d4aab2a8552480f76873f59ff6ccd9977 Reviewed-on: http://gerrit.rockbox.org/176 Tested-by: Michael Sevakis <jethead71@rockbox.org> Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
* Revise the PCM callback system after adding multichannel audio.Michael Sevakis2012-03-03
| | | | | | | | | | | | | | | | | | Additional status callback is added to pcm_play/rec_data instead of using a special function to set it. Status includes DMA error reporting to the status callback. Playback and recording callback become more alike except playback uses "const void **addr" (because the data should not be altered) and recording uses "void **addr". "const" is put in place throughout where appropriate. Most changes are fairly trivial. One that should be checked in particular because it isn't so much is telechips, if anyone cares to bother. PP5002 is not so trivial either but that tested as working. Change-Id: I4928d69b3b3be7fb93e259f81635232df9bd1df2 Reviewed-on: http://gerrit.rockbox.org/166 Reviewed-by: Michael Sevakis <jethead71@rockbox.org> Tested-by: Michael Sevakis <jethead71@rockbox.org>
* beep/mixer code: Code police a bit.Michael Sevakis2012-02-19
| | | | | | | | /firmware is in the #include path with makes #include "asm/beep.c" sufficient. Add a comment to generic beep code and make another express intent better. Change-Id: I587cd704478b894785927bdfe2e647e28614df62
* Split CPU-optimized beep code into the firmware/asm tree.Michael Sevakis2012-02-18
| | | | | | | | | For now due to current lack of an apps/asm, place the ASM/generic code in the firmware/asm directory. Additionally, make generic beep code more generic. Change-Id: I4a69b6ffcbb97d9e6dfde2209c5a118de19e5638
* Urgh...actually change all the stuff I'm supposed to.Michael Sevakis2012-02-05
| | | | | | Goofed a couple fn params. Change-Id: I2474d10fe08d2629ada54c83e201ee91c596d854
* Make generic pcm-mixer.c more generic in the way it writes output.Michael Sevakis2012-02-05
| | | | | | Also remove unused firmmware/asm/generic directory. Change-Id: If1961f96f4292f00227a9b0148181152ac405e51
* Generic find_first_set_bit can use __builtin_ctz instead of __builtin_ffsMichael Sevakis2012-02-04
| | | | | | | The former gives 0-based indexes, which is what our implementation returns, making the "- 1" unnecessary. Change-Id: I172ab5e06695be62e4a18d4fd0415b8314f5dc26
* find_first_set_bit tweaksMichael Sevakis2012-01-27
| | | | | | | Correct sizing in m68k asm. Make the gerneric version far more generic. Change-Id: I32945f7431771979b3fe0da5472bdb110fd054ae
* Fix typo in comment.Thomas Martitz2012-01-22
| | | | Change-Id: I3a6813a5eb024aad799bc59c569db54337cb8d1f
* Move optimized ffs to firmware/asm, using the new automatic-asm-picking ↵Thomas Martitz2012-01-22
| | | | | | infrastructure. Change-Id: I5e7bdc8be7de50ef604c16078857fff1b84650dc
* ypr0: Use generic lcd memframe driver.Thomas Martitz2012-01-22
|
* Implement a C version lcd-as-memframe.c and move it and the asm to firmware/asm.Thomas Martitz2012-01-22
| | | | Change-Id: I20c3af0368202493d54fb776530300a39d47873a
* Move optimized memcpy and friends and strlen to firmware/asm,Thomas Martitz2012-01-22
| | | | using the new automatic-asm-picking infrastructure.
* Add framework to let make automatically pick optimized asm implementations ↵Thomas Martitz2012-01-22
| | | | | | | | | | | | | | over generic C ones to firmware. Example: for a file asm/foo.c, make will look for asm/arm/foo.[cS] and compile it if found. If not found it'll fall back to asm/foo.c. Also introduce new ARCH make variable. This is automatically detected by configure. It is distinct from CPU since CPU defines the dir used for the target tree (i.e. firmware/target/X, so it can be "hosted"). ARCH really has the target isa and can be x86 for sims/raaa too. Change-Id: I18e5d2b7b7bbc2ad2be551a74a0fcae5ffbcbf8b
* Move pcm_mixer helper routines to firmware/asm.Thomas Martitz2012-01-22
|
* Create fimrware/asm directory for assembly optimized stuff.Thomas Martitz2012-01-22
This dir is suitable for stuff that doesn't fit the target tree, e.g. because it also builds on hosted or otherwise. It also has a generic subfolder for fallback C implementations so that not all archs need to provide asm files. SOURCES should only contain "foo.c" where foo.c includes the specific <arch>/foo.c files from the subdirs using the preprocessor. This way automatic selection of asm versions or generic C verion is possible. For the start, the thread support files are moved, since ASM threads can be used on hosted platforms as well. Since core_sleep() remains platform specific it's moved to the corresponding system.h headers. Change-Id: Iebff272f3407a6eaafeb7656ceb0ae9eca3f7cb9