diff options
Diffstat (limited to 'arch/i386/boot/compressed/misc.c')
-rw-r--r-- | arch/i386/boot/compressed/misc.c | 7 |
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 | ||