diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-01-03 17:49:53 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-01-03 17:49:53 +0000 |
commit | eb7a5bf93aaa4be1d7c6181100ab7639e74d67f7 (patch) | |
tree | 5746fea1605ff013be9b78a1556aaad7615d664a /arch/alpha/lib/srm_dispatch.S | |
parent | 80ea5b1e15398277650e1197957053b5a71c08bc (diff) |
Merge with Linux 2.1.131 plus some more MIPS goodies.
Diffstat (limited to 'arch/alpha/lib/srm_dispatch.S')
-rw-r--r-- | arch/alpha/lib/srm_dispatch.S | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/arch/alpha/lib/srm_dispatch.S b/arch/alpha/lib/srm_dispatch.S new file mode 100644 index 000000000..2bcea3073 --- /dev/null +++ b/arch/alpha/lib/srm_dispatch.S @@ -0,0 +1,43 @@ +/* + * arch/alpha/lib/srm_dispatch.S + */ + +.globl srm_dispatch +.ent srm_dispatch +srm_dispatch: + .frame $30,30,$26 + subq $30,80,$30 + stq $26,0($30) + stq $8,8($30) + stq $9,16($30) + stq $10,24($30) + stq $11,32($30) + stq $12,40($30) + stq $13,48($30) + stq $14,56($30) + stq $15,64($30) + stq $29,72($30) + .mask 0x2400FF00, -80 + .prologue 0 + + ldq $1,hwrpb + ldq $2,0xc0($1) /* crb offset */ + addq $2,$1,$2 /* crb */ + ldq $27,0($2) /* dispatch procedure value */ + + ldq $2,8($27) /* dispatch call address */ + jsr $26,($2) /* call it (weird VMS call seq) */ + + ldq $26,0($30) + ldq $8,8($30) + ldq $9,16($30) + ldq $10,24($30) + ldq $11,32($30) + ldq $12,40($30) + ldq $13,48($30) + ldq $14,56($30) + ldq $15,64($30) + ldq $29,72($30) + addq $30,80,$30 + ret $31,($26),1 +.end srm_dispatch |