- Feb 04, 2018
-
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
spin_lock_irqsave() and spin_unlock_irqrestore() are only valid if the CPU supports global disabling of interrupts.
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Alan Carvalho de Assis authored
-
- Feb 03, 2018
-
-
Gregory Nutt authored
-
- Feb 01, 2018
-
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
libc/stdio: in dtoa(), up_interrupt_context() is used in a debug assertion. up_interrupt_context() is not available in the user-mode phase of the PROTECTED or KERNEL build configurations. In those configurations, enabling libc floating point support and debug assertions will result in an undefined reference to up_interrupt_context().
-
Stewart authored
-
- Jan 31, 2018
-
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
sched/: Convert legitimate uses of task_create() to nxtask_create(). Review handling of returned values from all uses of kthread_create() (as well as nxtask_create()). graphics/: Review return values for all calls to kthread_start() because it no longer returns an errno. drivers/: threads started by drivers should be kernel threads, not user tasks. Review return values for all calls to kthread_start() because it no longer returns an errno. configs/: threads started by board bringup logic should be kernel threads, not user tasksi (part 2 of 2). sched/task: Add nxtask_create(). Kthread_create() and nxtask_create() are internal OS functions and should not modify the errno variable. configs/: threads started by board bringup logic should be kernel threads, not user tasks.
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
sched/wdog: wd_start() is an internal OS function and should not set the errno value. Reviewed and updated every call to wd_start() to verify if return value is used and if so if the errno value is accessed.
-
Gregory Nutt authored
-
Juha Niskanen authored
-
Masayuki Ishikawa authored
SMP: Introduce a new global IRQ clearing logic and tasklist protection. Approved-by: Gregory Nutt <gnutt@nuttx.org>
-
Matt Thompson authored
SAMDL: Added I2S register definitions Approved-by: Gregory Nutt <gnutt@nuttx.org>
-
Masayuki Ishikawa authored
The previous implementation of clearing global IRQ in sched_addreadytorun() and sched_removereadytorun() was done too early. As a result, nxsem_post() would have a chance to enter the critical section even nxsem_wait() is still not in blocked state. This patch moves clearing global IRQ controls from sched_addreadytorun() and sched_removereadytorun() to sched_resumescheduler() to ensure that nxsem_post() can enter the critical section correctly. For this change, sched_resumescheduler.c is always necessary for SMP configuration. In addition, by this change, task_exit() had to be modified so that it calls sched_resumescheduler() because it calls sched_removescheduler() inside the function, otherwise it will cause a deadlock. However, I encountered another DEBUGASSERT() in sched_cpu_select() during HTTP streaming aging test on lc823450-xgevk. Actually sched_cpu_select() accesses the g_assignedtasks which might be changed by another CPU. Similarly, other tasklists might be modified simultaneously if both CPUs are executing scheduling logic. To avoid this, I introduced tasklist protetion APIs. With these changes, SMP kernel stability has been much improved. Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
-
- Jan 30, 2018
-
-
Gregory Nutt authored
binfmt/, configs/, grahics/, libc/, mm/, net/, sched/: OS references to the errno variable should always use the set_errno(), get_errno() macros arch/arm/src/stm32 and stm32f7: Architecture-specific code is not permitted to modify the errno variable. drivers/ and libc/: OS references to the errno variable should always use the set_errno(), get_errno() macros
-
Gregory Nutt authored
binfmt/, drivers/, graphics/: Fix several inappropriate accesses to get_errno() that were missed in previous changes (some going back to nuttx-.23).
-
Gregory Nutt authored
sched/: Fix several inappropriate accesses to get_errno() that were missed in previous changes (some going back to nuttx-.23). Add new nxsched_setscheduler() and nxsched_getaffinity() which are equivalent to their counterparts without the nx on front. These versions do not modify the errno value. Changed all calls within the OS to use these newer versions of the functions.
-
Gregory Nutt authored
sched/sched: Correct some build issues introduced by last set of changes. sched/sched: Add new internal OS function nxsched_setaffinity() that is identical to sched_isetaffinity() except that it does not modify the errno value. All usage of sched_setaffinity() within the OS is replaced with nxsched_setaffinity(). sched/sched: Internal functions sched_reprioritize() and sched_setpriority() no longer movidify the errno value. Also renamed to nxsched_reprioritize() and sched_setpriority(). sched/sched: Add new internal OS function nxsched_getscheduler() that is identical to sched_getscheduler() except that it does not modify the errno value. All usage of sched_getscheduler() within the OS is replaced with nxsched_getscheduler(). sched/sched: Add new internal OS function nxsched_setparam() that is identical to sched_setparam() except that it does not modify the errno value. All usage of sched_setparam() within the OS is replaced with nxsched_setparam(). sched/sched: Add new internal OS function nxsched_getparam() that is identical to sched_getparam() except that it does not modify the errno value (actually, the previous value erroneously neglected to set the errno value to begin with, but this fixes both issues). All usage of sched_getparam() within the OS is replaced with nxsched_getparam().
-
Gregory Nutt authored
-
- Jan 29, 2018
-
-
Matt Thompson authored
SAMDL: Added Timer Compare for Control registers header Approved-by: Gregory Nutt <gnutt@nuttx.org>
-
Gregory Nutt authored
tools/logparser.c: A few more minor enhancements. Also add #define _GNU_SOURCE to all C files that call asprintf()
-
Gregory Nutt authored
-
Gregory Nutt authored
tools/logparser: Add a tool which (when it matures) will help me to convert git logs to ChangeLog format.
-
Juha Niskanen authored
-
Bob Feretich authored
I have a SPI bus with both Mode 0 and Mode 3 devices on it. After performing SPI I/O to a Mode 0 device, switching to a Mode 3 device locked up the SPI interface. Only zeroes would be read. I traced the reason for the lock-up to arm/arm/src/stm32f7/stm32_spi.c function spi_setmode(). Changing the mode causes a spurious SPI clock transmission that confuses the stm32f7 SPI input hardware. This problem is solved by (1) changing the SPI mode with SPI (and perhaps DMA) disabled, and (2) flushing the receive FIFO if the mode change results in garbage in the FIFO.
-
Gregory Nutt authored
-
Matt Thompson authored
SAMDL: Added Analog Comparator headers and basic initialization Approved-by: Gregory Nutt <gnutt@nuttx.org>
-
Matt Thompson authored
-