diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-09-06 14:53:20 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-09-06 14:53:20 +0200 |
commit | f12e6a451aad671a724e61abce2b8b323f209355 (patch) | |
tree | e4969282d07f7682099291e59545744b3bb5dcac /include | |
parent | 046fd53773cd87125f799b00422e487bf1428d38 (diff) | |
parent | dc44e65943169de2d1a1b494876f48a65a9737f1 (diff) | |
download | op-kernel-dev-f12e6a451aad671a724e61abce2b8b323f209355.zip op-kernel-dev-f12e6a451aad671a724e61abce2b8b323f209355.tar.gz |
Merge branch 'x86/cleanups' into x86/signal
Conflicts:
arch/x86/kernel/signal_64.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/apic.h | 4 | ||||
-rw-r--r-- | include/asm-x86/asm.h | 7 | ||||
-rw-r--r-- | include/asm-x86/elf.h | 5 | ||||
-rw-r--r-- | include/asm-x86/resume-trace.h | 2 |
4 files changed, 11 insertions, 7 deletions
diff --git a/include/asm-x86/apic.h b/include/asm-x86/apic.h index 1311c82..d76a083 100644 --- a/include/asm-x86/apic.h +++ b/include/asm-x86/apic.h @@ -134,9 +134,7 @@ static inline void ack_x2APIC_irq(void) static inline void ack_APIC_irq(void) { /* - * ack_APIC_irq() actually gets compiled as a single instruction: - * - a single rmw on Pentium/82489DX - * - a single write on P6+ cores (CONFIG_X86_GOOD_APIC) + * ack_APIC_irq() actually gets compiled as a single instruction * ... yummie. */ diff --git a/include/asm-x86/asm.h b/include/asm-x86/asm.h index 2439ae4..e1355f4 100644 --- a/include/asm-x86/asm.h +++ b/include/asm-x86/asm.h @@ -20,17 +20,22 @@ #define _ASM_PTR __ASM_SEL(.long, .quad) #define _ASM_ALIGN __ASM_SEL(.balign 4, .balign 8) -#define _ASM_MOV_UL __ASM_SIZE(mov) +#define _ASM_MOV __ASM_SIZE(mov) #define _ASM_INC __ASM_SIZE(inc) #define _ASM_DEC __ASM_SIZE(dec) #define _ASM_ADD __ASM_SIZE(add) #define _ASM_SUB __ASM_SIZE(sub) #define _ASM_XADD __ASM_SIZE(xadd) + #define _ASM_AX __ASM_REG(ax) #define _ASM_BX __ASM_REG(bx) #define _ASM_CX __ASM_REG(cx) #define _ASM_DX __ASM_REG(dx) +#define _ASM_SP __ASM_REG(sp) +#define _ASM_BP __ASM_REG(bp) +#define _ASM_SI __ASM_REG(si) +#define _ASM_DI __ASM_REG(di) /* Exception table entry */ # define _ASM_EXTABLE(from,to) \ diff --git a/include/asm-x86/elf.h b/include/asm-x86/elf.h index cd678b2..5c4745b 100644 --- a/include/asm-x86/elf.h +++ b/include/asm-x86/elf.h @@ -148,8 +148,9 @@ do { \ static inline void start_ia32_thread(struct pt_regs *regs, u32 ip, u32 sp) { - asm volatile("movl %0,%%fs" :: "r" (0)); - asm volatile("movl %0,%%es; movl %0,%%ds" : : "r" (__USER32_DS)); + loadsegment(fs, 0); + loadsegment(ds, __USER32_DS); + loadsegment(es, __USER32_DS); load_gs_index(0); regs->ip = ip; regs->sp = sp; diff --git a/include/asm-x86/resume-trace.h b/include/asm-x86/resume-trace.h index 519a8ec..e39376d 100644 --- a/include/asm-x86/resume-trace.h +++ b/include/asm-x86/resume-trace.h @@ -7,7 +7,7 @@ do { \ if (pm_trace_enabled) { \ const void *tracedata; \ - asm volatile(_ASM_MOV_UL " $1f,%0\n" \ + asm volatile(_ASM_MOV " $1f,%0\n" \ ".section .tracedata,\"a\"\n" \ "1:\t.word %c1\n\t" \ _ASM_PTR " %c2\n" \ |