arla 0.42 on NetBSD/vax 3.0: success
"Jonathan A. Kollasch" <[email protected]>
| Newsgroups | gmane.comp.file-systems.arla.general |
|---|---|
| Message-ID | <[email protected]> |
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 _______________________________________________ Arla-drinkers mailing list [email protected] https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers
diff
(text/plain, 1.8 KB)
--- /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
signature.asc
(application/pgp-signature, 186 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (NetBSD) iD8DBQFEjO6jOjx1ye3hmokRArLPAKCLEwOeEaB4zzV+m8MWPzUlcs7l2wCdH9vT jBZaQwZkcf/xNbGpQLzX7hg= =E5z9 -----END PGP SIGNATURE-----