aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/ARM7-AT91SAM7X-GCC/Makefile2
-rw-r--r--demos/ARM7-AT91SAM7X-GCC/Makefile.thumb2
-rw-r--r--docs/Doxyfile2
-rw-r--r--docs/index.html2
-rw-r--r--readme.txt7
-rw-r--r--src/chschd.c11
6 files changed, 15 insertions, 11 deletions
diff --git a/demos/ARM7-AT91SAM7X-GCC/Makefile b/demos/ARM7-AT91SAM7X-GCC/Makefile
index c94b88fdb..5e1211efa 100644
--- a/demos/ARM7-AT91SAM7X-GCC/Makefile
+++ b/demos/ARM7-AT91SAM7X-GCC/Makefile
@@ -103,7 +103,7 @@ TOPT = -mthumb -D THUMB
# increases the code size.
OPT = -O2 -ggdb -fomit-frame-pointer -fno-strict-aliasing
#OPT += -ffixed-r7
-OPT += -falign-functions=16
+#OPT += -falign-functions=16
# Define warning options here
WARN = -Wall -Wstrict-prototypes
diff --git a/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb b/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb
index 76a4459fd..64d348ad5 100644
--- a/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb
+++ b/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb
@@ -103,7 +103,7 @@ TOPT = -mthumb -D THUMB
# increases the code size.
OPT = -Os -ggdb -fomit-frame-pointer -fno-strict-aliasing
#OPT += -ffixed-r7
-OPT += -falign-functions=16
+#OPT += -falign-functions=16
# Define warning options here
WARN = -Wall -Wstrict-prototypes
diff --git a/docs/Doxyfile b/docs/Doxyfile
index e4915c571..a6b908404 100644
--- a/docs/Doxyfile
+++ b/docs/Doxyfile
@@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = ChibiOS/RT
-PROJECT_NUMBER = "0.6.0 beta"
+PROJECT_NUMBER = "0.6.1 beta"
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
diff --git a/docs/index.html b/docs/index.html
index 43738aa72..edd77fc03 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -13,7 +13,7 @@ Homepage</h2>
</tr>
<tr>
<td style="text-align: center; vertical-align: top; width: 150px;">Current
-Version 0.6.0<br>
+Version 0.6.1<br>
-<br>
<a href="http://sourceforge.net/projects/chibios/" rel="me" target="_top">Project on SourceForge</a><br>
<a href="html/index.html" target="_top" rel="me">Documentation</a><br>
diff --git a/readme.txt b/readme.txt
index 740506706..537642ebb 100644
--- a/readme.txt
+++ b/readme.txt
@@ -62,6 +62,13 @@ AVR-AT90CANx-GCC - Port on AVR AT90CAN128, not tested on hardware yet.
*** Releases ***
*****************************************************************************
+*** 0.6.1 ***
+- Removed some redundant checks from the scheduler code: improved threads
+ flyback time.
+- Removed the -falign-functions=16 option from the AT91SAM7X demo makefiles,
+ the Atmel chip does not require it, the option is still present on the
+ LPC21xx demos. This saves significant ROM space.
+
*** 0.6.0 ***
- Code refactory, all the old sized-integer definitions like LONG32, UWORD16
etc are now replaced by the proper definitions provided by the compiler
diff --git a/src/chschd.c b/src/chschd.c
index 7a14df518..b7f52c96d 100644
--- a/src/chschd.c
+++ b/src/chschd.c
@@ -93,8 +93,10 @@ void chSchGoSleepS(tstate_t newstate) {
#ifdef CH_USE_VIRTUAL_TIMERS
static void wakeup(void *p) {
+#ifdef CH_USE_SEMAPHORES
if (((Thread *)p)->p_state == PRWTSEM)
chSemFastSignalI(((Thread *)p)->p_wtsemp);
+#endif
chSchReadyI(p, RDY_TIMEOUT);
}
@@ -170,10 +172,8 @@ void chSchDoRescheduleI(void) {
*/
void chSchRescheduleS(void) {
- if (isempty(&rlist.r_queue) || firstprio(&rlist.r_queue) <= currp->p_prio)
- return;
-
- chSchDoRescheduleI();
+ if (firstprio(&rlist.r_queue) > currp->p_prio)
+ chSchDoRescheduleI();
}
/**
@@ -183,9 +183,6 @@ void chSchRescheduleS(void) {
*/
bool_t chSchRescRequiredI(void) {
- if (isempty(&rlist.r_queue))
- return FALSE;
-
if (rlist.r_preempt) {
if (firstprio(&rlist.r_queue) <= currp->p_prio)
return FALSE;