aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/ARM7-AT91SAM7S-FATFS-GCC/chconf.h1
-rw-r--r--demos/ARM7-AT91SAM7S-GCC/chconf.h1
-rw-r--r--demos/ARM7-AT91SAM7X-FATFS-GCC/chconf.h1
-rw-r--r--demos/ARM7-AT91SAM7X-GCC/chconf.h1
-rw-r--r--demos/ARM7-AT91SAM7X-LWIP-GCC/chconf.h1
-rw-r--r--demos/ARM7-AT91SAM7X-UIP-GCC/chconf.h1
-rw-r--r--demos/ARM7-LPC214x-FATFS-GCC/chconf.h1
-rw-r--r--demos/ARM7-LPC214x-G++/chconf.h1
-rw-r--r--demos/ARM7-LPC214x-GCC/chconf.h1
-rw-r--r--demos/ARMCM0-LPC1114-LPCXPRESSO/chconf.h1
-rw-r--r--demos/ARMCM3-LPC1343-LPCXPRESSO/chconf.h1
-rw-r--r--demos/ARMCM3-STM32F100-DISCOVERY/chconf.h1
-rw-r--r--demos/ARMCM3-STM32F103-FATFS-GCC/chconf.h1
-rw-r--r--demos/ARMCM3-STM32F103-G++/chconf.h1
-rw-r--r--demos/ARMCM3-STM32F103/chconf.h1
-rw-r--r--demos/ARMCM3-STM32F103ZG/chconf.h1
-rw-r--r--demos/ARMCM3-STM32F107/chconf.h1
-rw-r--r--demos/AVR-AT90CANx-GCC/chconf.h1
-rw-r--r--demos/AVR-ATmega128-GCC/chconf.h1
-rw-r--r--demos/MSP430-MSP430x1611-GCC/chconf.h1
-rw-r--r--demos/PPC-SPC563-GCC/chconf.h1
-rw-r--r--demos/Posix-GCC/chconf.h1
-rw-r--r--demos/STM8L-STM8L152-DISCOVERY-STVD/demo/chconf.h1
-rw-r--r--demos/STM8S-STM8S105-DISCOVERY-STVD/demo/chconf.h1
-rw-r--r--demos/STM8S-STM8S208-RC/chconf.h1
-rw-r--r--demos/Win32-MinGW/chconf.h1
-rw-r--r--docs/reports/STM32F103-72-GCC.txt28
-rw-r--r--os/kernel/include/chqueues.h11
-rw-r--r--os/kernel/src/chqueues.c34
-rw-r--r--os/kernel/templates/chconf.h1
-rw-r--r--test/coverage/chconf.h1
-rw-r--r--testhal/LPC11xx/IRQ_STORM/chconf.h1
-rw-r--r--testhal/LPC13xx/IRQ_STORM/chconf.h1
-rw-r--r--testhal/STM32/ADC/chconf.h1
-rw-r--r--testhal/STM32/CAN/chconf.h1
-rw-r--r--testhal/STM32/GPT/chconf.h1
-rw-r--r--testhal/STM32/IRQ_STORM/chconf.h1
-rw-r--r--testhal/STM32/PWM-ICU/chconf.h1
-rw-r--r--testhal/STM32/SDIO/chconf.h1
-rw-r--r--testhal/STM32/SPI/chconf.h1
-rw-r--r--testhal/STM32/UART/chconf.h1
-rw-r--r--testhal/STM32/USB_CDC/chconf.h1
-rw-r--r--testhal/STM32/USB_MSC/chconf.h1
-rw-r--r--testhal/STM8S/SPI/demo/chconf.h1
44 files changed, 33 insertions, 81 deletions
diff --git a/demos/ARM7-AT91SAM7S-FATFS-GCC/chconf.h b/demos/ARM7-AT91SAM7S-FATFS-GCC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARM7-AT91SAM7S-FATFS-GCC/chconf.h
+++ b/demos/ARM7-AT91SAM7S-FATFS-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARM7-AT91SAM7S-GCC/chconf.h b/demos/ARM7-AT91SAM7S-GCC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARM7-AT91SAM7S-GCC/chconf.h
+++ b/demos/ARM7-AT91SAM7S-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARM7-AT91SAM7X-FATFS-GCC/chconf.h b/demos/ARM7-AT91SAM7X-FATFS-GCC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARM7-AT91SAM7X-FATFS-GCC/chconf.h
+++ b/demos/ARM7-AT91SAM7X-FATFS-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARM7-AT91SAM7X-GCC/chconf.h b/demos/ARM7-AT91SAM7X-GCC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARM7-AT91SAM7X-GCC/chconf.h
+++ b/demos/ARM7-AT91SAM7X-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARM7-AT91SAM7X-LWIP-GCC/chconf.h b/demos/ARM7-AT91SAM7X-LWIP-GCC/chconf.h
index c117dccdd..dc89525ef 100644
--- a/demos/ARM7-AT91SAM7X-LWIP-GCC/chconf.h
+++ b/demos/ARM7-AT91SAM7X-LWIP-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARM7-AT91SAM7X-UIP-GCC/chconf.h b/demos/ARM7-AT91SAM7X-UIP-GCC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARM7-AT91SAM7X-UIP-GCC/chconf.h
+++ b/demos/ARM7-AT91SAM7X-UIP-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARM7-LPC214x-FATFS-GCC/chconf.h b/demos/ARM7-LPC214x-FATFS-GCC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARM7-LPC214x-FATFS-GCC/chconf.h
+++ b/demos/ARM7-LPC214x-FATFS-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARM7-LPC214x-G++/chconf.h b/demos/ARM7-LPC214x-G++/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARM7-LPC214x-G++/chconf.h
+++ b/demos/ARM7-LPC214x-G++/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARM7-LPC214x-GCC/chconf.h b/demos/ARM7-LPC214x-GCC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARM7-LPC214x-GCC/chconf.h
+++ b/demos/ARM7-LPC214x-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARMCM0-LPC1114-LPCXPRESSO/chconf.h b/demos/ARMCM0-LPC1114-LPCXPRESSO/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARMCM0-LPC1114-LPCXPRESSO/chconf.h
+++ b/demos/ARMCM0-LPC1114-LPCXPRESSO/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARMCM3-LPC1343-LPCXPRESSO/chconf.h b/demos/ARMCM3-LPC1343-LPCXPRESSO/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARMCM3-LPC1343-LPCXPRESSO/chconf.h
+++ b/demos/ARMCM3-LPC1343-LPCXPRESSO/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARMCM3-STM32F100-DISCOVERY/chconf.h b/demos/ARMCM3-STM32F100-DISCOVERY/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARMCM3-STM32F100-DISCOVERY/chconf.h
+++ b/demos/ARMCM3-STM32F100-DISCOVERY/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARMCM3-STM32F103-FATFS-GCC/chconf.h b/demos/ARMCM3-STM32F103-FATFS-GCC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARMCM3-STM32F103-FATFS-GCC/chconf.h
+++ b/demos/ARMCM3-STM32F103-FATFS-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARMCM3-STM32F103-G++/chconf.h b/demos/ARMCM3-STM32F103-G++/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARMCM3-STM32F103-G++/chconf.h
+++ b/demos/ARMCM3-STM32F103-G++/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARMCM3-STM32F103/chconf.h b/demos/ARMCM3-STM32F103/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARMCM3-STM32F103/chconf.h
+++ b/demos/ARMCM3-STM32F103/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARMCM3-STM32F103ZG/chconf.h b/demos/ARMCM3-STM32F103ZG/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARMCM3-STM32F103ZG/chconf.h
+++ b/demos/ARMCM3-STM32F103ZG/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/ARMCM3-STM32F107/chconf.h b/demos/ARMCM3-STM32F107/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/ARMCM3-STM32F107/chconf.h
+++ b/demos/ARMCM3-STM32F107/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/AVR-AT90CANx-GCC/chconf.h b/demos/AVR-AT90CANx-GCC/chconf.h
index b941ca77d..2568f89ca 100644
--- a/demos/AVR-AT90CANx-GCC/chconf.h
+++ b/demos/AVR-AT90CANx-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/AVR-ATmega128-GCC/chconf.h b/demos/AVR-ATmega128-GCC/chconf.h
index b941ca77d..2568f89ca 100644
--- a/demos/AVR-ATmega128-GCC/chconf.h
+++ b/demos/AVR-ATmega128-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/MSP430-MSP430x1611-GCC/chconf.h b/demos/MSP430-MSP430x1611-GCC/chconf.h
index dcddb9a23..6428f5feb 100644
--- a/demos/MSP430-MSP430x1611-GCC/chconf.h
+++ b/demos/MSP430-MSP430x1611-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/PPC-SPC563-GCC/chconf.h b/demos/PPC-SPC563-GCC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/demos/PPC-SPC563-GCC/chconf.h
+++ b/demos/PPC-SPC563-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/Posix-GCC/chconf.h b/demos/Posix-GCC/chconf.h
index cda9cabab..c01a15331 100644
--- a/demos/Posix-GCC/chconf.h
+++ b/demos/Posix-GCC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/STM8L-STM8L152-DISCOVERY-STVD/demo/chconf.h b/demos/STM8L-STM8L152-DISCOVERY-STVD/demo/chconf.h
index 3f42e3885..3f0e7f5ec 100644
--- a/demos/STM8L-STM8L152-DISCOVERY-STVD/demo/chconf.h
+++ b/demos/STM8L-STM8L152-DISCOVERY-STVD/demo/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/STM8S-STM8S105-DISCOVERY-STVD/demo/chconf.h b/demos/STM8S-STM8S105-DISCOVERY-STVD/demo/chconf.h
index 3f42e3885..3f0e7f5ec 100644
--- a/demos/STM8S-STM8S105-DISCOVERY-STVD/demo/chconf.h
+++ b/demos/STM8S-STM8S105-DISCOVERY-STVD/demo/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/STM8S-STM8S208-RC/chconf.h b/demos/STM8S-STM8S208-RC/chconf.h
index 3f42e3885..3f0e7f5ec 100644
--- a/demos/STM8S-STM8S208-RC/chconf.h
+++ b/demos/STM8S-STM8S208-RC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/demos/Win32-MinGW/chconf.h b/demos/Win32-MinGW/chconf.h
index cda9cabab..c01a15331 100644
--- a/demos/Win32-MinGW/chconf.h
+++ b/demos/Win32-MinGW/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/docs/reports/STM32F103-72-GCC.txt b/docs/reports/STM32F103-72-GCC.txt
index 87366005c..28041072a 100644
--- a/docs/reports/STM32F103-72-GCC.txt
+++ b/docs/reports/STM32F103-72-GCC.txt
@@ -1,12 +1,12 @@
***************************************************************************
-Options: -O2 -fomit-frame-pointer -mabi=apcs-gnu -falign-functions=16
+Options: -O2 -fomit-frame-pointer -falign-functions=16
Settings: SYSCLK=72, ACR=0x12 (2 wait states)
***************************************************************************
*** ChibiOS/RT test suite
***
*** Kernel: 2.3.3unstable
-*** Compiler: GCC 4.6.0
+*** Compiler: GCC 4.5.2
*** Architecture: ARMv7-M
*** Core Variant: Cortex-M3
*** Port Info: Advanced kernel mode
@@ -99,51 +99,51 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states)
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.1 (Benchmark, messages #1)
---- Score : 267098 msgs/S, 534196 ctxswc/S
+--- Score : 248569 msgs/S, 497138 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2)
---- Score : 213832 msgs/S, 427664 ctxswc/S
+--- Score : 198998 msgs/S, 397996 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3)
---- Score : 213832 msgs/S, 427664 ctxswc/S
+--- Score : 198998 msgs/S, 397996 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.4 (Benchmark, context switch)
---- Score : 962832 ctxswc/S
+--- Score : 839008 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads, full cycle)
---- Score : 161828 threads/S
+--- Score : 156856 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, threads, create only)
---- Score : 241113 threads/S
+--- Score : 235543 threads/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
---- Score : 64728 reschedules/S, 388368 ctxswc/S
+--- Score : 61138 reschedules/S, 366828 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching)
---- Score : 468840 ctxswc/S
+--- Score : 478124 ctxswc/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
---- Score : 526392 bytes/S
+--- Score : 581768 bytes/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
---- Score : 647308 timers/S
+--- Score : 647262 timers/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
---- Score : 787420 wait+signal/S
+--- Score : 787368 wait+signal/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.12 (Benchmark, mutexes lock/unlock)
---- Score : 596276 lock+unlock/S
+--- Score : 586492 lock+unlock/S
--- Result: SUCCESS
----------------------------------------------------------------------------
--- Test Case 11.13 (Benchmark, RAM footprint)
diff --git a/os/kernel/include/chqueues.h b/os/kernel/include/chqueues.h
index d1bad3149..d38b25e6f 100644
--- a/os/kernel/include/chqueues.h
+++ b/os/kernel/include/chqueues.h
@@ -31,18 +31,11 @@
#if CH_USE_QUEUES || defined(__DOXYGEN__)
-/*
- * Module dependencies check.
- */
-#if !CH_USE_SEMAPHORES
-#error "CH_USE_QUEUES requires CH_USE_SEMAPHORES"
-#endif
-
/** @brief Returned by the queue functions if the operation is successful.*/
#define Q_OK RDY_OK
/** @brief Returned by the queue functions if a timeout occurs.*/
#define Q_TIMEOUT RDY_TIMEOUT
-/** @brief Returned by the queue functions if the queue is reset.*/
+/** @brief Returned by the queue functions if the queue has been reset.*/
#define Q_RESET RDY_RESET
/** @brief Returned by the queue functions if the queue is empty.*/
#define Q_EMPTY -3
@@ -166,7 +159,7 @@ typedef GenericQueue InputQueue;
*
* @param[in] iqp pointer to an @p InputQueue structure
* @return A byte value from the queue.
- * @retval Q_RESET If the queue has been reset.
+ * @retval Q_RESET if the queue has been reset.
*
* @api
*/
diff --git a/os/kernel/src/chqueues.c b/os/kernel/src/chqueues.c
index f6ae10257..767a36e63 100644
--- a/os/kernel/src/chqueues.c
+++ b/os/kernel/src/chqueues.c
@@ -58,14 +58,14 @@
* .
* @return A message specifying how the invoking thread has been
* released from threads queue.
- * @retval RDY_OK is the normal exit, thread signaled.
- * @retval RDY_RESET if the queue has been reset.
- * @retval RDY_TIMEOUT if the queue operation timed out.
+ * @retval Q_OK is the normal exit, thread signaled.
+ * @retval Q_RESET if the queue has been reset.
+ * @retval Q_TIMEOUT if the queue operation timed out.
*/
static msg_t qwait(GenericQueue *qp, systime_t time) {
if (TIME_IMMEDIATE == time)
- return RDY_TIMEOUT;
+ return Q_TIMEOUT;
currp->p_u.wtobjp = qp;
queue_insert(currp, &qp->q_waiting);
return chSchGoSleepTimeoutS(THD_STATE_WTQUEUE, time);
@@ -111,7 +111,7 @@ void chIQResetI(InputQueue *iqp) {
iqp->q_rdptr = iqp->q_wrptr = iqp->q_buffer;
iqp->q_counter = 0;
while (notempty(&iqp->q_waiting))
- chSchReadyI(fifo_remove(&iqp->q_waiting))->p_u.rdymsg = RDY_RESET;
+ chSchReadyI(fifo_remove(&iqp->q_waiting))->p_u.rdymsg = Q_RESET;
}
/**
@@ -137,7 +137,7 @@ msg_t chIQPutI(InputQueue *iqp, uint8_t b) {
if (iqp->q_wrptr >= iqp->q_top)
iqp->q_wrptr = iqp->q_buffer;
if (notempty(&iqp->q_waiting))
- chSchReadyI(fifo_remove(&iqp->q_waiting))->p_u.rdymsg = RDY_OK;
+ chSchReadyI(fifo_remove(&iqp->q_waiting))->p_u.rdymsg = Q_OK;
return Q_OK;
}
@@ -155,7 +155,7 @@ msg_t chIQPutI(InputQueue *iqp, uint8_t b) {
* .
* @return A byte value from the queue.
* @retval Q_TIMEOUT if the specified time expired.
- * @retval Q_RESET if the queue was reset.
+ * @retval Q_RESET if the queue has been reset.
*
* @api
*/
@@ -163,13 +163,13 @@ msg_t chIQGetTimeout(InputQueue *iqp, systime_t time) {
uint8_t b;
chSysLock();
- if (iqp->q_notify)
- iqp->q_notify(iqp);
-
while (chIQIsEmptyI(iqp)) {
msg_t msg;
- if ((msg = qwait((GenericQueue *)iqp, time)) < RDY_OK) {
+ if (iqp->q_notify)
+ iqp->q_notify(iqp);
+
+ if ((msg = qwait((GenericQueue *)iqp, time)) < Q_OK) {
chSysUnlock();
return msg;
}
@@ -220,7 +220,7 @@ size_t chIQReadTimeout(InputQueue *iqp, uint8_t *bp,
while (chIQIsEmptyI(iqp)) {
if (nfy)
nfy(iqp);
- if (qwait((GenericQueue *)iqp, time) != RDY_OK) {
+ if (qwait((GenericQueue *)iqp, time) != Q_OK) {
chSysUnlock();
return r;
}
@@ -283,7 +283,7 @@ void chOQResetI(OutputQueue *oqp) {
oqp->q_rdptr = oqp->q_wrptr = oqp->q_buffer;
oqp->q_counter = chQSizeI(oqp);
while (notempty(&oqp->q_waiting))
- chSchReadyI(fifo_remove(&oqp->q_waiting))->p_u.rdymsg = RDY_RESET;
+ chSchReadyI(fifo_remove(&oqp->q_waiting))->p_u.rdymsg = Q_RESET;
}
/**
@@ -302,7 +302,7 @@ void chOQResetI(OutputQueue *oqp) {
* @return The operation status.
* @retval Q_OK if the operation succeeded.
* @retval Q_TIMEOUT if the specified time expired.
- * @retval Q_RESET if the queue was reset.
+ * @retval Q_RESET if the queue has been reset.
*
* @api
*/
@@ -312,7 +312,7 @@ msg_t chOQPutTimeout(OutputQueue *oqp, uint8_t b, systime_t time) {
while (chOQIsFullI(oqp)) {
msg_t msg;
- if ((msg = qwait((GenericQueue *)oqp, time)) < RDY_OK) {
+ if ((msg = qwait((GenericQueue *)oqp, time)) < Q_OK) {
chSysUnlock();
return msg;
}
@@ -351,7 +351,7 @@ msg_t chOQGetI(OutputQueue *oqp) {
if (oqp->q_rdptr >= oqp->q_top)
oqp->q_rdptr = oqp->q_buffer;
if (notempty(&oqp->q_waiting))
- chSchReadyI(fifo_remove(&oqp->q_waiting))->p_u.rdymsg = RDY_OK;
+ chSchReadyI(fifo_remove(&oqp->q_waiting))->p_u.rdymsg = Q_OK;
return b;
}
@@ -391,7 +391,7 @@ size_t chOQWriteTimeout(OutputQueue *oqp, const uint8_t *bp,
while (chOQIsFullI(oqp)) {
if (nfy)
nfy(oqp);
- if (qwait((GenericQueue *)oqp, time) != RDY_OK) {
+ if (qwait((GenericQueue *)oqp, time) != Q_OK) {
chSysUnlock();
return w;
}
diff --git a/os/kernel/templates/chconf.h b/os/kernel/templates/chconf.h
index ccde82347..1bfd36e58 100644
--- a/os/kernel/templates/chconf.h
+++ b/os/kernel/templates/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/test/coverage/chconf.h b/test/coverage/chconf.h
index f1cce630a..cf85ab513 100644
--- a/test/coverage/chconf.h
+++ b/test/coverage/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/LPC11xx/IRQ_STORM/chconf.h b/testhal/LPC11xx/IRQ_STORM/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/LPC11xx/IRQ_STORM/chconf.h
+++ b/testhal/LPC11xx/IRQ_STORM/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/LPC13xx/IRQ_STORM/chconf.h b/testhal/LPC13xx/IRQ_STORM/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/LPC13xx/IRQ_STORM/chconf.h
+++ b/testhal/LPC13xx/IRQ_STORM/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/ADC/chconf.h b/testhal/STM32/ADC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/ADC/chconf.h
+++ b/testhal/STM32/ADC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/CAN/chconf.h b/testhal/STM32/CAN/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/CAN/chconf.h
+++ b/testhal/STM32/CAN/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/GPT/chconf.h b/testhal/STM32/GPT/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/GPT/chconf.h
+++ b/testhal/STM32/GPT/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/IRQ_STORM/chconf.h b/testhal/STM32/IRQ_STORM/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/IRQ_STORM/chconf.h
+++ b/testhal/STM32/IRQ_STORM/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/PWM-ICU/chconf.h b/testhal/STM32/PWM-ICU/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/PWM-ICU/chconf.h
+++ b/testhal/STM32/PWM-ICU/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/SDIO/chconf.h b/testhal/STM32/SDIO/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/SDIO/chconf.h
+++ b/testhal/STM32/SDIO/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/SPI/chconf.h b/testhal/STM32/SPI/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/SPI/chconf.h
+++ b/testhal/STM32/SPI/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/UART/chconf.h b/testhal/STM32/UART/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/UART/chconf.h
+++ b/testhal/STM32/UART/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/USB_CDC/chconf.h b/testhal/STM32/USB_CDC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/USB_CDC/chconf.h
+++ b/testhal/STM32/USB_CDC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM32/USB_MSC/chconf.h b/testhal/STM32/USB_MSC/chconf.h
index ccde82347..1bfd36e58 100644
--- a/testhal/STM32/USB_MSC/chconf.h
+++ b/testhal/STM32/USB_MSC/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE
diff --git a/testhal/STM8S/SPI/demo/chconf.h b/testhal/STM8S/SPI/demo/chconf.h
index 3f42e3885..3f0e7f5ec 100644
--- a/testhal/STM8S/SPI/demo/chconf.h
+++ b/testhal/STM8S/SPI/demo/chconf.h
@@ -278,7 +278,6 @@
* @details If enabled then the I/O queues APIs are included in the kernel.
*
* @note The default is @p TRUE.
- * @note Requires @p CH_USE_SEMAPHORES.
*/
#if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
#define CH_USE_QUEUES TRUE