diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/boot/setup.S | 6 | ||||
-rw-r--r-- | arch/x86_64/boot/setup.S | 6 | ||||
-rw-r--r-- | arch/x86_64/kernel/head64.c | 4 | ||||
-rw-r--r-- | arch/x86_64/kernel/setup64.c | 3 |
4 files changed, 9 insertions, 10 deletions
diff --git a/arch/i386/boot/setup.S b/arch/i386/boot/setup.S index a934ab32bf..caa1fde690 100644 --- a/arch/i386/boot/setup.S +++ b/arch/i386/boot/setup.S | |||
@@ -164,7 +164,7 @@ ramdisk_max: .long (-__PAGE_OFFSET-(512 << 20)-1) & 0x7fffffff | |||
164 | trampoline: call start_of_setup | 164 | trampoline: call start_of_setup |
165 | .align 16 | 165 | .align 16 |
166 | # The offset at this point is 0x240 | 166 | # The offset at this point is 0x240 |
167 | .space (0x7ff-0x240+1) # E820 & EDD space (ending at 0x7ff) | 167 | .space (0xeff-0x240+1) # E820 & EDD space (ending at 0xeff) |
168 | # End of setup header ##################################################### | 168 | # End of setup header ##################################################### |
169 | 169 | ||
170 | start_of_setup: | 170 | start_of_setup: |
@@ -333,9 +333,9 @@ jmpe820: | |||
333 | # sizeof(e820rec). | 333 | # sizeof(e820rec). |
334 | # | 334 | # |
335 | good820: | 335 | good820: |
336 | movb (E820NR), %al # up to 32 entries | 336 | movb (E820NR), %al # up to 128 entries |
337 | cmpb $E820MAX, %al | 337 | cmpb $E820MAX, %al |
338 | jnl bail820 | 338 | jae bail820 |
339 | 339 | ||
340 | incb (E820NR) | 340 | incb (E820NR) |
341 | movw %di, %ax | 341 | movw %di, %ax |
diff --git a/arch/x86_64/boot/setup.S b/arch/x86_64/boot/setup.S index 3e838be9db..75d4d2ad93 100644 --- a/arch/x86_64/boot/setup.S +++ b/arch/x86_64/boot/setup.S | |||
@@ -160,7 +160,7 @@ ramdisk_max: .long 0xffffffff | |||
160 | trampoline: call start_of_setup | 160 | trampoline: call start_of_setup |
161 | .align 16 | 161 | .align 16 |
162 | # The offset at this point is 0x240 | 162 | # The offset at this point is 0x240 |
163 | .space (0x7ff-0x240+1) # E820 & EDD space (ending at 0x7ff) | 163 | .space (0xeff-0x240+1) # E820 & EDD space (ending at 0xeff) |
164 | # End of setup header ##################################################### | 164 | # End of setup header ##################################################### |
165 | 165 | ||
166 | start_of_setup: | 166 | start_of_setup: |
@@ -412,9 +412,9 @@ jmpe820: | |||
412 | # sizeof(e820rec). | 412 | # sizeof(e820rec). |
413 | # | 413 | # |
414 | good820: | 414 | good820: |
415 | movb (E820NR), %al # up to 32 entries | 415 | movb (E820NR), %al # up to 128 entries |
416 | cmpb $E820MAX, %al | 416 | cmpb $E820MAX, %al |
417 | jnl bail820 | 417 | jae bail820 |
418 | 418 | ||
419 | incb (E820NR) | 419 | incb (E820NR) |
420 | movw %di, %ax | 420 | movw %di, %ax |
diff --git a/arch/x86_64/kernel/head64.c b/arch/x86_64/kernel/head64.c index 6cad46c98a..77df2ccb08 100644 --- a/arch/x86_64/kernel/head64.c +++ b/arch/x86_64/kernel/head64.c | |||
@@ -29,8 +29,6 @@ static void __init clear_bss(void) | |||
29 | (unsigned long) __bss_end - (unsigned long) __bss_start); | 29 | (unsigned long) __bss_end - (unsigned long) __bss_start); |
30 | } | 30 | } |
31 | 31 | ||
32 | extern char x86_boot_params[2048]; | ||
33 | |||
34 | #define NEW_CL_POINTER 0x228 /* Relative to real mode data */ | 32 | #define NEW_CL_POINTER 0x228 /* Relative to real mode data */ |
35 | #define OLD_CL_MAGIC_ADDR 0x90020 | 33 | #define OLD_CL_MAGIC_ADDR 0x90020 |
36 | #define OLD_CL_MAGIC 0xA33F | 34 | #define OLD_CL_MAGIC 0xA33F |
@@ -44,7 +42,7 @@ static void __init copy_bootdata(char *real_mode_data) | |||
44 | int new_data; | 42 | int new_data; |
45 | char * command_line; | 43 | char * command_line; |
46 | 44 | ||
47 | memcpy(x86_boot_params, real_mode_data, 2048); | 45 | memcpy(x86_boot_params, real_mode_data, BOOT_PARAM_SIZE); |
48 | new_data = *(int *) (x86_boot_params + NEW_CL_POINTER); | 46 | new_data = *(int *) (x86_boot_params + NEW_CL_POINTER); |
49 | if (!new_data) { | 47 | if (!new_data) { |
50 | if (OLD_CL_MAGIC != * (u16 *) OLD_CL_MAGIC_ADDR) { | 48 | if (OLD_CL_MAGIC != * (u16 *) OLD_CL_MAGIC_ADDR) { |
diff --git a/arch/x86_64/kernel/setup64.c b/arch/x86_64/kernel/setup64.c index b5305b04bc..678b7ac33b 100644 --- a/arch/x86_64/kernel/setup64.c +++ b/arch/x86_64/kernel/setup64.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/string.h> | 12 | #include <linux/string.h> |
13 | #include <linux/bootmem.h> | 13 | #include <linux/bootmem.h> |
14 | #include <linux/bitops.h> | 14 | #include <linux/bitops.h> |
15 | #include <asm/bootsetup.h> | ||
15 | #include <asm/pda.h> | 16 | #include <asm/pda.h> |
16 | #include <asm/pgtable.h> | 17 | #include <asm/pgtable.h> |
17 | #include <asm/processor.h> | 18 | #include <asm/processor.h> |
@@ -26,7 +27,7 @@ | |||
26 | #include <asm/mman.h> | 27 | #include <asm/mman.h> |
27 | #include <asm/numa.h> | 28 | #include <asm/numa.h> |
28 | 29 | ||
29 | char x86_boot_params[2048] __initdata = {0,}; | 30 | char x86_boot_params[BOOT_PARAM_SIZE] __initdata = {0,}; |
30 | 31 | ||
31 | cpumask_t cpu_initialized __initdata = CPU_MASK_NONE; | 32 | cpumask_t cpu_initialized __initdata = CPU_MASK_NONE; |
32 | 33 | ||