aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/boot/compressed/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/boot/compressed/misc.c')
-rw-r--r--arch/i386/boot/compressed/misc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/i386/boot/compressed/misc.c b/arch/i386/boot/compressed/misc.c
index 4eac24e95a10..dc1538931555 100644
--- a/arch/i386/boot/compressed/misc.c
+++ b/arch/i386/boot/compressed/misc.c
@@ -14,6 +14,7 @@
14#include <linux/screen_info.h> 14#include <linux/screen_info.h>
15#include <asm/io.h> 15#include <asm/io.h>
16#include <asm/page.h> 16#include <asm/page.h>
17#include <asm/boot.h>
17 18
18/* WARNING!! 19/* WARNING!!
19 * This code is compiled with -fPIC and it is relocated dynamically 20 * This code is compiled with -fPIC and it is relocated dynamically
@@ -360,12 +361,12 @@ asmlinkage void decompress_kernel(void *rmode, unsigned long end,
360 insize = input_len; 361 insize = input_len;
361 inptr = 0; 362 inptr = 0;
362 363
363 if (((u32)output - CONFIG_PHYSICAL_START) & 0x3fffff) 364 if ((u32)output & (CONFIG_PHYSICAL_ALIGN -1))
364 error("Destination address not 4M aligned"); 365 error("Destination address not CONFIG_PHYSICAL_ALIGN aligned");
365 if (end > ((-__PAGE_OFFSET-(512 <<20)-1) & 0x7fffffff)) 366 if (end > ((-__PAGE_OFFSET-(512 <<20)-1) & 0x7fffffff))
366 error("Destination address too large"); 367 error("Destination address too large");
367#ifndef CONFIG_RELOCATABLE 368#ifndef CONFIG_RELOCATABLE
368 if ((u32)output != CONFIG_PHYSICAL_START) 369 if ((u32)output != LOAD_PHYSICAL_ADDR)
369 error("Wrong destination address"); 370 error("Wrong destination address");
370#endif 371#endif
371 372