The ethernet device does not come up correctly on a 64 MIPS target with
a 64 bit kernel.
I narrowed it down a bit, so I thought I might mention it.
If I add to the kernel the line:
printk("\nTest ~0UL == %lx\n", (~0UL));
It will print correctly on the real HW:
Test ~0UL == ffffffffffffffff
In qemu-system-mips64 it will only print:
Test ~0UL ==
The ethernet fails due to the failure of the computing of the test
kcalloc() found in slab.h.
if (n != 0 && size > ULONG_MAX / n)
Where n == 16, size == 8, and ULONG_MAX == (~0UL). I suspect some low
level debugging of which op code translation is at fault would be next...
Jason.