37,13 → 37,27 |
#define LIBC_arm32_PSTHREAD_H_ |
|
#include <types.h> |
#define STACK_ITEM_SIZE 4 |
|
#define SP_DELTA 0 /* TODO */ |
/** see <a href="http://www.arm.com/support/faqdev/14269.html">ABI</a> for details */ |
#define STACK_ALIGNMENT 8 |
|
#define SP_DELTA (0 + ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT)) |
//TODO: check if correct |
|
typedef struct { |
uint32_t sp; |
uint32_t pc; |
uint32_t tls; |
uint32_t tls; //? where will be stored? |
// registers that called subrutine cannot change |
uint32_t r4; |
uint32_t r5; |
uint32_t r6; |
uint32_t r7; |
uint32_t r8; |
uint32_t r10; |
uint32_t r11; |
// not shure if not to be changed r9, IP, |
} context_t; |
|
#endif |