39#ifndef THD_STACK_ALIGNMENT
41#define THD_STACK_ALIGNMENT 8
46#define THD_STACK_SIZE 32768
49#ifndef THD_KERNEL_STACK_SIZE
51#define THD_KERNEL_STACK_SIZE (64 * 1024)
62 __asm__ __volatile__(
"sts pr,%0\n" :
"=r"(pr));
78 register uintptr_t fp __asm__(
"r14");
90 return *(uintptr_t *)fptr;
Various common macros used throughout the codebase.
void arch_stk_trace_at(uint32_t fp, size_t n)
Do a stack trace from the current function.
static __always_inline uintptr_t arch_get_fptr(void)
DC specific "function" to get the frame pointer from the current function.
Definition stack.h:77
static uintptr_t arch_fptr_ret_addr(uintptr_t fptr)
Pass in a frame pointer value to get the return address for the given frame.
Definition stack.h:89
static __always_inline uintptr_t arch_get_ret_addr(void)
DC specific "function" to get the return address from the current function.
Definition stack.h:59
void arch_stk_trace(int n)
Do a stack trace from the current function.
static uintptr_t arch_fptr_next(uintptr_t fptr)
Pass in a frame pointer value to get the previous frame pointer for the given frame.
Definition stack.h:99
void arch_stk_setup(kthread_t *nt)
Set up new stack before running.
static uint32_t("Please see purupuru_effect_t for modern equivalent.") PURUPURU_EFFECT2_UINTENSITY(uint8_t x)
Definition purupuru.h:96
Structure describing one running thread.
Definition thread.h:164