aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/i386/zero-page.txt6
-rw-r--r--arch/i386/boot/setup.S6
-rw-r--r--arch/x86_64/boot/setup.S6
-rw-r--r--arch/x86_64/kernel/head64.c4
-rw-r--r--arch/x86_64/kernel/setup64.c3
-rw-r--r--include/asm-i386/e820.h2
-rw-r--r--include/asm-i386/setup.h2
-rw-r--r--include/asm-x86_64/bootsetup.h3
-rw-r--r--include/asm-x86_64/e820.h2
-rw-r--r--include/linux/edd.h2
10 files changed, 18 insertions, 18 deletions
diff --git a/Documentation/i386/zero-page.txt b/Documentation/i386/zero-page.txt
index 67c053a099ed..df28c7416781 100644
--- a/Documentation/i386/zero-page.txt
+++ b/Documentation/i386/zero-page.txt
@@ -79,6 +79,6 @@ Offset Type Description
790x22c unsigned long ramdisk_max 790x22c unsigned long ramdisk_max
800x230 16 bytes trampoline 800x230 16 bytes trampoline
810x290 - 0x2cf EDD_MBR_SIG_BUFFER (edd.S) 810x290 - 0x2cf EDD_MBR_SIG_BUFFER (edd.S)
820x2d0 - 0x600 E820MAP 820x2d0 - 0xd00 E820MAP
830x600 - 0x7ff EDDBUF (edd.S) for disk signature read sector 830xd00 - 0xeff EDDBUF (edd.S) for disk signature read sector
840x600 - 0x7eb EDDBUF (edd.S) for edd data 840xd00 - 0xeeb EDDBUF (edd.S) for edd data
diff --git a/arch/i386/boot/setup.S b/arch/i386/boot/setup.S
index a934ab32bf8e..caa1fde6904e 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
164trampoline: call start_of_setup 164trampoline: 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
170start_of_setup: 170start_of_setup:
@@ -333,9 +333,9 @@ jmpe820:
333 # sizeof(e820rec). 333 # sizeof(e820rec).
334 # 334 #
335good820: 335good820:
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 3e838be9dbe7..75d4d2ad93b3 100644
--- a/arch/x86_64/boot/setup.S
+++ b/arch/x86_64/boot/setup.S
@@ -160,7 +160,7 @@ ramdisk_max: .long 0xffffffff
160trampoline: call start_of_setup 160trampoline: 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
166start_of_setup: 166start_of_setup:
@@ -412,9 +412,9 @@ jmpe820:
412 # sizeof(e820rec). 412 # sizeof(e820rec).
413 # 413 #
414good820: 414good820:
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 6cad46c98a23..77df2ccb08f1 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
32extern 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 b5305b04bc40..678b7ac33b8b 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
29char x86_boot_params[2048] __initdata = {0,}; 30char x86_boot_params[BOOT_PARAM_SIZE] __initdata = {0,};
30 31
31cpumask_t cpu_initialized __initdata = CPU_MASK_NONE; 32cpumask_t cpu_initialized __initdata = CPU_MASK_NONE;
32 33
diff --git a/include/asm-i386/e820.h b/include/asm-i386/e820.h
index 5c285aee7294..edf65be21a92 100644
--- a/include/asm-i386/e820.h
+++ b/include/asm-i386/e820.h
@@ -13,7 +13,7 @@
13#define __E820_HEADER 13#define __E820_HEADER
14 14
15#define E820MAP 0x2d0 /* our map */ 15#define E820MAP 0x2d0 /* our map */
16#define E820MAX 32 /* number of entries in E820MAP */ 16#define E820MAX 128 /* number of entries in E820MAP */
17#define E820NR 0x1e8 /* # entries in E820MAP */ 17#define E820NR 0x1e8 /* # entries in E820MAP */
18 18
19#define E820_RAM 1 19#define E820_RAM 1
diff --git a/include/asm-i386/setup.h b/include/asm-i386/setup.h
index 8814b54c75d4..7a32184d54bf 100644
--- a/include/asm-i386/setup.h
+++ b/include/asm-i386/setup.h
@@ -16,7 +16,7 @@
16#define MAXMEM_PFN PFN_DOWN(MAXMEM) 16#define MAXMEM_PFN PFN_DOWN(MAXMEM)
17#define MAX_NONPAE_PFN (1 << 20) 17#define MAX_NONPAE_PFN (1 << 20)
18 18
19#define PARAM_SIZE 2048 19#define PARAM_SIZE 4096
20#define COMMAND_LINE_SIZE 256 20#define COMMAND_LINE_SIZE 256
21 21
22#define OLD_CL_MAGIC_ADDR 0x90020 22#define OLD_CL_MAGIC_ADDR 0x90020
diff --git a/include/asm-x86_64/bootsetup.h b/include/asm-x86_64/bootsetup.h
index b570a484dc50..b829f7b534be 100644
--- a/include/asm-x86_64/bootsetup.h
+++ b/include/asm-x86_64/bootsetup.h
@@ -2,7 +2,8 @@
2#ifndef _X86_64_BOOTSETUP_H 2#ifndef _X86_64_BOOTSETUP_H
3#define _X86_64_BOOTSETUP_H 1 3#define _X86_64_BOOTSETUP_H 1
4 4
5extern char x86_boot_params[2048]; 5#define BOOT_PARAM_SIZE 4096
6extern char x86_boot_params[BOOT_PARAM_SIZE];
6 7
7/* 8/*
8 * This is set up by the setup-routine at boot-time 9 * This is set up by the setup-routine at boot-time
diff --git a/include/asm-x86_64/e820.h b/include/asm-x86_64/e820.h
index 08f83a4b4f4a..8e94edf0b984 100644
--- a/include/asm-x86_64/e820.h
+++ b/include/asm-x86_64/e820.h
@@ -14,7 +14,7 @@
14#include <linux/mmzone.h> 14#include <linux/mmzone.h>
15 15
16#define E820MAP 0x2d0 /* our map */ 16#define E820MAP 0x2d0 /* our map */
17#define E820MAX 32 /* number of entries in E820MAP */ 17#define E820MAX 128 /* number of entries in E820MAP */
18#define E820NR 0x1e8 /* # entries in E820MAP */ 18#define E820NR 0x1e8 /* # entries in E820MAP */
19 19
20#define E820_RAM 1 20#define E820_RAM 1
diff --git a/include/linux/edd.h b/include/linux/edd.h
index c6e6747a401d..162512b886f7 100644
--- a/include/linux/edd.h
+++ b/include/linux/edd.h
@@ -32,7 +32,7 @@
32 32
33#define EDDNR 0x1e9 /* addr of number of edd_info structs at EDDBUF 33#define EDDNR 0x1e9 /* addr of number of edd_info structs at EDDBUF
34 in boot_params - treat this as 1 byte */ 34 in boot_params - treat this as 1 byte */
35#define EDDBUF 0x600 /* addr of edd_info structs in boot_params */ 35#define EDDBUF 0xd00 /* addr of edd_info structs in boot_params */
36#define EDDMAXNR 6 /* number of edd_info structs starting at EDDBUF */ 36#define EDDMAXNR 6 /* number of edd_info structs starting at EDDBUF */
37#define EDDEXTSIZE 8 /* change these if you muck with the structures */ 37#define EDDEXTSIZE 8 /* change these if you muck with the structures */
38#define EDDPARMSIZE 74 38#define EDDPARMSIZE 74