All of lore.kernel.org
 help / color / mirror / Atom feed
* initramfs breakage with 64-bits kernels?
@ 2009-04-30 19:41 Florian Fainelli
  2009-05-03  8:19 ` Geert Uytterhoeven
  0 siblings, 1 reply; 4+ messages in thread
From: Florian Fainelli @ 2009-04-30 19:41 UTC (permalink / raw)
  To: linux-mips

Hi all,

I have been trying to get a 2.6.29 64-bits kernel for Cavium Octeon to work 
with a 32-bits userland in an initramfs. While booting, the kernel does not 
find the initramfs due to the check against initrd_start in populate_rootfs 
(init/initramfs.c) failing.

Do you have any idea about what could be wrong here ? Is this a regression ?
-- 
Best regards, Florian Fainelli
Email : florian@openwrt.org
http://openwrt.org
-------------------------------

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: initramfs breakage with 64-bits kernels?
  2009-04-30 19:41 initramfs breakage with 64-bits kernels? Florian Fainelli
@ 2009-05-03  8:19 ` Geert Uytterhoeven
  2009-05-03  9:24   ` Kevin D. Kissell
  0 siblings, 1 reply; 4+ messages in thread
From: Geert Uytterhoeven @ 2009-05-03  8:19 UTC (permalink / raw)
  To: Florian Fainelli; +Cc: linux-mips

On Thu, Apr 30, 2009 at 21:41, Florian Fainelli <florian@openwrt.org> wrote:
> I have been trying to get a 2.6.29 64-bits kernel for Cavium Octeon to work
> with a 32-bits userland in an initramfs. While booting, the kernel does not
> find the initramfs due to the check against initrd_start in populate_rootfs
> (init/initramfs.c) failing.

You mean the test for initrd_start being non-zero? Is your initramfs really at
address zero?

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: initramfs breakage with 64-bits kernels?
  2009-05-03  8:19 ` Geert Uytterhoeven
@ 2009-05-03  9:24   ` Kevin D. Kissell
  2009-05-03  9:42     ` Kevin D. Kissell
  0 siblings, 1 reply; 4+ messages in thread
From: Kevin D. Kissell @ 2009-05-03  9:24 UTC (permalink / raw)
  To: Geert Uytterhoeven; +Cc: Florian Fainelli, linux-mips

[-- Attachment #1: Type: text/plain, Size: 1012 bytes --]

Geert Uytterhoeven wrote:
> On Thu, Apr 30, 2009 at 21:41, Florian Fainelli <florian@openwrt.org> wrote:
>   
>> I have been trying to get a 2.6.29 64-bits kernel for Cavium Octeon to work
>> with a 32-bits userland in an initramfs. While booting, the kernel does not
>> find the initramfs due to the check against initrd_start in populate_rootfs
>> (init/initramfs.c) failing.
>>     
>
> 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 *.  Little endian builds wouldn't see such a problem.

          Regards,

          Kevin K.

[-- Attachment #2: Type: text/html, Size: 1557 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: initramfs breakage with 64-bits kernels?
  2009-05-03  9:24   ` Kevin D. Kissell
@ 2009-05-03  9:42     ` Kevin D. Kissell
  0 siblings, 0 replies; 4+ messages in thread
From: Kevin D. Kissell @ 2009-05-03  9:42 UTC (permalink / raw)
  To: Geert Uytterhoeven; +Cc: Florian Fainelli, linux-mips

[-- Attachment #1: Type: text/plain, Size: 799 bytes --]

Kevin D. Kissell wrote:
> Geert Uytterhoeven wrote:
>> 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 *.
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.

          Kevin K.

[-- Attachment #2: Type: text/html, Size: 1295 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-05-03  9:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-30 19:41 initramfs breakage with 64-bits kernels? Florian Fainelli
2009-05-03  8:19 ` Geert Uytterhoeven
2009-05-03  9:24   ` Kevin D. Kissell
2009-05-03  9:42     ` Kevin D. Kissell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.