Subject: Re: CVS commit: src/sys/arch/evbppc/walnut
To: Eduardo Horvath <eeh@netbsd.org>
From: Simon Burge <simonb@wasabisystems.com>
List: port-powerpc
Date: 08/18/2003 16:06:18
Hi Eduardo,

On Sun, Aug 03, 2003 at 11:28:46PM +0000, Eduardo Horvath wrote:

> Module Name:	src
> Committed By:	eeh
> Date:		Sun Aug  3 23:28:46 UTC 2003
> 
> Modified Files:
> 
> 	src/sys/arch/evbppc/walnut: walnut_start.S
> 
> Log Message:
> 
> The firmware actually passes the info block pointer in the link register.

With this change, the info block pointer is set to 0xfffe2960, which is
near the end of the ROM "invalidate_dcache" function.  The board info
now looks like:

	Board config data:
	  usr_config_ver = L
	  rom_sw_ver = 8
	  mem_size = 1619296256
	  mac_address_local = 7c:93:03:86:38:80
	  mac_address_pci = 00:11:7c:92:03:86
	  processor_speed = 1015022209
	  plb_speed = 1619285120
	  pci_speed = 2090009478

and thus get lines like

	total memory = 1544 MB
	avail memory = 1453 MB
	cpu0 at plb0: 1015MHz 405GP (Revision 0.196)

during boot, as well as emac0 not working.

A normal board info config should like more like:

	Board config data:
	  usr_config_ver = 1.4
	  rom_sw_ver = 1.15
	  mem_size = 268435456
	  mac_address_local = 00:04:ac:e3:12:b2
	  mac_address_pci = 00:00:00:00:00:00
	  processor_speed = 200000000
	  plb_speed = 100000000
	  pci_speed = 33333333

What version of ROM software did you test this change on?

I'm thinking of changing the

        /* Save info block */
        if (info_block == NULL)
                /* XXX why isn't r3 set correctly?!?!? */
                info_block = (void *)0x8e10;
        memcpy(&board_data, info_block, sizeof(board_data));

block to checking for the info_block pointer being less than that start
of the kernel.  Also, the "r3" should say "r7" or maybe "r7/lr" - where
is the reference for the info block being passed in the link register?

Simon.
--
Simon Burge                                   <simonb@wasabisystems.com>
NetBSD Development, Support and Service:   http://www.wasabisystems.com/