Disable CONFIG_ARCH_INT_DISABLEALL: It does not work in its current form

This commit is contained in:
Gregory Nutt 2013-12-23 14:15:11 -06:00
parent 76b04f137f
commit 5c28d5a15b
3 changed files with 13 additions and 2 deletions

View File

@ -6289,3 +6289,9 @@
interrupts, the stack pointer must be used so that when it is interrupts, the stack pointer must be used so that when it is
decremented, the contents on the stack are protected from the nested decremented, the contents on the stack are protected from the nested
interrupt handling (2013-12-23). interrupt handling (2013-12-23).
* arch/Kconfig: The CONFIG_ARCH_INT_DISABLEALL feature is disabled (i.e.,
depends on EXPERIMENTAL). That is because the current implementation
will not work because interrupts get disabled in the interrupt handler
too, defeating the nesting of interrupts. The fix is easy: It just
needs more levels of priority of disabling interrupts vs interrupt
handling (2013-12-23).

View File

@ -301,7 +301,7 @@ config ARCH_HIPRI_INTERRUPT
config ARCH_INT_DISABLEALL config ARCH_INT_DISABLEALL
bool "Disable high priority interrupts" bool "Disable high priority interrupts"
default y default y
depends on ARCH_HIPRI_INTERRUPT depends on ARCH_HIPRI_INTERRUPT && EXPERIMENTAL
---help--- ---help---
If ARCH_HIPRI_INTERRUPT is defined, then special high priority If ARCH_HIPRI_INTERRUPT is defined, then special high priority
interrupts are supported. These are not "nested" in the normal interrupts are supported. These are not "nested" in the normal
@ -331,6 +331,11 @@ config ARCH_INT_DISABLEALL
| | MAXNORMAL | | | MAXNORMAL |
----------------------------+--------------+--------------+------------- ----------------------------+--------------+--------------+-------------
NOTE: This does not work now because interrupts get disabled in the
standard interrupt handling, prohibiting nesting. Fix is simple: Need
to used more priority levels so that we can make a cleaner distinction
with the standard interrupt handler.
comment "Boot options" comment "Boot options"
choice choice

View File

@ -304,7 +304,7 @@ CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
CONFIG_ARCH_INTERRUPTSTACK=0 CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y
CONFIG_ARCH_HIPRI_INTERRUPT=y CONFIG_ARCH_HIPRI_INTERRUPT=y
CONFIG_ARCH_INT_DISABLEALL=y # CONFIG_ARCH_INT_DISABLEALL is not set
# #
# Boot options # Boot options