Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c56334db authored by Al Viro's avatar Al Viro Committed by Richard Weinberger
Browse files

um: merge processor_{32,64}.h a bit...

parent 10c890c0
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -17,6 +17,16 @@
#define ARCH_IS_STACKGROW(address) \
#define ARCH_IS_STACKGROW(address) \
       (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(&current->thread.regs.regs))
       (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(&current->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
+0 −10
Original line number Original line Diff line number Diff line
@@ -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
+0 −10
Original line number Original line Diff line number Diff line
@@ -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, \
@@ -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; })