I had the same problem with a real NE2000 card, I tried also to change the outw_p to
outw but without much luck.
The old version worked, but not the 3.2 version which did freeze in startup.
Matthias Goebl wrote:
> Hi,
>
> from 3.1 to 3.2 they changed 'outx_p(' to 'outx(' in ns8390.c.
> I bought a (cheap) RealTek NE2k card, and I guess it's a timing problem.
>
> Try this short patch:
>
> --X--
> --- etherboot-3.2/src/ns8390.c Thu Jul 17 16:12:35 1997
> +++ orig-with-ne2000-patch/src/ns8390.c Sat Nov 22 15:54:43 1997
> @@ -94,15 +94,15 @@
> if (eth_flags & FLAG_16BIT) {
> cnt >>= 1; /* number of words */
> while (cnt--) {
> - outw_p(eth_asic_base + NE_DATA, *((unsigned short *)src));
> + outw(eth_asic_base + NE_DATA, *((unsigned short *)src));
> src += 2;
> }
> }
> else {
> while (cnt--)
> - outb_p(eth_asic_base + NE_DATA, *(src++));
> + outb(eth_asic_base + NE_DATA, *(src++));
> }
> - while((inb_p(eth_nic_base + D8390_P0_ISR) & D8390_ISR_RDC)
> + while((inb(eth_nic_base + D8390_P0_ISR) & D8390_ISR_RDC)
> != D8390_ISR_RDC);
> }
For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.