=================================================================== RCS file: /cvs/prex-old/sys/arch/arm/include/arch.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- prex-old/sys/arch/arm/include/arch.h 2008/06/03 10:38:45 1.1.1.1 +++ prex-old/sys/arch/arm/include/arch.h 2008/08/13 17:12:29 1.1.1.1.2.1 @@ -102,23 +102,25 @@ * Processor context */ struct context { - struct kern_regs kregs; /* Kernel mode registers */ - struct cpu_regs *uregs; /* User mode registers */ + struct kern_regs kregs; /* kernel mode registers */ + struct cpu_regs *uregs; /* user mode registers */ + struct cpu_regs *saved_regs; /* savecd user mode registers */ }; typedef struct context *context_t; /* context id */ -/* Types for context_set */ -#define CTX_UENTRY 0 /* Set user mode entry addres */ -#define CTX_USTACK 1 /* Set user mode stack address */ -#define CTX_KENTRY 2 /* Set kernel mode entry address */ -#define CTX_KARG 3 /* Set kernel mode argument */ +/* types for context_set */ +#define CTX_KSTACK 0 /* set kernel mode entry address */ +#define CTX_KENTRY 1 /* set kernel mode entry address */ +#define CTX_KARG 2 /* set kernel mode argument */ +#define CTX_USTACK 3 /* set user mode stack address */ +#define CTX_UENTRY 4 /* set user mode entry addres */ +#define CTX_UARG 5 /* set user mode argument */ -extern void context_init(context_t, u_long); -extern void context_set(context_t, int type, u_long); -extern void context_switch(context_t, context_t); -extern void context_save(context_t, int); -extern void context_restore(context_t, void *); +extern void context_set(context_t, int, vaddr_t); +extern void context_switch(context_t, context_t); +extern void context_save(context_t); +extern void context_restore(context_t); /* * Memory Management Unit @@ -145,11 +147,11 @@ /* * User Memory access */ -extern int umem_copyin(void *, void *, size_t); -extern int umem_copyout(void *, void *, size_t); +extern int umem_copyin(const void *, void *, size_t); +extern int umem_copyout(const void *, void *, size_t); extern int umem_strnlen(const char *, size_t, size_t *); -/* #define breakpoint() __asm__ __volatile__("bkpt"::) */ +extern void syscall_ret(void); #define breakpoint() do {} while (0); #endif /* !_ARCH_H */