Ramtin Amin
b8754afb14
Misoc LM32: Make system timer configurable via CONFIG_USEC_PER_TICK.
2016-11-23 07:00:57 -06:00
Gregory Nutt
f90525a5d1
SMP: Update some comments; trivial improvement by inlining static function.
2016-11-22 16:48:57 -06:00
Gregory Nutt
d95b8f64f5
sam4s-xplained-pro: Remove obsolete timer initialization logic
2016-11-22 12:25:57 -06:00
Gregory Nutt
09b6af96ba
sam4s-xplained-pro/nsh: Configuration uses old, improper timer timer interface. CONFIG_TIMER disabled in configuration.>>
2016-11-22 12:06:07 -06:00
Gregory Nutt
12f830ffd5
SAM3/4: Name of method is now setcallback, not sethandler
2016-11-22 12:06:07 -06:00
Gregory Nutt
054072d054
Misoc: Add commits and warnings about missing caculation of the timer reload value
2016-11-22 12:15:34 -06:00
Ramtin Amin
d1e84fb788
Misoc: Add timer driver
2016-11-22 12:10:11 -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
b39556f625
Update READMEs
2016-11-22 09:03:50 -06:00
Sebastien Lorquet
ec586ab350
implementation of dumpgpio for stm32l4, was required for pwm debug.
2016-11-22 07:57:21 -06:00
Gregory Nutt
a3112b231c
nucleo-l476rg: Add better selection of timer.
2016-11-22 07:49:04 -06:00
Gregory Nutt
3031822518
configs: Remove all traces of the no-longer existent ARCHBUTTONS example.
2016-11-22 07:37:23 -06:00
Gregory Nutt
7825dbb3a1
configs: Remove all button configurations that depended on the obsoleted ARCHBUTTON example
2016-11-22 07:23:23 -06:00
Gregory Nutt
8eec4ab0e8
Eliminate a warning
2016-11-22 06:58:34 -06:00
Gregory Nutt
a0711b1c19
configs: All QE encoder files. Last change made timer hard-coded to 3. Make configurable.
2016-11-22 06:41:46 -06:00
Sebastien Lorquet
dfa2d107b2
The examples/qencoder app was trying to init the encoder by a direct call into the board, cheating in a local header to declare the normally unavailable function prototype.
2016-11-22 06:26:32 -06:00
Gregory Nutt
ef1fc550b7
Refresh viewtool configurations
2016-11-21 15:05:54 -06:00
Gregory Nutt
130bfa3f6b
Remove a assertion condition that appears to rarely cause false-alarm assertions. Teported by Petteri Aimonen
2016-11-21 14:43:56 -06:00
Gregory Nutt
f53e48199f
Simplify and document some macros
2016-11-21 13:12:43 -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
2d1765a014
Remove more of those annoying empty comment blocks.
2016-11-21 07:34:27 -06:00
Gregory Nutt
0029c04dad
task_restart: Make sure new task starts with pre-emption disabled and not in a critical section.
2016-11-21 07:33:23 -06:00
Gregory Nutt
d83ad6296c
Update README
2016-11-20 16:12:58 -06:00
Gregory Nutt
cee8d59b58
Update TODO list
2016-11-20 12:26:08 -06:00
Gregory Nutt
01ade4803a
Update README and TODO list
2016-11-20 09:51:54 -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
f5b35e0461
Clarify TODO list
2016-11-19 16:58:25 -06:00
Gregory Nutt
82cd27170b
Update TODO list
2016-11-19 16:37:09 -06:00
Gregory Nutt
ac9a11d9ab
Update TODO list
2016-11-19 13:31:14 -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
Rajan Gill
0d8e191d69
sched/clock: Correct calculation for the case of Tickless mode with a 32-bit timer. In that case, the calculation was returning millisecond accuracy. That is not good when the timer accuracy is < 1 msec.
2016-11-19 09:55:21 -06:00
Gregory Nutt
439c72e7c8
Refresh all networking configurations due to changes in work-queue related configuration variables for Ethernet drivers.
2016-11-19 09:41:24 -06:00
Gregory Nutt
0804286ad3
arch/: Add option to use low-priority work queue to all Ethernet drivers in arch that support CONFIG_NET_NOINTS.
2016-11-19 09:20:01 -06:00
Gregory Nutt
5ca9128c38
Update comments
2016-11-19 08:33:55 -06:00
Gregory Nutt
ceacacbc63
vfork(): Fix a race condition in the SMP case. Existing logic depended on the fact that the child would not run until waitpid was called because the child had the same priority as the parent. BUT in the SMP case that is not true... the child may run immediately on a different CPU.
2016-11-19 07:30:01 -06:00
Gregory Nutt
0db99b8c89
Trivial fix from review of last PR
2016-11-19 06:52:51 -06:00
Gregory Nutt
8705ce816a
Merged in gnagflow/nuttx (pull request #173 )
...
Master
2016-11-19 12:49:56 +00:00
Gregory Nutt
a658dc0f28
Merged in paulpatience/nuttx/stm32 (pull request #172 )
...
STM32: STM32F303xB and STM32F303xC chips have 4 ADCs
2016-11-19 01:52:36 +00:00
Wolfgang Reißnegger
b23c1f8817
Typo fix in sam_udp.c
2016-11-18 17:23:22 -08:00
Wolfgang Reißnegger
5d658a8915
configs/dk-tm4c129x: Typo fix.
2016-11-18 17:23:21 -08:00
Wolfgang Reißnegger
88539a7497
USBMSC: Fix length of mode6 sense reply packet.
2016-11-18 17:23:21 -08:00
Wolfgang Reißnegger
d135246a7d
SAM3/4: Remove 'stalled' flag in UDP driver.
...
The flag is not necessary. The state of the endpoint can be determined
using 'epstate' instead.
2016-11-18 17:23:21 -08:00
Wolfgang Reißnegger
9e349f4335
SAM3/4: Remove unused 'halted' flag in UDP driver.
2016-11-18 17:23:21 -08:00
Wolfgang Reißnegger
c7ef82c546
SAM3/4: Add delay between setting and clearing the endpoint RESET bit in sam_ep_resume().
...
We need to add a delay between setting and clearing the endpoint reset
bit in SAM_UDP_RSTEP. Without the delay the USB controller will (may?)
not reset the endpoint.
If the endpoint is not being reset, the Data Toggle (DTGLE) bit will
not to be cleared which will cause the next transaction to fail if
DTGLE is 1. If that happens the host will time-out and reset the bus.
Adding this delay may also fix the USBMSC_STALL_RACEWAR in
usbmsc_scsi.c, however this has not been verified yet.
2016-11-18 17:23:21 -08:00
Paul A. Patience
8d9804d57b
STM32: STM32F303xB and STM32F303xC chips have 4 ADCs
2016-11-18 19:28:09 -05:00
Gregory Nutt
48d9fff95a
Update ChangeLog
2016-11-18 17:18:35 -06:00
Gregory Nutt
69e9f8638d
Most interrupt handling logic interacts with tasks via standard mechanism such as sem_post, sigqueue, mq_send, etc. This all call enter_critical_section and are assumed to be safe in the SMP case.
...
But certain logic interacts with tasks in different ways. The only one that comes to mind are wdogs. There is a tasking interface that to manipulate wdogs, and a different interface in the timer interrupt handling logic to manage wdog expirations.
In the normal case, this is fine. Since the tasking level code calls enter_critical_section, interrupts are disabled an no conflicts can occur. But that may not be the case in the SMP case. Most architectures do not permit disabling interrupts on other CPUs so enter_critical_section must work differently: Locks are required to protect code.
So this change adds locking (via enter_critical section) to wdog expiration logic for the the case if the SMP configuration.
2016-11-18 13:57:30 -06:00