linux/init
Geert Uytterhoeven fb6624ebd9 initrd: Fix virtual/physical mix-up in overwrite test
On recent kernels, I get the following error when using an initrd:

| initrd overwritten (0x00b78000 < 0x07668000) - disabling it.

My Amiga 4000 has 12 MiB of RAM at physical address 0x07400000 (virtual
0x00000000).
The initrd is located at the end of RAM: 0x00b78000 - 0x00c00000 (virtual).
The overwrite test compares the (virtual) initrd location to the (physical)
first available memory location, which fails.

This patch converts initrd_start to a page frame number, so it can safely be
compared with min_low_pfn.

Before the introduction of discontiguous memory support on m68k
(12d810c1b8), min_low_pfn was just left
untouched by the m68k-specific code (zero, I guess), and everything worked
fine.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20 17:24:40 -07:00
..
calibrate.c x86: use cpu_khz for loops_per_jiffy calculation, cleanup 2008-06-24 13:53:46 +02:00
do_mounts_initrd.c
do_mounts_md.c md: proper extern for mdp_major 2008-05-24 09:56:09 -07:00
do_mounts_rd.c init: fix integer as NULL pointer warnings 2008-04-28 17:29:18 -07:00
do_mounts.c do_mounts: allow UBI root device name 2008-07-14 19:10:52 +03:00
do_mounts.h
initramfs.c directly use kmalloc() and kfree() in init/initramfs.c 2008-04-29 08:06:06 -07:00
Kconfig Kconfig: introduce ARCH_DEFCONFIG to DEFCONFIG_LIST 2008-05-25 23:03:18 +02:00
main.c initrd: Fix virtual/physical mix-up in overwrite test 2008-07-20 17:24:40 -07:00
Makefile kbuild: fix make V=1 2008-02-11 17:43:54 +01:00
noinitramfs.c
version.c