Subject: Re: Problems booting 2.0 CD on E450
To: Ben Harris <bjh21@netbsd.org>
From: Andrey Petrov <petrov@netbsd.org>
List: port-sparc64
Date: 02/03/2005 11:25:08
On Thu, Feb 03, 2005 at 05:00:31PM +0000, Ben Harris wrote:
> I happen to have a spare Enterprise 450 lying around, so I tried booting
> from the 2.0 sparc64cd.iso. This is what happened:
>
> Sun Enterprise 450 (3 X UltraSPARC-II 296MHz), No Keyboard
> OpenBoot 3.22, 2048 MB memory installed, Serial #8932416.
> Ethernet address 8:0:20:88:4c:40, Host ID: 80884c40.
>
> {1} ok boot cdrom
> Boot device: /pci@1f,4000/scsi@2/disk@6,0:f File and args:
> NetBSD IEEE 1275 Bootblock
> ..>> NetBSD/sparc64 OpenFirmware Boot, Revision 1.7
> >>(builds@build, Thu Dec 2 02:33:41 UTC 2004)
> devopen: getdisklabel sez no disk label
> devopen: search_label sez no disk label
> loadfile: reading header
> elf64_exec: Booting /pci@1f,4000/scsi@2/disk@6,0:f/netbsd
> 4879848@0x1000000+5406424@0x1800000+2982184@0x1d27ed8
> symbols @ 0xfefec380 133 start=0x1000000
> chain: calling OF_chain(800000, cbb8, 1000000, fff7fa80, 18)
> Fast Data Access MMU Miss
> {1} ok
>
> Is this expected?
>
Yes, this is known, you should have more luck with -current.
Or you can patch 2.0 (and me should request the pull-up).
Also, somewhat strange that you boot processor 1 (not 0), though I don't expect that
to be a problem.
diff -u -p -r1.23 -r1.25
--- src/sys/arch/sparc64/sparc64/ofw_machdep.c 2004/03/21 15:09:25 1.23 netbsd-2-0-RELEASE
+++ src/sys/arch/sparc64/sparc64/ofw_machdep.c 2004/06/18 12:51:39 1.25 HEAD
@@ -507,12 +507,14 @@ prom_get_msgbuf(len, align)
int rooth;
int is_e250 = 1;
- /* E250s tend to have buggy PROMs that break on test-method */
+ /* E250s and E450s tend to have buggy PROMs that break on test-method */
+ /* XXX - need to find the reason why this breaks someday */
if ((rooth = OF_finddevice("/")) != -1) {
char name[80];
if ((OF_getprop(rooth, "name", &name, sizeof(name))) != -1) {
- if (strcmp(name, "SUNW,Ultra-250"))
+ if (strcmp(name, "SUNW,Ultra-250")
+ && strcmp(name, "SUNW,Ultra-4"))
is_e250 = 0;
} else prom_printf("prom_get_msgbuf: cannot get \"name\"\r\n");
} else prom_printf("prom_get_msgbuf: cannot open root device \r\n");