Age | Commit message (Collapse) | Author | Files | Lines |
|
This appears to solve _some_ of the crashes experienced when using
gcc494 on the multicore PP targets (eg most older ipods).
(With this change, the asm vs plain-C versions behave identically)
corelock_lock(), corelock_unlock(), and corelock_trylock() were declared
with the 'naked' attribute. However, naked functions are only allowed
to have 'Basic Asm' components, and we used some extended asm, but
without declaring clobbered registers, making assumptions about register
arguments, and also directly returned to the caller via asm code.
This is what the GCC docs have to say about this stuff:
"While using extended asm or a mixture of basic asm and C code may
appear to work, they cannot be depended upon to work reliably and are
not supported."
Change-Id: I79a9c4895584f9af365e6c2387595e9c45d89c7d
|
|
This allows for a superfloppy that has MBR-like data in the BPB.
this solves FS#12294 while allowing arbitrary partition types.
Change-Id: I53880fe7dd53e5015f5f15be0ddba11105fcd778
|
|
If we aren't going to check for the partition type, we don't need the array of
known FAT partition types.
Original Author: Torne Wuff <torne@wolfpuppy.org.uk>
Change-Id: I558d4287189408c513dfbca49e13906cdb7918b1
|
|
Instead of only mounting partitions with a FAT partition type, try any
partition that isn't type 0 (unallocated) or 5 (extended). This makes it easier
to reformat SDXC cards which have the exFAT partition type, and also brings us
in line with pretty much every other OS at this point. Anything with a
valid-looking FAT superblock will get mounted.
original author: Torne Wuff <torne@wolfpuppy.org.uk>
Change-Id: I3ea8d437a79f9da270f9d119cc670e472331a9da
|
|
On some devices, the button driver allows a "software poweroff" by long-
pressing a certain key. This behavior is inconvnient when that button needs
to be held down for other purposes, such as moving the cursor in rockpaint
or sgt-untangle.
This patch allows selectively disabling the software poweroff (enabled by
default) from both core and plugin code.
Change-Id: I7580752888ae5c7c7c5eb1be5966e3d67f17d4b4
|
|
Change-Id: I8e322b93653cb43b010dfd5c0f566ea1c4c7b7ff
|
|
(This migration happened over a decade ago!)
Change-Id: Ib396414a16f2d763e549af49e3f3b03047dab49c
|
|
Change-Id: I71a283b8e705ad8b9274858bc3cde19d25fc7253
|
|
This allows the player to be usable.
Slightly adapted from:
https://forums.rockbox.org/index.php/topic,10164.msg245357.html#msg245357
Change-Id: I7bdd681b132cac4c82e3ba6aabe74169645eee4c
|
|
This patch doesn't implement them just defines them
Change-Id: I1762152c3c683cc68bcedac5923c536316441613
|
|
Change-Id: I95c93933487c4260a7aa43ebed273ab2c05e55c1
|
|
Change-Id: I152f038954ac1649b30dd17c3e6332e4d756502c
|
|
Change-Id: Ice62dfa7f266ee4369793777a39e675bceae1831
|
|
Loop terminator needed a preincrement rather than postincrement, and
also used a proper #define instead of a magic number.
Change-Id: Iafd6a0dce0304cb94e4f1d04cce46d2ca603507a
|
|
Change-Id: I297cbfb60aa18c0895b27ffa787ef6fb9440e03c
|
|
User reported LCD screen corruption via forum in 3.14 and 3.15
turning backlight off and back on seems to fix the issue
http://forums.rockbox.org/index.php/topic,53192.0.html
Change-Id: Id0b34d2f9b77e79ab0ecabace331f0b203184724
|
|
Their codec headers weren't in the right place.
Change-Id: Iae16c10defc937cc227afd8992ff45cd6d664898
|
|
It's even missing a config header file. Just shoot it in the head.
Change-Id: I4c5cdb4fb63361a4e4fc893e93d73d3890fe17df
|
|
No targets are enabled, but the hosted Hiby-based targets could have this
feature enabled if they weren't so buggy:
* No generic way to determine wakeup reason under Linux
* No generic way to be asynchronously notified if the alarm is
triggered when we're already awake
* Shutting down may clobber RTC wakeup (driver/etc dependent)
* Rocker's kernel's RTC driver has some 24h clock and timezone-related
issues.
So, the infrastructure is arguably useful, but the only applicable
hardware I have is pathologically brain-dead.
Change-Id: Ie1aa38e72b831c8a0695ff684f260e514eef9710
|
|
Only AGPTeck Rocker is enabled for now, and it doesn't work properly:
* No generic way to determine wakeup reason under Linux
* No generic way to be asynchronously notified if the alarm is
triggered when we're already awake
* Shutting down may clobber RTC wakeup (driver/etc dependent)
And finally:
* AGPTek kernel's RTC driver has some 24h clock and
some timezone-related issues.
So, the infrastructure is arguably useful, but the only applicable
hardware I have is pathologically brain-dead.
Change-Id: Iac6a26a9b6e4efec5d0b3030b87f456eb23fc01d
|
|
Change-Id: I93819f5ecaad9101a711a0cca626570c7aef0e57
|
|
Once some missing power optimization stuff was added to the X3ii code,
they were completely identical.
Change-Id: I68e4db5e270e8ff22f91e521616a054bd7baa95d
|
|
On file systems with 2048 bytes per cluster, the bpb_secperclus value
gets multiplied by 4 when the meta data is loaded. This patch changes
the sanity check to consider (and reverse) that multiplication before
checking the cluster size.
Signed-off-by: Stefan Ott <stefan@ott.net>
|
|
Provided by Roman Stolyarov
Integration, Refactoring, and Upstreaming by Solomon Peachy
X3II confirmed working by forum tester, X20 is nearly identical.
This includes bootloader, main firmware, and the flash image patcher.
Eventual Todo:
* Further refactor AGPTek Rocker & xduoo hiby bootloaders
* Further refactor AGPTek Rocker & xduoo hosted platform code
Change-Id: I34a674051d368efcc75d1d18c725971fe46c3eee
|
|
Fixes checkwps build on xDuooX3 (only target that uses it!)
Change-Id: I4dfe095338c938f88a2791351c82f310d0531ad7
|
|
Change-Id: I39a7be7cf0ace47cd4aba2a01d9450e1ba41cb7b
|
|
Makes the structure more compact.
Fixes the build failure on the m68k M5 target
Change-Id: If17b872f4923d3a52b344e3c59ed6f870d5a7725
|
|
For some reason it was defined as 'unsigned short' but all arguments to
the threading functions and other structs used size_t. The SDL plugin
tried to allocate a 2MB stack and this resulted in much badness.
This is a _very_ old bug, and might be responsible for countless subtle
bugs!
Change-Id: I8b7fd79a10c21e3ab524a89b4d40d9afa4fab638
|
|
The pp502x cache init code tries to flush the cache by reading
a block of DRAM. Change the starting point from 0x0 to 0x1000
so the compiler doesn't helpfully insert an undefined instruction
to deliberately crash the target.
(This behavior is intentional on the part of GCC, and was triggered
by using -Os with my experimental 4.9.4 toolchain)
Change-Id: I2d2719615a1164a035f3dac8a56dd3737bbab1d5
|
|
Causes things to go boom with newer toolchains.
Change-Id: Ibd00edc9ea16aae8115b63ebce08ac920b0608a2
|
|
Change-Id: I8977e1bcc805df463f7b08f11be889368db4eab2
|
|
Change-Id: I07e57218638ef62c0e4bf92833add6c3ba7bdcd8
|
|
Change-Id: I0a4bbcf94e9cadf43a822c1cb2f2dad3bd4f7588
|
|
This patch cleans up the sd driver for the V1 sansas
powersave implemented for the sd interface
Change-Id: I3d864f7aa304cf792cc65fa4ff06c1e52fbed329
|
|
Change-Id: I0446258d1f14f5423cca55de04abf545a92c61cf
|
|
Stop gap till I get a chance to work on the root folder stuff
Makes whatever volume marked by bootdata.boot_volume
the base or root volume, mounts all other volumes after
the specified boot volume.
Has the effect of swapping the SD card to the slot for internal
and Internal storage is mounted as the Sd-card.
Does not honor root redirect -- uses .rockbox folder in the root of boot volume
Change-Id: I0f786aa0c8721e21cba607366775be3e3c0cf474
|
|
on timer_unregister callbacks are not removed
It seems (at least on the Rocker) timers continue to fire (for a bit??)
Now we store the registered callback in the sigev structure and check
that the callback matches the one registered when the timer is created.
This should stop the possible case of a new timer getting spurious callbacks
We also now NULL the callbacks on un-register which should stop the segfaults
Added some notes to timer.c and timer.h
Change-Id: Ia155c3a4e4af89f474d55ed845560ccc1fab85aa
|
|
7442742 ("iPod Classic: disable IRAM1") was causing subsequent ipod6g
bootloader builds to result in a completely black screen upon
installation, with recovery only possible with a reflash through DFU
mode.
IRAM1 is re-enabled for bootloader only.
Change-Id: I92d489c91f81cad55d66a8647c1e61a45f468770
|
|
Gives us the lowest HW sample rate that's >= 22KHz.
Needed because some targets that don't support 22K support 11K or 8K, so
HW_SAMPR_MIN will give us much lower quality than is acceptable.
Take advantage of this new macro in the SDL, MIDI, and MIKMOD plugins,
and implement a crude "fast enough" test to enable higher sample rates
on more capable targets.
Change-Id: I6ad38026fb3410c62da028e78512e027729bb851
|
|
The screen content is only poorly visible without backlight, it's not
really usable this way.
Removing HAVE_TRANSFLECTIVE_LCD also fixes the "flashing screen"
issue that appeared on some models when "lcd_awake()" is called.
Change-Id: I3ba954c944077a32016820462f782dc27a31f8d8
|
|
This reverts commit a89bf68e889dd989e486b0a131618f69e5fc26c6.
HAVE_MULTIVOLUME && HAVE_MULTIDRIVE implicitly means "allow 4 volumes
per drive" whereas the normal MULTIDRIVE behavior is to only allow 1
volume per drive.
|
|
The latter always enables the former.
There are no remaining HAVE_MULTIVOLUME users in-tree.
Change-Id: I0f4fd03a6ffed5c0eb3fb5f916f671bd199f1c8e
|
|
This should correct ROLO operation on all targets.
Change-Id: Icefbf1af83fd756283a0f6c78ba2370fe41f4473
|
|
Change-Id: I5efec00e60aacf05166407ad43b9d63340e18967
|
|
Should fix the various sim builds.
Change-Id: I1dc5e8228698afb32c84ada2aa916e52e19f49d7
|
|
Addition of rtc support for AGPtEK ROCKER broke building the UI Simulator
for Windows. This patch removes the rtc support if building UI Simulator for
Windows.
|
|
Change-Id: Iae31a5fd414708b4a222ba0b05b5828a8e0d19af
|
|
Remove dependency on settings.g for bootloader
ifdef out AUDIOHW_HAVE_EQ Settings these should be indexing the
global_settings.hw_eq_bands[AUDIOHW_EQ_BAND_NUM] struct
Change-Id: I1d1a8556ef88ce43397b600261696dacdf372034
|
|
Adds:
sound_current(int setting)
returns the current sound setting from global_settings
complements sound_max, sound_min and sound_default
Change-Id: I35bd893753c958f808492906fe533edc51d5d57c
|
|
The Quake plugin is the only code that actually relies on float
formatting. Because Quake only runs on targets with huge memory
anyway, limiting their formatting to just those targets will minimize
the increased memory use in the core.
Change-Id: Icdbe26ec6ede564861cc01ac4add76a12b00ecd5
|