diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-10-23 22:37:25 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2007-10-23 22:37:25 +0200 |
commit | fa76dab935b856871024530ec818bc0a8f88a016 (patch) | |
tree | 8d8a83d01d35a7b8d3559e75931e50c3f0f7723c | |
parent | 0de80bcc2baed116a569c38cbc38c5dcb945d14d (diff) | |
download | op-kernel-dev-fa76dab935b856871024530ec818bc0a8f88a016.zip op-kernel-dev-fa76dab935b856871024530ec818bc0a8f88a016.tar.gz |
x86: clean up setup.h and the boot code
Make <asm/setup.h> usable by the boot code.
Clean up vestiges of the old command-line protocol from setup.h and
head_32.S (it is still supported from the boot loader point of
view, since it is converted to the new command-line protocol by the
boot code.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | arch/x86/boot/boot.h | 2 | ||||
-rw-r--r-- | arch/x86/boot/main.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/head_32.S | 7 | ||||
-rw-r--r-- | include/asm-x86/setup.h | 13 |
4 files changed, 9 insertions, 15 deletions
diff --git a/arch/x86/boot/boot.h b/arch/x86/boot/boot.h index 20bab94..5f9a2e7 100644 --- a/arch/x86/boot/boot.h +++ b/arch/x86/boot/boot.h @@ -23,7 +23,7 @@ #include <linux/types.h> #include <linux/edd.h> #include <asm/boot.h> -#include <asm/bootparam.h> +#include <asm/setup.h> /* Useful macros */ #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) diff --git a/arch/x86/boot/main.c b/arch/x86/boot/main.c index 0eeef39..1f95750 100644 --- a/arch/x86/boot/main.c +++ b/arch/x86/boot/main.c @@ -26,8 +26,6 @@ char *heap_end = _end; /* Default end of heap = no heap */ * screws up the old-style command line protocol, adjust by * filling in the new-style command line pointer instead. */ -#define OLD_CL_MAGIC 0xA33F -#define OLD_CL_ADDRESS 0x20 static void copy_boot_params(void) { diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index 00b1c2c..374b7ec 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -124,12 +124,7 @@ ENTRY(startup_32) movsl movl boot_params - __PAGE_OFFSET + NEW_CL_POINTER,%esi andl %esi,%esi - jnz 2f # New command line protocol - cmpw $(OLD_CL_MAGIC),OLD_CL_MAGIC_ADDR - jne 1f - movzwl OLD_CL_OFFSET,%esi - addl $(OLD_CL_BASE_ADDR),%esi -2: + jz 1f # No comand line movl $(boot_command_line - __PAGE_OFFSET),%edi movl $(COMMAND_LINE_SIZE/4),%ecx rep diff --git a/include/asm-x86/setup.h b/include/asm-x86/setup.h index 7e5698f..24d786e 100644 --- a/include/asm-x86/setup.h +++ b/include/asm-x86/setup.h @@ -14,19 +14,19 @@ #define MAXMEM_PFN PFN_DOWN(MAXMEM) #define MAX_NONPAE_PFN (1 << 20) -#define PARAM_SIZE 4096 +#endif /* __i386__ */ + +#define PARAM_SIZE 4096 /* sizeof(struct boot_params) */ -#define OLD_CL_MAGIC_ADDR 0x90020 #define OLD_CL_MAGIC 0xA33F -#define OLD_CL_BASE_ADDR 0x90000 -#define OLD_CL_OFFSET 0x90022 +#define OLD_CL_ADDRESS 0x020 /* Relative to real mode data */ #define NEW_CL_POINTER 0x228 /* Relative to real mode data */ -#endif /* __i386__ */ - #ifndef __ASSEMBLY__ #include <asm/bootparam.h> +#ifndef _SETUP + /* * This is set up by the setup-routine at boot-time */ @@ -56,6 +56,7 @@ extern unsigned long init_pg_tables_end; #endif #endif /* __i386__ */ +#endif /* _SETUP */ #endif /* __ASSEMBLY__ */ #endif /* __KERNEL__ */ |