Kevin D. Kissell wrote:
Geert Uytterhoeven wrote:And yes, I know that MIPS64 builds *should* have data type equivalence for longs and pointers, but this behavior just smells like a data typing mismatch problem, at some level.You mean the test for initrd_start being non-zero? Is your initramfs really at address zero?I'm not set up to verify this, but I have a nagging suspicion that a big-endian 64-bit kernel build could store an initrd_start address with 32 or fewer significant bits (i.e. it starts in the first 4GB) as a 64-bit pointer, but that the code in initramfs.c is testing the value as a 32-bit scalar type. I don't know about lmo but in kernel.org 2.6.29, it's declared in include/linux/initrd.h as an extern unsigned long, not a void *. Kevin K. |