Gregory Nutt
e3fe320e08
SMP: Add support for linking spinlocks into a special, non-cached memory region.
2016-11-26 08:47:03 -06:00
Gregory Nutt
7f636f2280
SMP: Add spin_trylock(). Use this in conditions where other CPUs need to stopped but we cannot call enter_critical_section.
2016-11-24 13:33:43 -06:00
Gregory Nutt
bac7153609
SMP: Add logic to avoid a deadlock condition when CPU1 is hung waiting for g_cpu_irqlock and CPU0 is waitin for g_cpu_paused
2016-11-22 11:34:16 -06:00
Gregory Nutt
8eec4ab0e8
Eliminate a warning
2016-11-22 06:58:34 -06:00
Gregory Nutt
558784d06f
Spinlocks: Added capability to provide architecture-specific memory barriers. This was for i.MX6 but does not help with the SMP problems. It is still a good feature.
2016-11-21 11:55:59 -06:00
Gregory Nutt
337d0f1050
Fix a typo in a spinlock macro
2016-11-21 08:27:51 -06:00
Gregory Nutt
e24f281401
This commit adds a new internal interfaces and fixes a problem with three APIs in the SMP configuration. The new internal interface is sched_cpu_pause(tcb). This function will pause a CPU if the task associated with 'tcb' is running on that CPU. This allows a different CPU to modify that OS data stuctures associated with the CPU. When the other CPU is resumed, those modifications can safely take place.
...
The three fixes are to handle cases in the SMP configuration where one CPU does need to make modifications to TCB and data structures on a task that could be running running on another CPU. Those three cases are task_delete(), task_restart(), and execution of signal handles. In all three cases the solutions is basically the same: (1) Call sched_cpu_pause(tcb) to pause the CPU on which the task is running, (2) perform the necessary operations, then (3) call up_cpu_resume() to restart the paused CPU.
2016-11-20 07:57:18 -06:00
Gregory Nutt
6a7619b6f0
Update TODO list
2016-11-19 13:23:15 -06:00
Gregory Nutt
a2aba90252
Update some comments
2016-11-19 11:48:08 -06:00
Gregory Nutt
f40fbaa4b9
sched/task: task_restart() test not supported on SMP systems. This is not fully implemented.
2016-11-19 11:41:05 -06:00
Sebastien Lorquet
5363d0619a
Fix warnings
2016-11-18 15:26:08 +01:00
Sebastien Lorquet
197cec58d2
timer driver: Use signal to notify of timer expiration. Add generic argument so that there can be additional usage.
2016-11-17 14:38:21 -06:00
Gregory Nutt
d4a048c0c6
Timer driver: Add hooks to support signal notification of timer expiration. Commented out because invasive interface changes would also be required to complete the implementation.
2016-11-17 12:41:11 -06:00
Gregory Nutt
ecb2d4cbc1
drivers/timer: Remove the TIOC_SETHANDLER IOCTL call. This calls directly from the timer driver into application code. That is non-standard, non-portable, and cannot be supported
2016-11-17 11:52:42 -06:00
Alan Carvalho de Assis
a6b7730f8c
Add Vishay VEML6070 driver and support for STM32F103-Minimum board
2016-11-13 11:44:28 -06:00
Gregory Nutt
796969f6b6
Update TODO. Provide do-nothing stubs for mutex attribute interfaces if features not enabled. pthread_cond includes a signaling semaphore and should call sem_setprotocol.
2016-11-05 11:06:52 -06:00
Gregory Nutt
b0dffdc2ca
Fix a number of header files with mismatched 'extern C {' and '}'
2016-11-05 07:25:05 -06:00
Gregory Nutt
4c8ec0d2ca
include/nuttx/semaphore.h: Fix broken macros
2016-11-03 12:49:44 -06:00
Gregory Nutt
1da3a5fa61
sched: Disable priority inheritance on all semaphores used for signaling
2016-11-03 12:42:02 -06:00
Gregory Nutt
de30c2e5dd
Back out the rest of commit 1e754402b8
. Newlib support will not be accepted into the NuttX repository.
2016-11-03 09:41:38 -06:00
Alan Carvalho de Assis
1e754402b8
Add C++ support linking with GNU toolchain newlib/stdlibc++
2016-11-03 08:50:58 -06:00
Gregory Nutt
97bf82ee05
Semaphores: Provide macros for sem_setprotobol() and sem_getprotocol() if priority inheritance is not enabled. More SEM_PRIO_* definitions to include/nuttx/semaphore.h
2016-11-02 18:21:46 -06:00
Gregory Nutt
d5b4d848d3
Move protoypes for the non-standard include/semaphore.h file to the non-standard include/nuttx/semaphore.h with the other non-standard semaphore interfaces.
2016-11-02 14:43:03 -06:00
Gregory Nutt
6c51544e56
Update some comments
2016-11-02 14:24:16 -06:00
Gregory Nutt
b738a646ad
sem_getprotocol() can be in C library
2016-11-02 09:29:16 -06:00
Gregory Nutt
92d3022411
Add pthread_mutexattr_get/set_protocol and non-standard sem_get/set_protocol. These may use to enable or disable priority inheritance on a single semaphore.
2016-11-02 09:05:18 -06:00
Paul A. Patience
912fe06a86
Add architecture-specific inttypes.h
2016-10-27 16:01:38 -04:00
Gregory Nutt
1dabbd8489
Costmetic changes
2016-10-24 16:18:30 -06:00
Gregory Nutt
41137b82fa
Add strtold()
2016-10-22 13:02:55 -06:00
Gregory Nutt
aac8634de2
ctype.h: Correct some dangling garbage from the last change
2016-10-22 10:12:10 -06:00
Gregory Nutt
c08cb7ddea
Implement ctype.h functions as inline if possible. cctype can then properly select namespace.
2016-10-22 08:18:00 -06:00
Gregory Nutt
30ab01b1d8
strtof: Add strtof() as simply a compy of strtod with types and limits changed
2016-10-20 12:07:12 -06:00
Gregory Nutt
2dbcdd781c
Correct STM32 Butterfly2 URL. Correct some comments.
2016-10-20 07:18:23 -06:00
Alan Carvalho de Assis
1cb05d007d
Add some less-than-perfect macros to provide some implementation of strtof() and strtold()
2016-10-19 14:26:48 -06:00
Gregory Nutt
8039173c9e
Merged in david_s5/nuttx/upstream_local_fix_to_greg (pull request #153 )
...
DO NOT MERGE Until Alan Verifies this -
2016-10-19 17:44:52 +00:00
David Sidrane
b1ed7910f0
Allows c++ code to compile with or without CONFIG_LIBC_LOCALE
...
and will generate a link error if CONFIG_LIBC_LOCALE is not defined
and setlocale is referneced. With CONFIG_LIBC_LOCALE defined
setlocale will act as if MB string is not supported and return
"C" for POSIX. C and ""
2016-10-19 06:49:19 -10:00
Gregory Nutt
48fb97e7b5
More of the same cloned typo
2016-10-19 10:11:45 -06:00
Gregory Nutt
841e1aa77f
Fix a cloned typo
2016-10-19 09:14:21 -06:00
Gregory Nutt
54fd0f0a04
Fix a few more compile issues with the new wide character support
2016-10-19 08:18:46 -06:00
Alan Carvalho de Assis
b852bb3403
Add iswctype, towlower, towupper and wcsftime functions
2016-10-19 07:49:33 -06:00
Alan Carvalho de Assis
53700fc71f
Add isblank() macro to ctype.h
2016-10-19 07:22:13 -06:00
Gregory Nutt
c73d3e9c5f
Remove comments that no longer apply. clocale should not do anyting if CONFIG_LIBC_LOCALE is not defined.
2016-10-19 07:06:43 -06:00
Gregory Nutt
bbf1627024
sys/time.h: timersub macro modified per recommendations of phreakuencies
2016-10-18 19:47:42 -06:00
Gregory Nutt
890a9eb45d
Fix a few wide character build issues
2016-10-18 19:11:09 -06:00
Alan Carvalho de Assis
b37c94bc68
Modify locale.h to add localeconv() and lconv structure
2016-10-18 18:28:17 -06:00
Alan Carvalho de Assis
dfdde741e3
C library: Add wctype.h; Move lib_wctype.c to libc/wctype
2016-10-18 18:24:58 -06:00
Alan Carvalho de Assis
4d39b513b5
Add functions wcrtomb, wcslcpy, wcsxfrm, wctob, wctomb, wctype, localeconv, strcoll, strxfrm
2016-10-18 18:15:54 -06:00
Gregory Nutt
626408bc29
C Library: Add clocale header file
2016-10-18 07:52:22 -06:00
Gregory Nutt
84049a19ba
C library: Add a dummy setlocale() function to avoid drawing the function from newlib
2016-10-17 09:45:12 -06:00
Alan Carvalho de Assis
df313581db
Correct typo in comments
2016-10-11 14:13:28 -06:00