X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=include%2Fasm-h8300%2Fprocessor.h;h=69e8a34eb6d589a4fd2f2e8bc950910a8549290f;hb=ebaac8c9a5b9e8aeab4009cefcfc1e9421337ac5;hp=c7e2f454b83a570b5a445b061f028705166637bb;hpb=2683e88413977a7f382106f8e8b3b684a597c761;p=mv-sheeva.git diff --git a/include/asm-h8300/processor.h b/include/asm-h8300/processor.h index c7e2f454b83..69e8a34eb6d 100644 --- a/include/asm-h8300/processor.h +++ b/include/asm-h8300/processor.h @@ -17,6 +17,7 @@ */ #define current_text_addr() ({ __label__ _l; _l: &&_l;}) +#include #include #include #include @@ -38,6 +39,11 @@ static inline void wrusp(unsigned long usp) { */ #define TASK_SIZE (0xFFFFFFFFUL) +#ifdef __KERNEL__ +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP +#endif + /* * This decides where the kernel will search for a free chunk of vm * space during mmap's. We won't be using it @@ -77,7 +83,7 @@ struct thread_struct { do { \ set_fs(USER_DS); /* reads from user space */ \ (_regs)->pc = (_pc); \ - (_regs)->ccr &= 0x00; /* clear kernel flag */ \ + (_regs)->ccr = 0x00; /* clear all flags */ \ (_regs)->er5 = current->mm->start_data; /* GOT base */ \ wrusp((unsigned long)(_usp) - sizeof(unsigned long)*3); \ } while(0) @@ -129,6 +135,6 @@ unsigned long get_wchan(struct task_struct *p); eip; }) #define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->thread.usp) -#define cpu_relax() do { } while (0) +#define cpu_relax() barrier() #endif