Loading arch/x86/um/asm/processor.h +10 −0 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,16 @@ #define ARCH_IS_STACKGROW(address) \ #define ARCH_IS_STACKGROW(address) \ (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(¤t->thread.regs.regs)) (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(¤t->thread.regs.regs)) #include <asm/user.h> /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ static inline void rep_nop(void) { __asm__ __volatile__("rep;nop": : :"memory"); } #define cpu_relax() rep_nop() #include <asm/processor-generic.h> #include <asm/processor-generic.h> #endif #endif arch/x86/um/asm/processor_32.h +0 −10 Original line number Original line Diff line number Diff line Loading @@ -45,16 +45,6 @@ static inline void arch_copy_thread(struct arch_thread *from, memcpy(&to->tls_array, &from->tls_array, sizeof(from->tls_array)); memcpy(&to->tls_array, &from->tls_array, sizeof(from->tls_array)); } } #include <asm/user.h> /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ static inline void rep_nop(void) { __asm__ __volatile__("rep;nop": : :"memory"); } #define cpu_relax() rep_nop() /* /* * Default implementation of macro that returns current * Default implementation of macro that returns current * instruction pointer ("program counter"). Stolen * instruction pointer ("program counter"). Stolen Loading arch/x86/um/asm/processor_64.h +0 −10 Original line number Original line Diff line number Diff line Loading @@ -14,14 +14,6 @@ struct arch_thread { struct faultinfo faultinfo; struct faultinfo faultinfo; }; }; /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ static inline void rep_nop(void) { __asm__ __volatile__("rep;nop": : :"memory"); } #define cpu_relax() rep_nop() #define INIT_ARCH_THREAD { .debugregs = { [ 0 ... 7 ] = 0 }, \ #define INIT_ARCH_THREAD { .debugregs = { [ 0 ... 7 ] = 0 }, \ .debugregs_seq = 0, \ .debugregs_seq = 0, \ .fs = 0, \ .fs = 0, \ Loading @@ -37,8 +29,6 @@ static inline void arch_copy_thread(struct arch_thread *from, to->fs = from->fs; to->fs = from->fs; } } #include <asm/user.h> #define current_text_addr() \ #define current_text_addr() \ ({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; }) ({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; }) Loading Loading
arch/x86/um/asm/processor.h +10 −0 Original line number Original line Diff line number Diff line Loading @@ -17,6 +17,16 @@ #define ARCH_IS_STACKGROW(address) \ #define ARCH_IS_STACKGROW(address) \ (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(¤t->thread.regs.regs)) (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(¤t->thread.regs.regs)) #include <asm/user.h> /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ static inline void rep_nop(void) { __asm__ __volatile__("rep;nop": : :"memory"); } #define cpu_relax() rep_nop() #include <asm/processor-generic.h> #include <asm/processor-generic.h> #endif #endif
arch/x86/um/asm/processor_32.h +0 −10 Original line number Original line Diff line number Diff line Loading @@ -45,16 +45,6 @@ static inline void arch_copy_thread(struct arch_thread *from, memcpy(&to->tls_array, &from->tls_array, sizeof(from->tls_array)); memcpy(&to->tls_array, &from->tls_array, sizeof(from->tls_array)); } } #include <asm/user.h> /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ static inline void rep_nop(void) { __asm__ __volatile__("rep;nop": : :"memory"); } #define cpu_relax() rep_nop() /* /* * Default implementation of macro that returns current * Default implementation of macro that returns current * instruction pointer ("program counter"). Stolen * instruction pointer ("program counter"). Stolen Loading
arch/x86/um/asm/processor_64.h +0 −10 Original line number Original line Diff line number Diff line Loading @@ -14,14 +14,6 @@ struct arch_thread { struct faultinfo faultinfo; struct faultinfo faultinfo; }; }; /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ static inline void rep_nop(void) { __asm__ __volatile__("rep;nop": : :"memory"); } #define cpu_relax() rep_nop() #define INIT_ARCH_THREAD { .debugregs = { [ 0 ... 7 ] = 0 }, \ #define INIT_ARCH_THREAD { .debugregs = { [ 0 ... 7 ] = 0 }, \ .debugregs_seq = 0, \ .debugregs_seq = 0, \ .fs = 0, \ .fs = 0, \ Loading @@ -37,8 +29,6 @@ static inline void arch_copy_thread(struct arch_thread *from, to->fs = from->fs; to->fs = from->fs; } } #include <asm/user.h> #define current_text_addr() \ #define current_text_addr() \ ({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; }) ({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; }) Loading