Commit fa76dab9 authored by H. Peter Anvin's avatar H. Peter Anvin Committed by Thomas Gleixner

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: default avatarH. Peter Anvin <hpa@zytor.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 0de80bcc
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/edd.h> #include <linux/edd.h>
#include <asm/boot.h> #include <asm/boot.h>
#include <asm/bootparam.h> #include <asm/setup.h>
/* Useful macros */ /* Useful macros */
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
......
...@@ -26,8 +26,6 @@ char *heap_end = _end; /* Default end of heap = no heap */ ...@@ -26,8 +26,6 @@ char *heap_end = _end; /* Default end of heap = no heap */
* screws up the old-style command line protocol, adjust by * screws up the old-style command line protocol, adjust by
* filling in the new-style command line pointer instead. * 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) static void copy_boot_params(void)
{ {
......
...@@ -124,12 +124,7 @@ ENTRY(startup_32) ...@@ -124,12 +124,7 @@ ENTRY(startup_32)
movsl movsl
movl boot_params - __PAGE_OFFSET + NEW_CL_POINTER,%esi movl boot_params - __PAGE_OFFSET + NEW_CL_POINTER,%esi
andl %esi,%esi andl %esi,%esi
jnz 2f # New command line protocol jz 1f # No comand line
cmpw $(OLD_CL_MAGIC),OLD_CL_MAGIC_ADDR
jne 1f
movzwl OLD_CL_OFFSET,%esi
addl $(OLD_CL_BASE_ADDR),%esi
2:
movl $(boot_command_line - __PAGE_OFFSET),%edi movl $(boot_command_line - __PAGE_OFFSET),%edi
movl $(COMMAND_LINE_SIZE/4),%ecx movl $(COMMAND_LINE_SIZE/4),%ecx
rep rep
......
...@@ -14,19 +14,19 @@ ...@@ -14,19 +14,19 @@
#define MAXMEM_PFN PFN_DOWN(MAXMEM) #define MAXMEM_PFN PFN_DOWN(MAXMEM)
#define MAX_NONPAE_PFN (1 << 20) #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_MAGIC 0xA33F
#define OLD_CL_BASE_ADDR 0x90000 #define OLD_CL_ADDRESS 0x020 /* Relative to real mode data */
#define OLD_CL_OFFSET 0x90022
#define NEW_CL_POINTER 0x228 /* Relative to real mode data */ #define NEW_CL_POINTER 0x228 /* Relative to real mode data */
#endif /* __i386__ */
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#include <asm/bootparam.h> #include <asm/bootparam.h>
#ifndef _SETUP
/* /*
* This is set up by the setup-routine at boot-time * This is set up by the setup-routine at boot-time
*/ */
...@@ -56,6 +56,7 @@ extern unsigned long init_pg_tables_end; ...@@ -56,6 +56,7 @@ extern unsigned long init_pg_tables_end;
#endif #endif
#endif /* __i386__ */ #endif /* __i386__ */
#endif /* _SETUP */
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment