Re: initrd_header for mips64 kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2 May 2003, Atsushi Nemoto wrote:
> I found that initrd_header in mips64 cvs kernel is broken.  The
> initrd_header should be consist of two 32bit words while 32bit
> addinitrd is used for 64bit kernel too.
> 
> diff -ur linux-mips-cvs/arch/mips64/kernel/setup.c linux.new/arch/mips64/kernel/setup.c
> --- linux-mips-cvs/arch/mips64/kernel/setup.c	Wed Apr  9 22:06:57 2003
> +++ linux.new/arch/mips64/kernel/setup.c	Fri May  2 21:47:36 2003
> @@ -245,7 +245,7 @@
>  {
>  #ifdef CONFIG_BLK_DEV_INITRD
>  	unsigned long tmp;
> -	unsigned long *initrd_header;
> +	unsigned int *initrd_header;

I think you better use u32 if it must be a 32-bit value.

>  #endif
>  	unsigned long bootmap_size;
>  	unsigned long start_pfn, max_pfn;
> @@ -255,7 +255,7 @@
>  	tmp = (((unsigned long)&_end + PAGE_SIZE-1) & PAGE_MASK) - 8;
>  	if (tmp < (unsigned long)&_end)
>  		tmp += PAGE_SIZE;
> -	initrd_header = (unsigned long *)tmp;
> +	initrd_header = (unsigned int *)tmp;
>  	if (initrd_header[0] == 0x494E5244) {
>  		initrd_start = (unsigned long)&initrd_header[2];
>  		initrd_end = initrd_start + initrd_header[1];

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



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux