Subject: Re: ultra2 netboot oh-no, not again
To: None <port-sparc64@netbsd.org>
From: Andrea Franceschini <andrea@cs.tin.it>
List: port-sparc64
Date: 10/16/2000 19:01:23
Andrei Petrov wrote:
> 
> Here are the patches, first for hme.c, another one for if_arp.c,
> it seems (hard to believe but) that boot-server responds so fast
> and ethernet transmit so fast that it happens before tsleep so
> without that patch I was unable not boot. Patch is harmless, I
> hope, just help a little for revarpblabla
> 
> I don't have le, so don't feel comfortable fixing that.
> 
> Have a good weekend, bye,
>         Andrey
> 
> Index: hme.c
> ===================================================================
> RCS file: /cvsroot/syssrc/sys/dev/ic/hme.c,v
> retrieving revision 1.15
> diff -c -r1.15 hme.c
> *** hme.c       2000/06/25 01:05:16     1.15
> --- hme.c       2000/09/30 01:22:23
> ***************
> *** 231,237 ****
> 
>         /* Load the buffer */
>         if ((error = bus_dmamap_load(dmatag, sc->sc_dmamap,
> !           sc->sc_rb.rb_membase, size, NULL, BUS_DMA_NOWAIT)) != 0) {
>                 printf("%s: DMA buffer map load error %d\n",
>                         sc->sc_dev.dv_xname, error);
>                 bus_dmamem_free(dmatag, &seg, rseg);
> --- 231,237 ----
> 
>         /* Load the buffer */
>         if ((error = bus_dmamap_load(dmatag, sc->sc_dmamap,
> !           sc->sc_rb.rb_membase, size, NULL, BUS_DMA_NOWAIT |
> BUS_DMA_COHERENT)) != 0) {
>                 printf("%s: DMA buffer map load error %d\n",
>                         sc->sc_dev.dv_xname, error);
>                 bus_dmamem_free(dmatag, &seg, rseg);
> 
> Index: if_arp.c
> ===================================================================
> RCS file: /cvsroot/syssrc/sys/netinet/if_arp.c,v
> retrieving revision 1.70
> diff -c -r1.70 if_arp.c
> *** if_arp.c    2000/08/15 20:24:57     1.70
> --- if_arp.c    2000/09/30 01:23:36
> ***************
> *** 1171,1176 ****
> --- 1171,1178 ----
>                 result = tsleep((caddr_t)&myip, PSOCK, "revarp", hz/2);
>                 if (result != EWOULDBLOCK)
>                         break;
> +               if (myip_initialized)
> +                       break;
>         }
>         revarp_in_progress = 0;
> 

Can anyone send me a compiled kernel ?
I got some probs with FreeBSD/X86 to  NetBSD/sparc64 cross-compiling:(
Thanks!