git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 2.0 rc7
[linux-2.6.git]
/
include
/
asm-parisc
/
assembly.h
diff --git
a/include/asm-parisc/assembly.h
b/include/asm-parisc/assembly.h
index
b421d4b
..
cbc286f
100644
(file)
--- a/
include/asm-parisc/assembly.h
+++ b/
include/asm-parisc/assembly.h
@@
-24,17
+24,35
@@
#ifdef __LP64__
#define LDREG ldd
#define STREG std
#ifdef __LP64__
#define LDREG ldd
#define STREG std
+#define LDREGX ldd,s
#define LDREGM ldd,mb
#define STREGM std,ma
#define LDREGM ldd,mb
#define STREGM std,ma
+#define SHRREG shrd
#define RP_OFFSET 16
#define FRAME_SIZE 128
#define RP_OFFSET 16
#define FRAME_SIZE 128
+#define CALLEE_SAVE_FRAME_SIZE 144
#else
#define LDREG ldw
#define STREG stw
#else
#define LDREG ldw
#define STREG stw
+#define LDREGX ldwx,s
#define LDREGM ldwm
#define STREGM stwm
#define LDREGM ldwm
#define STREGM stwm
+#define SHRREG shr
#define RP_OFFSET 20
#define FRAME_SIZE 64
#define RP_OFFSET 20
#define FRAME_SIZE 64
+#define CALLEE_SAVE_FRAME_SIZE 128
+#endif
+
+#ifdef CONFIG_PA20
+#define BL b,l
+# ifdef CONFIG_64BIT
+# define LEVEL 2.0w
+# else
+# define LEVEL 2.0
+# endif
+#else
+#define BL bl
+#define LEVEL 1.1
#endif
#ifdef __ASSEMBLY__
#endif
#ifdef __ASSEMBLY__
@@
-110,6
+128,16
@@
depd,z \r, 63-\sa, 64-\sa, \t
.endm
depd,z \r, 63-\sa, 64-\sa, \t
.endm
+ /* Shift Right - note the r and t can NOT be the same! */
+ .macro shr r, sa, t
+ extru \r, 31-\sa, 32-\sa, \t
+ .endm
+
+ /* pa20w version of shift right */
+ .macro shrd r, sa, t
+ extrd,u \r, 63-\sa, 64-\sa, \t
+ .endm
+
/* load 32-bit 'value' into 'reg' compensating for the ldil
* sign-extension when running in wide mode.
* WARNING!! neither 'value' nor 'reg' can be expressions
/* load 32-bit 'value' into 'reg' compensating for the ldil
* sign-extension when running in wide mode.
* WARNING!! neither 'value' nor 'reg' can be expressions
@@
-274,7
+302,7
@@
#ifdef __LP64__
.macro callee_save
#ifdef __LP64__
.macro callee_save
- std,ma %r3,
144
(%r30)
+ std,ma %r3,
CALLEE_SAVE_FRAME_SIZE
(%r30)
mfctl %cr27, %r3
std %r4, -136(%r30)
std %r5, -128(%r30)
mfctl %cr27, %r3
std %r4, -136(%r30)
std %r5, -128(%r30)
@@
-312,13
+340,13
@@
ldd -128(%r30), %r5
ldd -136(%r30), %r4
mtctl %r3, %cr27
ldd -128(%r30), %r5
ldd -136(%r30), %r4
mtctl %r3, %cr27
- ldd,mb -
144
(%r30), %r3
+ ldd,mb -
CALLEE_SAVE_FRAME_SIZE
(%r30), %r3
.endm
#else /* ! __LP64__ */
.macro callee_save
.endm
#else /* ! __LP64__ */
.macro callee_save
- stw,ma %r3,
128
(%r30)
+ stw,ma %r3,
CALLEE_SAVE_FRAME_SIZE
(%r30)
mfctl %cr27, %r3
stw %r4, -124(%r30)
stw %r5, -120(%r30)
mfctl %cr27, %r3
stw %r4, -124(%r30)
stw %r5, -120(%r30)
@@
-356,7
+384,7
@@
ldw -120(%r30), %r5
ldw -124(%r30), %r4
mtctl %r3, %cr27
ldw -120(%r30), %r5
ldw -124(%r30), %r4
mtctl %r3, %cr27
- ldw,mb -
128
(%r30), %r3
+ ldw,mb -
CALLEE_SAVE_FRAME_SIZE
(%r30), %r3
.endm
#endif /* ! __LP64__ */
.endm
#endif /* ! __LP64__ */