From 0b8ab9a73dd0a21bc659eefbc934b3c7cc969112 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 23 Dec 2013 14:15:11 -0600 Subject: Disable CONFIG_ARCH_INT_DISABLEALL: It does not work in its current form --- nuttx/ChangeLog | 6 ++++++ nuttx/arch/Kconfig | 7 ++++++- nuttx/configs/viewtool-stm32f107/highpri/defconfig | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) (limited to 'nuttx') diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index ea4f976a6..9ca7f0aab 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -6289,3 +6289,9 @@ interrupts, the stack pointer must be used so that when it is decremented, the contents on the stack are protected from the nested 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). diff --git a/nuttx/arch/Kconfig b/nuttx/arch/Kconfig index 5b3fee8b7..e4a09b308 100644 --- a/nuttx/arch/Kconfig +++ b/nuttx/arch/Kconfig @@ -301,7 +301,7 @@ config ARCH_HIPRI_INTERRUPT config ARCH_INT_DISABLEALL bool "Disable high priority interrupts" default y - depends on ARCH_HIPRI_INTERRUPT + depends on ARCH_HIPRI_INTERRUPT && EXPERIMENTAL ---help--- If ARCH_HIPRI_INTERRUPT is defined, then special high priority interrupts are supported. These are not "nested" in the normal @@ -331,6 +331,11 @@ config ARCH_INT_DISABLEALL | | 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" choice diff --git a/nuttx/configs/viewtool-stm32f107/highpri/defconfig b/nuttx/configs/viewtool-stm32f107/highpri/defconfig index bd03b889d..fc1712c70 100644 --- a/nuttx/configs/viewtool-stm32f107/highpri/defconfig +++ b/nuttx/configs/viewtool-stm32f107/highpri/defconfig @@ -304,7 +304,7 @@ CONFIG_ARCH_HAVE_INTERRUPTSTACK=y CONFIG_ARCH_INTERRUPTSTACK=0 CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y CONFIG_ARCH_HIPRI_INTERRUPT=y -CONFIG_ARCH_INT_DISABLEALL=y +# CONFIG_ARCH_INT_DISABLEALL is not set # # Boot options -- cgit v1.2.3