arla 0.42 on NetBSD/vax 3.0: success
Jonathan A. Kollasch
jakllsch at kollasch.net
Mon Jun 12 06:33:39 CEST 2006
Hi,
For no real reason I've tested Arla on NetBSD/vax 3.0. Included is the
fixes to get lwp/process.vax.S to assemble with the current toolchain
and fix some function name changes.
(I should note that this is the first time I've modified VAX assembly
code, the fixes were based on the syntax of the .S code in NetBSD.)
Also, configure (which took over a half hour) made one or
two mistakes that I just overrode manually in config.h.
In the hour or so that I've tested this (only in read mode) I've
not had any problems.
Great work on creating such a portable package. Perhaps
on another weekend I'll try out Arla on NetBSD/pmax.
Jonathan Kollasch
-------------- next part --------------
--- /tmp/arla-0.42/lwp/process.vax.S 2000-01-01 20:11:20.000000000 -0600
+++ arla-0.42/lwp/process.vax.S 2006-06-11 17:56:36.000000000 -0500
@@ -65,26 +65,26 @@
.set area1,8
.set newsp,12
-.globl _PRE_Block
-.globl _savecontext
+.globl PRE_Block
+.globl savecontext
-_savecontext:
+savecontext:
.word 0x0ffc # Save regs R2-R11
- movb $1,_PRE_Block # Critical section for preemption code
- pushl ap # save old ap
- pushl fp # save old fp
- movl area1(ap),r0 # r0 = base of savearea
- movl sp,topstack(r0) # area->topstack = sp
- movl newsp(ap),r0 # Get new sp
+ movb $1,PRE_Block # Critical section for preemption code
+ pushl %ap # save old ap
+ pushl %fp # save old fp
+ movl area1(%ap),%r0 # r0 = base of savearea
+ movl %sp,topstack(%r0) # area->topstack = sp
+ movl newsp(%ap),%r0 # Get new sp
beql L1 # if new sp is 0, dont change stacks
- movl r0,sp # else switch to new stack
+ movl %r0,%sp # else switch to new stack
L1:
- movl f(ap),r1 # r1 = f
- calls $0,0(r1) # f()
+ movl f(%ap),%r1 # r1 = f
+ calls $0,0(%r1) # f()
/* It is impossible to be here, so abort() */
- calls $0,_abort
+ calls $0,abort
/*
# returnto(area2)
@@ -94,15 +94,15 @@
/* Stack offset of argument */
.set area2,4
- .globl _returnto
-_returnto:
+ .globl returnto
+returnto:
.word 0x0 # Who cares about these regs?
- movl area2(ap),r0 # r0 = address of area2
- movl topstack(r0),sp # Restore sp
- movl (sp)+,fp # Restore fp
- movl (sp)+,ap # ,,,,
- clrb _PRE_Block # End of preemption critical section
+ movl area2(%ap),%r0 # r0 = address of area2
+ movl topstack(%r0),%sp # Restore sp
+ movl (%sp)+,%fp # Restore fp
+ movl (%sp)+,%ap # ,,,,
+ clrb PRE_Block # End of preemption critical section
ret
pushl $1234 # I will gloat, Kazar
- calls $0,_abort
+ calls $0,abort
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 186 bytes
Desc: not available
Url : http://lists.stacken.kth.se/pipermail/arla-drinkers/attachments/20060612/544a227d/attachment.bin
More information about the Arla-drinkers
mailing list