7#ifndef ZEPHYR_INCLUDE_ARCH_ARM64_THREAD_STACK_H_
8#define ZEPHYR_INCLUDE_ARCH_ARM64_THREAD_STACK_H_
10#define ARCH_STACK_PTR_ALIGN 16
13#define Z_ARM64_STACK_BASE_ALIGN CONFIG_MMU_PAGE_SIZE
14#define Z_ARM64_STACK_SIZE_ALIGN CONFIG_MMU_PAGE_SIZE
16#define Z_ARM64_STACK_BASE_ALIGN ARCH_STACK_PTR_ALIGN
17#define Z_ARM64_STACK_SIZE_ALIGN ARCH_STACK_PTR_ALIGN
43#define ARCH_THREAD_STACK_OBJ_ALIGN(size) Z_ARM64_STACK_BASE_ALIGN
44#define ARCH_THREAD_STACK_SIZE_ADJUST(size) \
45 ROUND_UP((size), Z_ARM64_STACK_SIZE_ALIGN)
46#define ARCH_THREAD_STACK_RESERVED CONFIG_PRIVILEGED_STACK_SIZE
49#define ARCH_KERNEL_STACK_RESERVED 0
50#define ARCH_KERNEL_STACK_OBJ_ALIGN ARCH_STACK_PTR_ALIGN
54struct z_arm64_thread_stack_header {
55 char privilege_stack[CONFIG_PRIVILEGED_STACK_SIZE];
56} __packed __aligned(Z_ARM64_STACK_BASE_ALIGN);