9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] booting an AlphaPC 164
@ 2001-06-25 19:22 David Gordon Hogan
  0 siblings, 0 replies; 2+ messages in thread
From: David Gordon Hogan @ 2001-06-25 19:22 UTC (permalink / raw)
  To: 9fans

> 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.

Although the RET instruction doesn't use SP itself, the caller isn't going to
be too happy after you change it.  Use the "CALL_PAL $PALhalt" instruction
to find out where it's really hanging.  If it makes it to C, you can insert calls
to firmware().

> 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.

That's only neccessary for older CPUs.  You'll be taking a significant
performance hit by using it otherwise, and some of the device drivers
may not work.



^ permalink raw reply	[flat|nested] 2+ messages in thread

* [9fans] booting an AlphaPC 164
@ 2001-06-25 18:54 dpx
  0 siblings, 0 replies; 2+ messages in thread
From: dpx @ 2001-06-25 18:54 UTC (permalink / raw)
  To: 9fans


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               



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-06-25 19:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-25 19:22 [9fans] booting an AlphaPC 164 David Gordon Hogan
  -- strict thread matches above, loose matches on Subject: below --
2001-06-25 18:54 dpx

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).