Commit Graph

194 Commits

Author SHA1 Message Date
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