Newsgroups: comp.sys.transputer
From: alex@infotech.tu-chemnitz.de (Alexander van Lomwel)
Subject: Trans. to trans. -booting
Summary: How do I boot a transputer from another transputer?
Keywords: booting
Organization: University of Technology Chemnitz-Zwickau, FRG
Date: 27 Oct 94 08:41:49 GMT
Message-ID: <alex.783247309@themis>

Hello;

	I like to boot one transputer from an other one. But I don't
rightly know how to do this. I tried to copy a boot file using the out
instuction. This bootfile is a existing INMOS.btl file. (I just assume
I can use it. It was configured for a single transputer.). I'm working
under PARIX, since the transputer I want to boot is outside the grid I
can't adress it from PARIX, so I wrote an assembler stub.

The stub is a routine, called from under PARIX. It attempts to copy a
buffer (The bootfile) to the link (OUT1) using the out-instruction. I
don't initialize the link. (Should I?)

The problem: The link is used (I tested this), but the routine does
not return. When I remove the out-instuction it does.
What do I do wrong, or what should I do?

I tried the following variants. The bootfile is 38k long. I tried (1)
to load it compleetly. The first byte of the bootfile contains the
length of the primary loader. I used (2) this as buffer-length (240 in
this case) and (3) 237 as buffer length. All gave the same result, a
hanging transputer.

	.text	
	.file	"Child.c"
	.globl	_some
	.globl	Stack_Extender
.L40003:
	ldc	.L40001*4+0x800
	ldc	.L40001*4
	ldc	.L40004
	call	Stack_Extender
	j	.L40002
	.align	4
_some:
	ldlp	0
	ldl	1
	ldnl	5
	diff	
	ldc	.L40001*4
	gt	
	cj	.L40003
.L40002:
	ldc	_some-2
	ldpi	
	ldlp	5
	ajw	-.L40000
	stl	1
	stl	2
; buffer adress 
	ldl	.L40000+1
	ldnl	1
	stl	3
	ldl	.L40000+2
	ldnl	0
; load channel adress
	mint
	ldc	4
	add
; buffer length
	ldl	.L40000+2
	ldnl	1
; Start of my shit
	out
	ldc	0
	ajw	.L40000
	ret	
	.set	.L40004,0x2
.L11:
.L40005:
	ajw	.L40000
	ret	
	.set	.ti1,0x4
	.set	.L40000,0x4
	.set	.L40001,0x9


This stub is mostly coppied from the 'ancc -S' output, when compiling
a singel routine. I hope someone knows the answer, because I'm
stabbing in the dark at the moment.

	Thank you;
		Alexander.


