aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-06 00:29:28 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 04:11:48 -0500
commit936f482af1743141d637483ec10eb881537c26dc (patch)
tree913da89a4d9f4038c510c9ecf2f5957b0f6d167f /include/asm-sparc64
parent6e02493a7f33ac89e698b980a657d77ab2749eaf (diff)
[SPARC64]: Add initial code to twiddle %gl on trap entry/exit.
Instead of setting/clearing PSTATE_AG we have to change the %gl register value on sun4v. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64')
-rw-r--r--include/asm-sparc64/cpudata.h5
-rw-r--r--include/asm-sparc64/head.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-sparc64/cpudata.h b/include/asm-sparc64/cpudata.h
index 4f28a85c1043..8666440c89af 100644
--- a/include/asm-sparc64/cpudata.h
+++ b/include/asm-sparc64/cpudata.h
@@ -73,6 +73,11 @@ struct cpuid_patch_entry {
73extern struct cpuid_patch_entry __cpuid_patch, __cpuid_patch_end; 73extern struct cpuid_patch_entry __cpuid_patch, __cpuid_patch_end;
74#endif 74#endif
75 75
76struct gl_1insn_patch_entry {
77 unsigned int addr;
78 unsigned int insn;
79};
80extern struct gl_1insn_patch_entry __gl_1insn_patch, __gl_1insn_patch_end;
76#endif /* !(__ASSEMBLY__) */ 81#endif /* !(__ASSEMBLY__) */
77 82
78#define TRAP_PER_CPU_THREAD 0x00 83#define TRAP_PER_CPU_THREAD 0x00
diff --git a/include/asm-sparc64/head.h b/include/asm-sparc64/head.h
index 731c842f3d11..ff76c0981b63 100644
--- a/include/asm-sparc64/head.h
+++ b/include/asm-sparc64/head.h
@@ -4,6 +4,10 @@
4 4
5#include <asm/pstate.h> 5#include <asm/pstate.h>
6 6
7 /* wrpr %g0, val, %gl */
8#define SET_GL(val) \
9 .word 0xa1902000 | val
10
7#define KERNBASE 0x400000 11#define KERNBASE 0x400000
8 12
9#define PTREGS_OFF (STACK_BIAS + STACKFRAME_SZ) 13#define PTREGS_OFF (STACK_BIAS + STACKFRAME_SZ)