diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-05-07 02:55:41 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-05-07 02:55:41 +0000 |
commit | dcec8a13bf565e47942a1751a9cec21bec5648fe (patch) | |
tree | 548b69625b18cc2e88c3e68d0923be546c9ebb03 /include/asm-sparc/winmacro.h | |
parent | 2e0f55e79c49509b7ff70ff1a10e1e9e90a3dfd4 (diff) |
o Merge with Linux 2.1.99.
o Fix ancient bug in the ELF loader making ldd crash.
o Fix ancient bug in the keyboard code for SGI, SNI and Jazz.
Diffstat (limited to 'include/asm-sparc/winmacro.h')
-rw-r--r-- | include/asm-sparc/winmacro.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/include/asm-sparc/winmacro.h b/include/asm-sparc/winmacro.h index cb2f4e73b..f31322e8e 100644 --- a/include/asm-sparc/winmacro.h +++ b/include/asm-sparc/winmacro.h @@ -1,4 +1,4 @@ -/* $Id: winmacro.h,v 1.19 1997/05/01 01:42:05 davem Exp $ +/* $Id: winmacro.h,v 1.20 1998/03/09 14:04:54 jj Exp $ * winmacro.h: Window loading-unloading macros. * * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) @@ -112,13 +112,26 @@ st %scratch, [%cur_reg + AOFF_task_tss + AOFF_thread_w_saved]; #ifdef __SMP__ -#define LOAD_CURRENT(dest_reg, idreg) \ +#define LOAD_CURRENT4M(dest_reg, idreg) \ rd %tbr, %idreg; \ sethi %hi(C_LABEL(current_set)), %dest_reg; \ srl %idreg, 10, %idreg; \ or %dest_reg, %lo(C_LABEL(current_set)), %dest_reg; \ and %idreg, 0xc, %idreg; \ ld [%idreg + %dest_reg], %dest_reg; + +/* Sliiick. We have a Linux current register :) -jj */ +#define LOAD_CURRENT4D(dest_reg) \ + lda [%g0] ASI_M_VIKING_TMP2, %dest_reg; + +/* Blackbox - take care with this... - check smp4m and smp4d before changing this. */ +#define LOAD_CURRENT(dest_reg, idreg) \ + sethi %hi(___b_load_current), %idreg; \ + sethi %hi(C_LABEL(current_set)), %dest_reg; \ + sethi %hi(C_LABEL(boot_cpu_id4)), %idreg; \ + or %dest_reg, %lo(C_LABEL(current_set)), %dest_reg; \ + ldub [%idreg + %lo(C_LABEL(boot_cpu_id4))], %idreg; \ + ld [%idreg + %dest_reg], %dest_reg; #else #define LOAD_CURRENT(dest_reg, idreg) \ sethi %hi(C_LABEL(current_set)), %idreg; \ |