diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2008-03-25 02:34:12 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2008-03-25 02:34:12 +0000 |
commit | 27cf67733936abd75fcb1f8da765977cd75906ee (patch) | |
tree | f894211a8a0c77b402dd3250b2bee2d17dcfe13f /firmware/SOURCES | |
parent | bc2f8fd8f38a3e010cd67bbac358f6e9991153c6 (diff) | |
download | rockbox-27cf67733936abd75fcb1f8da765977cd75906ee.tar.gz rockbox-27cf67733936abd75fcb1f8da765977cd75906ee.zip |
Add a complete priority inheritance implementation to the scheduler (all mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16791 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/SOURCES')
-rw-r--r-- | firmware/SOURCES | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES index 6ef129f4b9..0a8ac2a8e3 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES | |||
@@ -9,11 +9,11 @@ usb.c | |||
9 | #ifdef ROCKBOX_HAS_LOGF | 9 | #ifdef ROCKBOX_HAS_LOGF |
10 | logf.c | 10 | logf.c |
11 | #endif /* ROCKBOX_HAS_LOGF */ | 11 | #endif /* ROCKBOX_HAS_LOGF */ |
12 | kernel.c | ||
12 | #ifndef SIMULATOR | 13 | #ifndef SIMULATOR |
13 | #ifdef RB_PROFILE | 14 | #ifdef RB_PROFILE |
14 | profile.c | 15 | profile.c |
15 | #endif /* RB_PROFILE */ | 16 | #endif /* RB_PROFILE */ |
16 | kernel.c | ||
17 | rolo.c | 17 | rolo.c |
18 | thread.c | 18 | thread.c |
19 | timer.c | 19 | timer.c |
@@ -274,6 +274,10 @@ target/sh/archos/descramble.S | |||
274 | 274 | ||
275 | #ifndef SIMULATOR | 275 | #ifndef SIMULATOR |
276 | target/coldfire/crt0.S | 276 | target/coldfire/crt0.S |
277 | #ifdef HAVE_PRIORITY_SCHEDULING | ||
278 | common/ffs.c | ||
279 | target/coldfire/ffs-coldfire.S | ||
280 | #endif | ||
277 | target/coldfire/memcpy-coldfire.S | 281 | target/coldfire/memcpy-coldfire.S |
278 | target/coldfire/memmove-coldfire.S | 282 | target/coldfire/memmove-coldfire.S |
279 | target/coldfire/memset-coldfire.S | 283 | target/coldfire/memset-coldfire.S |
@@ -299,6 +303,9 @@ common/strlen.c | |||
299 | #ifndef SIMULATOR | 303 | #ifndef SIMULATOR |
300 | target/arm/memset-arm.S | 304 | target/arm/memset-arm.S |
301 | target/arm/memset16-arm.S | 305 | target/arm/memset16-arm.S |
306 | #ifdef HAVE_PRIORITY_SCHEDULING | ||
307 | target/arm/ffs-arm.S | ||
308 | #endif | ||
302 | #if CONFIG_I2C == I2C_PP5024 || CONFIG_I2C == I2C_PP5020 || CONFIG_I2C == I2C_PP5002 | 309 | #if CONFIG_I2C == I2C_PP5024 || CONFIG_I2C == I2C_PP5020 || CONFIG_I2C == I2C_PP5002 |
303 | target/arm/i2c-pp.c | 310 | target/arm/i2c-pp.c |
304 | #elif CONFIG_I2C == I2C_PNX0101 | 311 | #elif CONFIG_I2C == I2C_PNX0101 |
@@ -345,6 +352,9 @@ target/arm/crt0.S | |||
345 | 352 | ||
346 | #else | 353 | #else |
347 | 354 | ||
355 | #ifdef HAVE_PRIORITY_SCHEDULING | ||
356 | common/ffs.c | ||
357 | #endif | ||
348 | common/memcpy.c | 358 | common/memcpy.c |
349 | common/memmove.c | 359 | common/memmove.c |
350 | common/memset.c | 360 | common/memset.c |