9fans archive / 2001 / 06 / 468 /    prev next

From: dpx@acl...
Subject: [9fans] booting an AlphaPC 164
Date: Mon, 25 Jun 2001 12:54:34 -0600


We have been trying to boot plan9 (w/ the latest updates) on some 
alphas and it appears to be hanging right as it starts the
kernel. Here is capture of the screen from a 21164 machine (w/ the 21172 
core logic):


Digital AlphaPC 164 467 MHz Console V5.5-1, Jul 14 1999 12:37:45
>>>b
(boot ewa0.0.0.5.0 -flags 0)

Trying BOOTP boot.

Broadcasting BOOTP Request...
Received BOOTP Packet File Name is: /alpha/bootalphapc
local inet address: 172.16.82.7
remote inet address: 172.16.82.1
TFTP Read File Name: /alpha/bootalphapc
netmask = 255.255.0.0
Server is on same subnet as client.
.
bootstrap code read in
base = 180000, image_start = 0, image_bytes = 867a
initializing HWRPB at 2000
initializing page table at 172000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code

Alpha Plan 9 secondary boot
Digital AlphaPC 164 467 MHz
Memory size: 512MB

plan9 (172.16.82.1!67): /alpha/conf/172.16.82.7.../alpha/9apc
624704+210224+78968=913896
entry: 0x80400020

At this point it hangs forever.

If i understand the boot process correctly, it has just jumped into
_main() in/sys/src/9/alphapc/l.s from gokernel() in /sys/src/9/boot/alphapc/exec.c
By adding RET to various points of _main() in l.s, i am thinking it is hanging
at the spot marked:

TEXT	_main(SB), $-8
	MOVQ	$setSB(SB), R29
	MOVQ	R29, R16
	CALL_PAL $PALwrkgp
	MOVQ	$mach0(SB), R(MACH)
	MOVQ	$(BY2PG-8)(R(MACH)), R30   <-------------
	MOVQ	R31, R(USER)
	MOVQ	R31, 0(R(MACH))

If i understand correctly this just sets the stack pointer to last quadword 
of the page containing the mach structure.

We get the same behavior w/ both the terminal and cpu kernels, and
also the same if we try it on an ev6 machine.  I found a post about
using the -x flag to 7l, but that does not seem to help.

anyone have any ideas, on what is going wrong?

thx,

-dp

>>>show boot*
boot_dev            	ewa0.0.0.5.0    
boot_file           	                
boot_osflags        	0               
boot_reset          	OFF             
bootdef_dev         	ewa0.0.0.5.0    
booted_dev          	ewa0.0.0.5.0    
booted_file         	                
booted_osflags      	0               

>>>show ewa*
ewa0_arp_tries      	3               
ewa0_bootp_file     	                
ewa0_bootp_server   	                
ewa0_bootp_tries    	3               
ewa0_def_ginetaddr  	0.0.0.0         
ewa0_def_inetaddr   	0.0.0.0         
ewa0_def_inetfile   	                
ewa0_def_sinetaddr  	0.0.0.0         
ewa0_def_subnetmask 	0.0.0.0         
ewa0_ginetaddr      	0.0.0.0         
ewa0_inet_init      	bootp           
ewa0_inetaddr       	172.16.82.7     
ewa0_inetfile       	/alpha/bootalphapc
ewa0_loop_count     	3e8             
ewa0_loop_inc       	a               
ewa0_loop_patt      	ffffffffffffffff
ewa0_loop_size      	2e              
ewa0_lp_msg_node    	1               
ewa0_mode           	FastFD (Full Duplex)
ewa0_protocols      	BOOTP           
ewa0_sinetaddr      	172.16.82.1     
ewa0_tftp_tries     	3