1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware/include
Michael Sevakis 533d396761 Add multi-reader, single-writer locks to kernel.
Any number of readers may be in the critical section at a time and writers
are mutually exclusive to all other threads. They are a better choice when
data is rarely modified but often read and multiple threads can safely
access it for reading.

Priority inheritance is fully implemented along with other changes to the
kernel to fully support it on multiowner objects.

This also cleans up priority code in the kernel and updates some associated
structures in existing objects to the cleaner form.

Currently doesn't add the mrsw_lock.[ch] files since they're not yet
needed by anything but the supporting improvements are still useful.

This includes a typed bitarray API (bitarray.h) which is pretty basic
for now.

Change-Id: Idbe43dcd9170358e06d48d00f1c69728ff45b0e3
Reviewed-on: http://gerrit.rockbox.org/801
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested: Michael Sevakis <jethead71@rockbox.org>
2014-08-06 02:47:47 +02:00
..
_ansi.h Move some gcc extensions to new gcc_extensions.h header 2010-07-25 14:44:29 +00:00
assert.h strncpy.c / assert.h : need to include _ansi.h 2010-07-25 14:53:06 +00:00
bitarray.h Add multi-reader, single-writer locks to kernel. 2014-08-06 02:47:47 +02:00
buflib.h buflib: Add a define telling the per-alloc overhead. 2014-02-02 19:40:38 +01:00
core_alloc.h buflib: Properly support allocations without any name, to avoid wasting space 2014-02-02 19:40:38 +01:00
crc32-mi4.h crc-mi4: use const lookup table for crc 2014-07-07 12:54:50 +02:00
crc32-rkw.h Add RKW firmware file format loader 2012-03-04 00:34:26 +01:00
crc32.h buflib: Add crc field protecting buflib cookie integrity 2014-01-16 10:17:39 +01:00
dbgcheck.h Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). 2010-06-21 16:53:00 +00:00
diacritic.h FS#11187 - diacritic.c is in 'drivers' but it does not belong there 2010-04-07 20:41:18 +00:00
dir.h Move VOL_NAMES definition to mv.h 2014-02-23 20:23:51 +01:00
dir_uncached.h RaaA: Move directory related stuff from filesystem-unix.c into rbpaths.c. 2014-02-23 20:23:52 +01:00
dircache.h Dircache: Allow dircache to be enabled without reboot. 2011-08-30 21:07:46 +00:00
file.h samsungypr0: Support or mounting the microsd 2014-02-23 20:23:52 +01:00
font_cache.h fonts: Do not unload completely on USB. 2014-01-15 23:37:39 +01:00
format.h format() (and its alias vuprintf) return values are uncheck -> void 2010-09-20 08:55:45 +00:00
gcc_extensions.h Add a NO_INLINE attribute to gcc_extensions. 2012-04-26 16:04:43 -04:00
loader_strerror.h Move load_firmware() to separate file 2013-06-27 13:50:11 +02:00
lru.h Finish r30818 revert 2011-10-22 08:23:52 +00:00
memset16.h Move memset6() declaration to string-extra.h, kills a warning compiling for android since it ships a memory.h. 2010-08-12 13:55:01 +00:00
rb-loader.h Move load_firmware() to separate file 2013-06-27 13:50:11 +02:00
rbunicode.h codepages: Translate to linux codepage names for use on APPLICATION. 2014-02-23 20:23:52 +01:00
strcasecmp.h Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes). 2010-05-06 21:04:40 +00:00
strcasestr.h Fix tabs in .c and .h files in firmware/ 2011-05-08 11:37:18 +00:00
string-extra.h Move memset6() declaration to string-extra.h, kills a warning compiling for android since it ships a memory.h. 2010-08-12 13:55:01 +00:00
strlcat.h Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes). 2010-05-06 21:04:40 +00:00
strlcpy.h Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes). 2010-05-06 21:04:40 +00:00
strnatcmp.h Commit FS#8314. This adds strnat[case]cmp written by Martin Pool, which respects numbers within strings, and gives a more intuitive 2009-03-01 17:55:59 +00:00
strtok_r.h Make the sim buildable with mingw again 2010-05-14 22:57:52 +00:00
timefuncs.h Remove USB time sync code when there's no RTC. 2011-12-16 00:09:28 +00:00