Gregory Nutt
1d290c2b37
setvbuf: Add support for disabling I/O buffering. Initially cut; untested.
2017-02-09 09:24:44 -06:00
Gregory Nutt
9f859774a1
setvbuf: Add support for configuration of line buffering.
2017-02-08 11:28:24 -06:00
Gregory Nutt
51a14c9b2f
C Library: Add a very limited, first step implementation of setvbuf(). This is a collaborative effort. Alan Carvalho de Assis did the initial prototype.
2017-02-08 10:33:18 -06:00
Gregory Nutt
2d2fe301cb
Update some comments; link counter can be uint8_t; Add a debug assertion.
2017-02-07 15:50:54 -06:00
Gregory Nutt
b758176963
stat(): Add logic to avoid infinite recursive in circular paths containing soft links.
2017-02-07 12:32:45 -06:00
Gregory Nutt
62a1f6f110
up_timer_initialize() is named incorrectly. The prefix should be the architecture name, not up_ since it is private to the architecture. up_timerisr() is similarly misnamed and should also be private since it is used only with the xyz_timerisr.c files. Also updat TODO list.
2017-02-07 10:35:04 -06:00
Gregory Nutt
36704b7d9c
FS: Argument is now a structure describing the search.
2017-02-04 11:21:44 -06:00
Gregory Nutt
982cfea490
Remove some unnecessary (and inappropriate) soft link logic
2017-02-03 15:50:41 -06:00
Gregory Nutt
4417e74977
Soft links: Add an (untested) implementation of readlink()
2017-02-03 13:57:12 -06:00
Gregory Nutt
60ba5a5261
Soft links: Fix logic and remove kludge of last commit. Rename inode_dereference() as inode_linktarget() and make global.
2017-02-03 13:22:33 -06:00
Gregory Nutt
7c59e05305
FS: Separate inode_search() and inode_free() from fs_inode.c and put in separate files. Flesh out symbolic link logic in stat() and readdir(). There are still some issues with stat().
2017-02-03 11:23:57 -06:00
Gregory Nutt
b39d962021
Soft links: Update Documentation, rename file, add system calls
2017-02-02 17:11:08 -06:00
Gregory Nutt
35d738d85f
Soft links: Fix compile problems on first build with soft links enabled.
2017-02-02 15:24:39 -06:00
Gregory Nutt
bdc002fadc
Finish implementation of soft links.
2017-02-02 13:01:21 -06:00
Gregory Nutt
92305e400a
Soft links: Initial, incompete implementation
2017-02-02 10:39:41 -06:00
Gregory Nutt
2a4791f4ee
Removed dmasupported() method from the SDIO interface. That is now a bit in the cpapability set.
2017-01-31 09:51:15 -06:00
Gregory Nutt
9ac00a355f
Add capabilities() method to SDIO interface. Remove CONFIG_SDIO_WIDTH_D1_ONLY. That should not be a global propertie, but rather a capability/limitation of single slot when there may be multiple slots.
2017-01-31 09:16:01 -06:00
Gregory Nutt
e30b2617e3
Shared Libs: Implement module based shared libraries for the PROTECTED mode build
2017-01-29 13:03:53 -06:00
Gregory Nutt
2c45f482b1
Module names are not needed in libc/modlib when the module library is used only for shared library support.
2017-01-29 12:23:24 -06:00
Gregory Nutt
86bdd0a4c7
Modules: Move last of many C files from sched/module to libc/modlib
2017-01-29 11:54:54 -06:00
Gregory Nutt
6da66fb5c8
Modules: Move next five of many C files from sched/module to libc/modlib
2017-01-29 11:17:29 -06:00
Gregory Nutt
5e94dd22bb
Modules: Move first five of many C files from sched/module to libc/modlib
2017-01-29 10:05:15 -06:00
Gregory Nutt
2717e781f0
libc/modlib: Add build a configuration logic for a shared module library.
2017-01-29 08:55:27 -06:00
Gregory Nutt
b79ca9dcdd
Modules: Move sched/module/module.h to include/nuttx/lib/modlib.h
2017-01-29 08:24:42 -06:00
Gregory Nutt
34e539926a
Syscalls: Remove modsym() syscall. There is no reason why appication code could ever use symbolic information from a symbol within a kernel module. The modsym() interface is only meaningful within the kernel.
2017-01-28 11:03:06 -06:00
Aleksandr Vyhovanec
c98db4ecd5
Fix return falue if x is NaN
2017-01-25 14:04:49 +03:00
Gregory Nutt
a06d26e044
Shared libraries: Add a non-standard dllfnc.h function to set the symbol table.
2017-01-23 08:20:24 -06:00
Gregory Nutt
c4acabaa74
In dlopen(), use the basename of the file as the module name
2017-01-22 16:01:03 -06:00
Gregory Nutt
4574a1ca42
Modules: Extend the module interface so that we can access symbols exported by the module.
2017-01-22 14:26:22 -06:00
Gregory Nutt
d90e66a024
Kernel Modules: Module initializer may now return a symbol table (not yet used for anything)
2017-01-22 11:37:49 -06:00
Gregory Nutt
2a284a95b1
C library: Add framework that may (or may not) eventually support shared libraries.
2017-01-22 09:14:18 -06:00
Gregory Nutt
7578382890
Add dllfcn.h header file (no implementation of shared objects yet in place).
2017-01-21 13:07:40 -06:00
Gregory Nutt
3c4684ef5f
Eliminate CONFIG_ARCH_OPTIMIZED_FUNCTIONS. Move options to select architectur-specific C library options from libc/Kconfig to libc/machine/Kconfig and rename.
2017-01-20 09:30:07 -06:00
Gregory Nutt
c07192df7e
Update some comments
2017-01-17 15:30:41 -06:00
Aleksandr Vyhovanec
bf528f2071
packed_struct replaced by begin_packed_struct and end_packed_struct
2017-01-09 14:17:49 +03:00
Gregory Nutt
7035d232f8
NX server: Correct message queue names. Should not be at /dev, but rather relative to /var/mqueue.
2017-01-08 09:14:11 -06:00
Gregory Nutt
d7173f2eb5
Font cache: Enforce mutually exclusive access to the font cache
2017-01-06 09:50:30 -06:00
Gregory Nutt
0b52e6f571
Font cache: Replace fixed-size array with variable size link list.
2017-01-06 09:07:25 -06:00
Gregory Nutt
dc05af6436
Graphics: Initial separation of font cache from graphics/nxterm. Now in libnx/nxfronts
2017-01-05 18:36:29 -06:00
Gregory Nutt
d91cf5736e
With last changes the Tom Thumb 3x5 font is now 4x6
2017-01-04 10:31:53 -06:00
Alan Carvalho de Assis
6c826bb209
Add support for Tom Thumb small mono-space font
2017-01-03 11:11:47 -06:00
Gregory Nutt
cfb876263a
SMP: There were certain conditions that we must avoid by preventing releasing the pending tasks while withn a critical section. But this logic was incomplete; there was no logic to prevent other CPUs from adding new, running tasks while on CPU is in a critical section.
...
This commit corrects this. This is matching logic in sched_addreadytorun to avoid starting new tasks within the critical section (unless the CPU is the holder of the lock). The holder of the IRQ lock must be permitted to do whatever it needs to do.
2016-12-27 08:49:07 -06:00
Lorenz Meier
b0fcf3abd7
termios.h: Fix CRTSCTS define to include input and output flow
2016-12-26 07:41:44 -06:00
Gregory Nutt
9e8b1f32d2
sched note: record ID enumeration now results on constant values; ID values do not change with configuration. This makes writing post-processing software much easier
2016-12-24 15:44:21 -06:00
Gregory Nutt
81697f2285
Xtensa ESP32: Fix APP CPU startup... Can't use semaphores on the IDLE thread.
2016-12-20 11:26:37 -06:00
Gregory Nutt
f063e4c5ac
Remove Calypso architecture support and support for Calypso SERCOMM driver.
2016-12-13 18:35:52 -06:00
Gregory Nutt
c83da3c48f
Remove minnsh configurations and support logic: up_getc() and lowinstream.
...
This was an interesting exercise to see just how small you could get NuttX, but otherwise it was not useful: (1) the NSH code violated the OS interface layer by callup up_getc and up_putc directly, and (2) while waiting for character input, NSH would call up_getc() which would hog all of the CPU. NOt a reasonably solution other than as a proof of concept.
2016-12-13 18:01:23 -06:00
Gregory Nutt
d648f9c8b4
Add task_testcancel()
2016-12-10 16:34:14 -06:00
Gregory Nutt
f132960789
Add task_setcanceltype()
2016-12-10 16:06:14 -06:00
Gregory Nutt
5fb207eb36
Add task_setcancelstate()
2016-12-10 15:16:46 -06:00
Gregory Nutt
b52e4e5ecd
Move cancellation point definitions to their own header file.
2016-12-10 09:08:26 -06:00
Gregory Nutt
bc3ca25cc7
Cancellation points: Close up some logic to eliminte some race conditions.
2016-12-10 08:36:58 -06:00
Pierre-Noel Bouteville
e9d3c3362a
Correct some default font IDs
2016-12-10 07:46:54 -06:00
Gregory Nutt
e62b3bccd3
pthread_setcanceltype() and pthread_testcancel() do not have to be system calls if cancellation points are not enabled.
2016-12-10 07:40:48 -06:00
Gregory Nutt
18ce5496e4
Fix upper- vs. lower-case typo.
2016-12-10 07:15:33 -06:00
Gregory Nutt
1b2135a90a
Add pthread_setcanceltype() and pthread_testcancel() as system calls.
2016-12-10 07:12:11 -06:00
Gregory Nutt
d35e589d56
Flesh basic cancellation point support
2016-12-09 09:44:23 -06:00
Gregory Nutt
82a79b9c1b
Add framework for cancellation point support.
2016-12-09 08:13:28 -06:00
Gregory Nutt
acaae12e8b
Add pthread_testcancel(), pthread_testcancel(), and definitiions for cancellation types.
2016-12-09 07:23:00 -06:00
Gregory Nutt
ab43681f15
Update TODO and some comments.
2016-12-08 10:24:40 -06:00
Gregory Nutt
a1fbc2ad0d
pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop()
2016-12-08 09:27:13 -06:00
Gregory Nutt
a7b688e87b
sched notes: Add additional note to see if/when CPU is started in SMP mode.
2016-12-07 09:08:20 -06:00
Gregory Nutt
35dfe25430
Remove BOARDIOC_CAN_INITIALIZE. CAN initialization is now done in the board initialization logic just like every other device driver.
2016-12-06 08:51:37 -06:00
Gregory Nutt
55dd1c87b3
Remove all references to BOARDIOC_ADCSETUP
2016-12-05 15:31:40 -06:00
Gregory Nutt
b999e63c82
Remove some references to BOARDIOC_PWMTEST and board_pwm_setup(). Still lots more.
2016-12-05 13:54:12 -06:00
Gregory Nutt
a431fc77cb
Add a forward refeence to elininate a warning.
2016-12-03 16:35:37 -06:00
Gregory Nutt
7467329a98
Eliminate CONFIG_NO_NOINTS. Lots of files changed -> lots of testing needed.
2016-12-03 16:28:19 -06:00
Gregory Nutt
41e35c88bf
eZ80 Ethernet now supports CONFIG_NET_NOINTS
2016-12-03 10:43:35 -06:00
Gregory Nutt
553f6d22fc
Boardctl: Add a boardctrl() command to start the NX server. Refresh all NX configurations.
2016-12-01 13:52:13 -06:00
Gregory Nutt
6dda185e8a
NX: Remove configuration CONFIG_NX_NXSTART. nx_start.c is now built unconditionally in multi-user mode.
2016-12-01 13:30:24 -06:00
Gregory Nutt
ca2d62f86c
arp.h: Fix some typos introduce in last big set of commits.
2016-11-29 16:57:19 -06:00
Gregory Nutt
c09ae58e3f
include/: Remove all references to CONFIG_NET_MULTIBUFFER. d_buf in struct net_driver_s is now always a pointer vs. an array.
2016-11-29 16:08:36 -06:00
Gregory Nutt
9ee3f3b933
sched_note: Permit spinlock and critical section notes in in-memory buffer iff sched_not_get() interfaces is disabled.
2016-11-28 18:36:26 -06:00
Gregory Nutt
00215fbc98
sched_note: Add spinlock instrumentation; In SMP configurations, select to log only notes from certain CPUs
2016-11-28 10:33:46 -06:00
Gregory Nutt
d65be718c2
sched_note: Extend OS instrumentation to include some SMP events.
2016-11-27 17:14:57 -06:00
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