Gregory Nutt
370e188fa3
Convert more drivers to use new interrupt argument structure.
2017-02-28 09:05:01 -06:00
Mark Schulte
b3222bbc8a
irq_dispatch: Add argument pointer to irq_dispatch
...
Provide a user defined callback context for irq's, such that when
registering a callback users can provide a pointer that will get
passed back when the isr is called.
2017-02-27 06:27:56 -06:00
Gregory Nutt
1d290c2b37
setvbuf: Add support for disabling I/O buffering. Initially cut; untested.
2017-02-09 09:24:44 -06:00
Gregory Nutt
0db31d0cd1
SMP: Fix a typo introduced in c5b00ccfc4
2017-01-16 08:48:05 -06:00
Gregory Nutt
a2083fbc92
Update some comments
2017-01-15 12:35:03 -06:00
Gregory Nutt
2837eff0cd
SMP: Most cosmetic clean-up from review of previous commit.
2017-01-14 09:22:13 -06:00
Gregory Nutt
c5b00ccfc4
SMP Signals: Fix some SMP signal delivery logic. Was not handling some critical sections correctly and was missing logic to signal tasks running on other CPUs.
2017-01-14 08:28:37 -06:00
Gregory Nutt
3ed091376c
In all implementations of _exit(), use enter_critical_section() vs. disabling local interrupts.
2017-01-13 11:08:24 -06:00
Gregory Nutt
c9b15ebb6a
Xtensa ESP32: Remove call to sched_lock()/unock() from inter-cpu interrupt logic. Results in recursive call to sched_mergepending().
2016-12-25 09:26:20 -06:00
Gregory Nutt
b87fc91466
Revert "Xtensa SMP: Avoid a nasty situation in SMP by assuring that up_release_pending() is not re-entered."
...
This reverts commit 733a57b4df
.
2016-12-25 07:12:46 -06:00
Gregory Nutt
efb86382c3
SMP: Back out deferred IRQ locking. This was accidentally merged into master and it looks like it is going to be more work than I thought to get it working again. Changes will go to the irqlock branch.
2016-12-24 19:53:37 -06:00
Gregory Nutt
1b790a61cd
Xtensa ESP32: Add stack checking logic.
2016-12-23 15:51:33 -06:00
Gregory Nutt
c7f5435637
Implement deferred IRQ locking. The rest of the support for Xtensa. Untested.
2016-12-23 11:56:45 -06:00
Gregory Nutt
cb1cc66d81
Implement deferred IRQ locking. Adds partial support for Xtensa. More is needed.
2016-12-23 11:39:44 -06:00
Gregory Nutt
5f9caad078
Xtensa ESP32: Correct copyright info; update some comments
2016-12-22 12:34:55 -06:00
Gregory Nutt
714e6f80ca
Xtensa ESP32: Corrects a problem with dispatching to signal handlers: Cannot vector directly to the signal handling function as in other ABIs under the Xtensa Window ABI. In that case, we need to go through a tiny hook when performs the correct window call (call4) otherwise registers will be scrambled in the signal handler
2016-12-22 11:19:38 -06:00
Gregory Nutt
d9a64b9ca9
Xtensa ESP32: Some fixes from integration of ostest configuration. Almost works: There are some assertions in xtensa_sigdeliver()
2016-12-22 09:34:39 -06:00
Gregory Nutt
733a57b4df
Xtensa SMP: Avoid a nasty situation in SMP by assuring that up_release_pending() is not re-entered.
2016-12-21 13:34:01 -06:00
Gregory Nutt
588d2b506f
Xtensa ESP32: Oddly, an rsync barrier when writing to co-processor register corrects problem.
2016-12-21 08:04:48 -06:00
Gregory Nutt
1b7162a0db
Eliminate a warning
2016-12-21 08:04:48 -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
6d5a718b98
Xtensa ESP32: A few fixes for APP CPU start-up
2016-12-20 10:38:27 -06:00
Gregory Nutt
4e9a0ffea5
Xtensa ESP32: Update APP CPU startup logic to match current Expressif example code.
2016-12-20 09:00:04 -06:00
Gregory Nutt
3b681586c0
Xtensa ESP32: Missing prologue/epilogue macros on C callable function
2016-12-20 08:31:36 -06:00
Gregory Nutt
e5182acbe3
Xtensa ESP32: Make sure that SMP configuratin still builds without errors.
2016-12-19 14:12:19 -06:00
Gregory Nutt
e61549d8b9
Xtensa ESP32: Clean-up and fixes from last commits
2016-12-19 13:57:37 -06:00
Gregory Nutt
097f09cb02
Xtensa ESP32: Corrects timer initialization and timer input frequency.
2016-12-19 11:50:28 -06:00
Gregory Nutt
a9a39800a4
Xtensa ESP32: Fixes some double faults and user errors, but I do not fully understand why.
2016-12-19 11:14:08 -06:00
Gregory Nutt
886ce88b4f
Xtensa ESP32: Automatically mount /proc at start-up.
2016-12-19 09:43:16 -06:00
Gregory Nutt
2b0b698d72
ESP32 Serial: Add logic to prevent infinite loops in interrupt handler.
2016-12-18 16:04:25 -06:00
Gregory Nutt
71bb79a6c7
ESP32 Serial: Fix some register bit definitions.
2016-12-18 15:11:34 -06:00
Gregory Nutt
4bd530d026
Xtensa ESP32: Last change should be conditioned on the window ABI.
2016-12-18 13:17:31 -06:00
Gregory Nutt
665c1647b5
Xtensa ESP32: Need to spill registers to memory as the last dying action before switching to a new thread.
2016-12-18 12:54:47 -06:00
Gregory Nutt
586f0aab50
Fix context save logic when called in window ABI configuration. Add an IDLE stack. Don't depend on the mystery stack received from the bootloader.
2016-12-18 10:08:08 -06:00
Gregory Nutt
93e6d16f75
Xtensa ESP32: wsr, not rsr.
2016-12-17 11:23:10 -06:00
Gregory Nutt
a88c50d366
Xtensa ESP32: Need to clone some logic for syncrhonous context switch. Window spill logic in the conmon restores logic is inappropriate in this context
2016-12-17 11:00:12 -06:00
Gregory Nutt
6b80e5f15f
Xtensa ESP32: Fix clobbered a9 in co-processor context save/restore
2016-12-17 11:00:12 -06:00
Gregory Nutt
8de1127899
Xtensa ESP32: Using wrong register to disable interrupts.
2016-12-17 11:00:12 -06:00
Gregory Nutt
38ebe6c13f
Xtensa ESP32: Change that should have been included in a previous commit was not.
2016-12-17 08:11:32 -06:00
Gregory Nutt
05e798488b
One register getting clobber on context save
2016-12-17 08:10:10 -06:00
Gregory Nutt
adbacfc42c
Xtensa ESP32: Fix a duplicate in Kconfig files. Level 1 should return via RFE.
2016-12-17 07:07:33 -06:00
Gregory Nutt
6599feb310
Xtensa ESP32: Fixes a few issue with restoring registers on interrupt return, but there is still a problem
2016-12-16 17:56:22 -06:00
Gregory Nutt
cdd8dc72a5
Xtensa ESP32: Basically a redesign of the interrupt dispatch logic.
2016-12-16 15:36:52 -06:00
Gregory Nutt
d4ad5f04d3
Xtensa ESP32: Minor rearchitecting of how CPU interrupts are enabled. MOre to come.
2016-12-16 14:13:09 -06:00
Gregory Nutt
cd3d414ba2
Xtensa: Fix some missing SMP logic
2016-12-16 13:37:28 -06:00
Gregory Nutt
34a994b0f6
Correct a logic problem the prevented dumping the IDLE thread's stack on an assertion
2016-12-16 13:21:01 -06:00
Gregory Nutt
6337fadd8c
Missing escape character on CR of CR-LF expansion.
2016-12-16 10:49:42 -06:00
Gregory Nutt
935e49f5bb
Update some comments
2016-12-16 09:38:08 -06:00
Gregory Nutt
f1a5b91cd8
Use r6, not r2 when passing paramters with call4
2016-12-16 09:21:44 -06:00
Gregory Nutt
41cf32a20e
Fix windowspill register handling + Use r6, not r2 when passing paramters with call4
2016-12-16 09:20:36 -06:00