Skip to content

Instantly share code, notes, and snippets.

@jazzpi
Created December 14, 2018 16:57
Show Gist options
  • Save jazzpi/4b7706bd3433400516c0ce4f8cdecb1d to your computer and use it in GitHub Desktop.
Save jazzpi/4b7706bd3433400516c0ce4f8cdecb1d to your computer and use it in GitHub Desktop.
#include "kernel/modes.h"
#include "kernel/memory.h"
_init_stacks:
cps #MODE_IRQ
ldr sp, =P_STACK_IRQ
cps #MODE_FIQ
ldr sp, =P_STACK_FIQ
cps #MODE_SYS
ldr sp, =P_STACK_SYS
cps #MODE_UND
ldr sp, =P_STACK_UND
cps #MODE_ABT
ldr sp, =P_STACK_ABT
cps #MODE_SVC
ldr sp, =P_STACK_SVC
#define P_SYSTEM_STACK_SIZE (1024 * 1024 / 8)
#define P_SYSTEM_STACK_START ((void*) 0x8000000)
#define P_STACK_FIQ (P_SYSTEM_STACK_START - P_SYSTEM_STACK_SIZE * 0)
#define P_STACK_IRQ (P_SYSTEM_STACK_START - P_SYSTEM_STACK_SIZE * 1)
#define P_STACK_SVC (P_SYSTEM_STACK_START - P_SYSTEM_STACK_SIZE * 2)
#define P_STACK_ABT (P_SYSTEM_STACK_START - P_SYSTEM_STACK_SIZE * 3)
#define P_STACK_UND (P_SYSTEM_STACK_START - P_SYSTEM_STACK_SIZE * 4)
#define P_STACK_SYS (P_SYSTEM_STACK_START - P_SYSTEM_STACK_SIZE * 5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment