7#ifndef ZEPHYR_INCLUDE_ARCH_ARM64_THREAD_STACK_H_
8#define ZEPHYR_INCLUDE_ARCH_ARM64_THREAD_STACK_H_
11#define ARCH_STACK_PTR_ALIGN 16
15#define Z_ARM64_STACK_BASE_ALIGN MEM_DOMAIN_ALIGN_AND_SIZE
16#define Z_ARM64_STACK_SIZE_ALIGN MEM_DOMAIN_ALIGN_AND_SIZE
18#define Z_ARM64_STACK_BASE_ALIGN ARCH_STACK_PTR_ALIGN
19#define Z_ARM64_STACK_SIZE_ALIGN ARCH_STACK_PTR_ALIGN
45#define ARCH_THREAD_STACK_OBJ_ALIGN(size) Z_ARM64_STACK_BASE_ALIGN
46#define ARCH_THREAD_STACK_SIZE_ADJUST(size) \
47 ROUND_UP((size), Z_ARM64_STACK_SIZE_ALIGN)
48#define ARCH_THREAD_STACK_RESERVED CONFIG_PRIVILEGED_STACK_SIZE
51#define ARCH_KERNEL_STACK_RESERVED 0
52#define ARCH_KERNEL_STACK_OBJ_ALIGN ARCH_STACK_PTR_ALIGN
56struct z_arm64_thread_stack_header {
57 char privilege_stack[CONFIG_PRIVILEGED_STACK_SIZE];
58} __packed __aligned(Z_ARM64_STACK_BASE_ALIGN);