This is an automated email from the ASF dual-hosted git repository.
archer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 63e59e26c0e arch: move some macros to public code.
63e59e26c0e is described below
commit 63e59e26c0e3c2f7f62045db8908bbb8530f2960
Author: hujun5 <[email protected]>
AuthorDate: Sun Apr 27 19:25:50 2025 +0800
arch: move some macros to public code.
Move stack alignment and kernel stack macros from architecture-specific
internal
headers to public include/nuttx/irq.h. Consolidates duplicate definitions
across
17 architecture families, reducing code duplication while enabling common
code
to access these core alignment utilities without architecture dependencies.
Signed-off-by: hujun5 <[email protected]>
---
arch/arm/src/armv7-a/addrenv.h | 6 ------
arch/arm/src/common/arm_internal.h | 6 ------
arch/arm64/src/common/addrenv.h | 6 ------
arch/arm64/src/common/arm64_internal.h | 6 ------
arch/avr/src/avr32/avr32.h | 6 ------
arch/ceva/src/common/ceva_internal.h | 6 ------
arch/hc/src/common/hc_internal.h | 6 ------
arch/mips/src/common/mips_internal.h | 6 ------
arch/misoc/src/lm32/lm32.h | 6 ------
arch/misoc/src/minerva/minerva.h | 6 ------
arch/or1k/src/common/or1k_internal.h | 6 ------
arch/renesas/src/common/renesas_internal.h | 6 ------
arch/risc-v/src/common/addrenv.h | 6 ------
arch/risc-v/src/common/riscv_exception_common.S | 1 +
arch/risc-v/src/common/riscv_internal.h | 6 ------
arch/risc-v/src/nuttsbi/sbi_internal.h | 4 ----
arch/sim/src/sim/sim_internal.h | 6 ------
arch/sparc/src/common/sparc_internal.h | 6 ------
arch/tricore/src/common/tricore_internal.h | 6 ------
arch/x86/src/common/x86_internal.h | 6 ------
arch/x86_64/src/common/addrenv.h | 6 ------
arch/x86_64/src/common/x86_64_internal.h | 6 ------
arch/x86_64/src/intel64/intel64_initialstate.c | 6 ------
arch/xtensa/src/common/xtensa.h | 6 ------
arch/z16/src/common/z16_internal.h | 6 ------
arch/z80/src/common/z80_internal.h | 6 ------
include/nuttx/irq.h | 12 ++++++++++++
27 files changed, 13 insertions(+), 148 deletions(-)
diff --git a/arch/arm/src/armv7-a/addrenv.h b/arch/arm/src/armv7-a/addrenv.h
index 451b50aca7d..a5453afd97f 100644
--- a/arch/arm/src/armv7-a/addrenv.h
+++ b/arch/arm/src/armv7-a/addrenv.h
@@ -38,12 +38,6 @@
* Pre-processor Definitions
****************************************************************************/
-/* Aligned size of the kernel stack */
-
-#ifdef CONFIG_ARCH_KERNEL_STACK
-# define ARCH_KERNEL_STACKSIZE ((CONFIG_ARCH_KERNEL_STACKSIZE + 7) & ~7)
-#endif
-
/* Using a 4KiB page size, each 1MiB section maps to a PTE containing
* 256*2KiB entries
*/
diff --git a/arch/arm/src/common/arm_internal.h
b/arch/arm/src/common/arm_internal.h
index 2918386c921..ba22c4a3bd1 100644
--- a/arch/arm/src/common/arm_internal.h
+++ b/arch/arm/src/common/arm_internal.h
@@ -80,12 +80,6 @@
# define USE_SERIALDRIVER 1
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* Check if an interrupt stack size is configured */
#ifndef CONFIG_ARCH_INTERRUPTSTACK
diff --git a/arch/arm64/src/common/addrenv.h b/arch/arm64/src/common/addrenv.h
index ac5b6181d83..8aa1241e1a9 100644
--- a/arch/arm64/src/common/addrenv.h
+++ b/arch/arm64/src/common/addrenv.h
@@ -40,12 +40,6 @@
* Pre-processor Definitions
****************************************************************************/
-/* Aligned size of the kernel stack */
-
-#ifdef CONFIG_ARCH_KERNEL_STACK
-# define ARCH_KERNEL_STACKSIZE STACK_ALIGN_UP(CONFIG_ARCH_KERNEL_STACKSIZE)
-#endif
-
/* Base address for address environment */
#if CONFIG_ARCH_TEXT_VBASE != 0
diff --git a/arch/arm64/src/common/arm64_internal.h
b/arch/arm64/src/common/arm64_internal.h
index 3931db57102..afce97dab92 100644
--- a/arch/arm64/src/common/arm64_internal.h
+++ b/arch/arm64/src/common/arm64_internal.h
@@ -93,12 +93,6 @@
#define STACK_COLOR 0xdeaddead
#define HEAP_COLOR 'h'
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
#ifdef CONFIG_SMP
/* The size of interrupt and idle stack. This is the configured
* value aligned the 8-bytes as required by the ARM EABI.
diff --git a/arch/avr/src/avr32/avr32.h b/arch/avr/src/avr32/avr32.h
index 6b58887f9a5..24367e93a96 100644
--- a/arch/avr/src/avr32/avr32.h
+++ b/arch/avr/src/avr32/avr32.h
@@ -38,12 +38,6 @@
* Pre-processor Definitions
****************************************************************************/
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* Macros to handle saving and restore interrupt state. The state is copied
* from the stack to the TCB, but only a referenced is passed to get the
* state from the TCB.
diff --git a/arch/ceva/src/common/ceva_internal.h
b/arch/ceva/src/common/ceva_internal.h
index e4737a59046..d43747ffd7d 100644
--- a/arch/ceva/src/common/ceva_internal.h
+++ b/arch/ceva/src/common/ceva_internal.h
@@ -73,12 +73,6 @@
# define USE_SERIALDRIVER 1
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (sizeof(uint32_t) - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* Linker defined section addresses */
#define _START_TEXT _stext
diff --git a/arch/hc/src/common/hc_internal.h b/arch/hc/src/common/hc_internal.h
index dc816473bb7..c05b2f55e6e 100644
--- a/arch/hc/src/common/hc_internal.h
+++ b/arch/hc/src/common/hc_internal.h
@@ -73,12 +73,6 @@
# define CONFIG_ARCH_INTERRUPTSTACK 0
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
#define getreg8(a) (*(volatile uint8_t *)(a))
#define putreg8(v,a) (*(volatile uint8_t *)(a) = (v))
#define getreg16(a) (*(volatile uint16_t *)(a))
diff --git a/arch/mips/src/common/mips_internal.h
b/arch/mips/src/common/mips_internal.h
index 8989e88e626..53b012355d9 100644
--- a/arch/mips/src/common/mips_internal.h
+++ b/arch/mips/src/common/mips_internal.h
@@ -71,12 +71,6 @@
# define CONFIG_ARCH_INTERRUPTSTACK 0
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
#define getreg8(a) (*(volatile uint8_t *)(a))
#define putreg8(v,a) (*(volatile uint8_t *)(a) = (v))
#define getreg16(a) (*(volatile uint16_t *)(a))
diff --git a/arch/misoc/src/lm32/lm32.h b/arch/misoc/src/lm32/lm32.h
index 6f2acedaedf..4e83d27f41e 100644
--- a/arch/misoc/src/lm32/lm32.h
+++ b/arch/misoc/src/lm32/lm32.h
@@ -66,12 +66,6 @@
# endif
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/****************************************************************************
* Public Types
****************************************************************************/
diff --git a/arch/misoc/src/minerva/minerva.h b/arch/misoc/src/minerva/minerva.h
index 498f4ccbced..6d5a57af2e4 100644
--- a/arch/misoc/src/minerva/minerva.h
+++ b/arch/misoc/src/minerva/minerva.h
@@ -65,12 +65,6 @@
# endif
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/****************************************************************************
* Public Types
****************************************************************************/
diff --git a/arch/or1k/src/common/or1k_internal.h
b/arch/or1k/src/common/or1k_internal.h
index 24d3d06e15c..2eaade2fe26 100644
--- a/arch/or1k/src/common/or1k_internal.h
+++ b/arch/or1k/src/common/or1k_internal.h
@@ -74,12 +74,6 @@
# define CONFIG_ARCH_INTERRUPTSTACK 0
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
#define or1k_savestate(regs) or1k_copyfullstate(regs, up_current_regs())
#define or1k_restorestate(regs) or1k_copyfullstate(up_current_regs(), regs)
diff --git a/arch/renesas/src/common/renesas_internal.h
b/arch/renesas/src/common/renesas_internal.h
index 6df7bb45f60..57e34390341 100644
--- a/arch/renesas/src/common/renesas_internal.h
+++ b/arch/renesas/src/common/renesas_internal.h
@@ -77,12 +77,6 @@
# define CONFIG_ARCH_INTERRUPTSTACK 0
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
#define renesas_savestate(regs) renesas_copystate(regs, up_current_regs())
#define getreg8(a) (*(volatile uint8_t *)(a))
diff --git a/arch/risc-v/src/common/addrenv.h b/arch/risc-v/src/common/addrenv.h
index 233f7c4ecd7..ec4557311ff 100644
--- a/arch/risc-v/src/common/addrenv.h
+++ b/arch/risc-v/src/common/addrenv.h
@@ -40,12 +40,6 @@
* Pre-processor Definitions
****************************************************************************/
-/* Aligned size of the kernel stack */
-
-#ifdef CONFIG_ARCH_KERNEL_STACK
-# define ARCH_KERNEL_STACKSIZE STACK_ALIGN_UP(CONFIG_ARCH_KERNEL_STACKSIZE)
-#endif
-
/* Base address for address environment */
#if CONFIG_ARCH_TEXT_VBASE != 0
diff --git a/arch/risc-v/src/common/riscv_exception_common.S
b/arch/risc-v/src/common/riscv_exception_common.S
index 7bcc4a5de16..1ac81a6681c 100644
--- a/arch/risc-v/src/common/riscv_exception_common.S
+++ b/arch/risc-v/src/common/riscv_exception_common.S
@@ -26,6 +26,7 @@
#include <nuttx/config.h>
+#include <nuttx/irq.h>
#include <arch/arch.h>
#include <arch/irq.h>
#include <arch/mode.h>
diff --git a/arch/risc-v/src/common/riscv_internal.h
b/arch/risc-v/src/common/riscv_internal.h
index f48e1938be9..8e25f4ee3a2 100644
--- a/arch/risc-v/src/common/riscv_internal.h
+++ b/arch/risc-v/src/common/riscv_internal.h
@@ -74,12 +74,6 @@
#define STACK_FRAME_SIZE __XSTR(STACK_ALIGNMENT)
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* Interrupt Stack macros */
#define INT_STACK_SIZE (STACK_ALIGN_DOWN(CONFIG_ARCH_INTERRUPTSTACK))
diff --git a/arch/risc-v/src/nuttsbi/sbi_internal.h
b/arch/risc-v/src/nuttsbi/sbi_internal.h
index b021c81cf67..5939acf9cb3 100644
--- a/arch/risc-v/src/nuttsbi/sbi_internal.h
+++ b/arch/risc-v/src/nuttsbi/sbi_internal.h
@@ -62,10 +62,6 @@
#define MTIMER_TIME_BASE (CONFIG_NUTTSBI_MTIME_BASE)
#define MTIMER_CMP_BASE (CONFIG_NUTTSBI_MTIMECMP_BASE)
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* Temporary stack placement and size */
#define TEMP_STACK_BASE (_ebss)
diff --git a/arch/sim/src/sim/sim_internal.h b/arch/sim/src/sim/sim_internal.h
index d45b8e511c3..69d4ef27893 100644
--- a/arch/sim/src/sim/sim_internal.h
+++ b/arch/sim/src/sim/sim_internal.h
@@ -84,12 +84,6 @@
# define CONFIG_SIM_FB_INTERVAL_LINE 0
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* Simulated Heap Definitions ***********************************************/
/* Size of the simulated heap */
diff --git a/arch/sparc/src/common/sparc_internal.h
b/arch/sparc/src/common/sparc_internal.h
index fd7c6629a93..063caa7b7b9 100644
--- a/arch/sparc/src/common/sparc_internal.h
+++ b/arch/sparc/src/common/sparc_internal.h
@@ -84,12 +84,6 @@
#define INTSTACK_SIZE (CONFIG_ARCH_INTERRUPTSTACK & ~STACK_ALIGN_MASK)
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* This is the value used to mark the stack for subsequent stack monitoring
* logic.
*/
diff --git a/arch/tricore/src/common/tricore_internal.h
b/arch/tricore/src/common/tricore_internal.h
index c3b5761a85b..7fd1e7a0e37 100644
--- a/arch/tricore/src/common/tricore_internal.h
+++ b/arch/tricore/src/common/tricore_internal.h
@@ -85,12 +85,6 @@
# define USE_SERIALDRIVER 1
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* Check if an interrupt stack size is configured */
#ifndef CONFIG_ARCH_INTERRUPTSTACK
diff --git a/arch/x86/src/common/x86_internal.h
b/arch/x86/src/common/x86_internal.h
index e0f70273792..e7fc43364ca 100644
--- a/arch/x86/src/common/x86_internal.h
+++ b/arch/x86/src/common/x86_internal.h
@@ -73,12 +73,6 @@
# define CONFIG_ARCH_INTERRUPTSTACK 0
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
#define getreg8(p) inb(p)
#define putreg8(v,p) outb(v,p)
#define getreg16(p) inw(p)
diff --git a/arch/x86_64/src/common/addrenv.h b/arch/x86_64/src/common/addrenv.h
index 7fda891eccd..e9ddee927f8 100644
--- a/arch/x86_64/src/common/addrenv.h
+++ b/arch/x86_64/src/common/addrenv.h
@@ -40,12 +40,6 @@
* Pre-processor Definitions
****************************************************************************/
-/* Aligned size of the kernel stack */
-
-#ifdef CONFIG_ARCH_KERNEL_STACK
-# define ARCH_KERNEL_STACKSIZE STACK_ALIGN_UP(CONFIG_ARCH_KERNEL_STACKSIZE)
-#endif
-
/* Base address for address environment */
#if CONFIG_ARCH_TEXT_VBASE != 0
diff --git a/arch/x86_64/src/common/x86_64_internal.h
b/arch/x86_64/src/common/x86_64_internal.h
index f9021b3675f..92c5afa5e0e 100644
--- a/arch/x86_64/src/common/x86_64_internal.h
+++ b/arch/x86_64/src/common/x86_64_internal.h
@@ -94,12 +94,6 @@
# define CONFIG_ARCH_INTERRUPTSTACK 0
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* This is the value used to mark the stack for subsequent stack monitoring
* logic.
*/
diff --git a/arch/x86_64/src/intel64/intel64_initialstate.c
b/arch/x86_64/src/intel64/intel64_initialstate.c
index 60460d3948f..b05640ba1e3 100644
--- a/arch/x86_64/src/intel64/intel64_initialstate.c
+++ b/arch/x86_64/src/intel64/intel64_initialstate.c
@@ -51,12 +51,6 @@
# error x86_64 stack canaries requires TLS support !
#endif
-/* Aligned size of the kernel stack */
-
-#ifdef CONFIG_ARCH_KERNEL_STACK
-# define ARCH_KERNEL_STACKSIZE STACK_ALIGN_UP(CONFIG_ARCH_KERNEL_STACKSIZE)
-#endif
-
/****************************************************************************
* Public Functions
****************************************************************************/
diff --git a/arch/xtensa/src/common/xtensa.h b/arch/xtensa/src/common/xtensa.h
index f4ce7abd6cf..4c08f4101ad 100644
--- a/arch/xtensa/src/common/xtensa.h
+++ b/arch/xtensa/src/common/xtensa.h
@@ -84,12 +84,6 @@
# define INTSTACK_SIZE INTSTACK_ALIGNUP(CONFIG_ARCH_INTERRUPTSTACK)
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* An IDLE thread stack size for CPU0 must be defined */
#if !defined(CONFIG_IDLETHREAD_STACKSIZE)
diff --git a/arch/z16/src/common/z16_internal.h
b/arch/z16/src/common/z16_internal.h
index 6d8ce0882e7..626a80d0fa8 100644
--- a/arch/z16/src/common/z16_internal.h
+++ b/arch/z16/src/common/z16_internal.h
@@ -72,12 +72,6 @@
# define USE_SERIALDRIVER 1
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* Macros for portability */
#define IN_INTERRUPT (up_current_regs() != NULL)
diff --git a/arch/z80/src/common/z80_internal.h
b/arch/z80/src/common/z80_internal.h
index 87e82706e24..24e373dc0f8 100644
--- a/arch/z80/src/common/z80_internal.h
+++ b/arch/z80/src/common/z80_internal.h
@@ -63,12 +63,6 @@
# define USE_SERIALDRIVER 1
#endif
-/* Stack alignment macros */
-
-#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
-#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
-#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
-
/* Register access macros ***************************************************
*
* The register access mechanism provided in ez8.h differs from the useful in
diff --git a/include/nuttx/irq.h b/include/nuttx/irq.h
index 4f483af6af0..18e4a3e46f6 100644
--- a/include/nuttx/irq.h
+++ b/include/nuttx/irq.h
@@ -98,6 +98,18 @@
while (0)
#endif
+/* Stack alignment macros */
+
+#define STACK_ALIGN_MASK (STACK_ALIGNMENT - 1)
+#define STACK_ALIGN_DOWN(a) ((a) & ~STACK_ALIGN_MASK)
+#define STACK_ALIGN_UP(a) (((a) + STACK_ALIGN_MASK) & ~STACK_ALIGN_MASK)
+
+/* Aligned size of the kernel stack */
+
+#ifdef CONFIG_ARCH_KERNEL_STACK
+# define ARCH_KERNEL_STACKSIZE STACK_ALIGN_UP(CONFIG_ARCH_KERNEL_STACKSIZE)
+#endif
+
/* Interrupt was handled by this device */
#define IRQ_HANDLED 0