Commit fa76dab935b856871024530ec818bc0a8f88a016

Authored by H. Peter Anvin
Committed by Thomas Gleixner
1 parent 0de80bcc2b

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>

Showing 4 changed files with 9 additions and 15 deletions Side-by-side Diff

arch/x86/boot/boot.h
... ... @@ -23,7 +23,7 @@
23 23 #include <linux/types.h>
24 24 #include <linux/edd.h>
25 25 #include <asm/boot.h>
26   -#include <asm/bootparam.h>
  26 +#include <asm/setup.h>
27 27  
28 28 /* Useful macros */
29 29 #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
arch/x86/boot/main.c
... ... @@ -26,8 +26,6 @@
26 26 * screws up the old-style command line protocol, adjust by
27 27 * filling in the new-style command line pointer instead.
28 28 */
29   -#define OLD_CL_MAGIC 0xA33F
30   -#define OLD_CL_ADDRESS 0x20
31 29  
32 30 static void copy_boot_params(void)
33 31 {
arch/x86/kernel/head_32.S
... ... @@ -124,12 +124,7 @@
124 124 movsl
125 125 movl boot_params - __PAGE_OFFSET + NEW_CL_POINTER,%esi
126 126 andl %esi,%esi
127   - jnz 2f # New command line protocol
128   - cmpw $(OLD_CL_MAGIC),OLD_CL_MAGIC_ADDR
129   - jne 1f
130   - movzwl OLD_CL_OFFSET,%esi
131   - addl $(OLD_CL_BASE_ADDR),%esi
132   -2:
  127 + jz 1f # No comand line
133 128 movl $(boot_command_line - __PAGE_OFFSET),%edi
134 129 movl $(COMMAND_LINE_SIZE/4),%ecx
135 130 rep
include/asm-x86/setup.h
... ... @@ -14,19 +14,19 @@
14 14 #define MAXMEM_PFN PFN_DOWN(MAXMEM)
15 15 #define MAX_NONPAE_PFN (1 << 20)
16 16  
17   -#define PARAM_SIZE 4096
  17 +#endif /* __i386__ */
18 18  
19   -#define OLD_CL_MAGIC_ADDR 0x90020
  19 +#define PARAM_SIZE 4096 /* sizeof(struct boot_params) */
  20 +
20 21 #define OLD_CL_MAGIC 0xA33F
21   -#define OLD_CL_BASE_ADDR 0x90000
22   -#define OLD_CL_OFFSET 0x90022
  22 +#define OLD_CL_ADDRESS 0x020 /* Relative to real mode data */
23 23 #define NEW_CL_POINTER 0x228 /* Relative to real mode data */
24 24  
25   -#endif /* __i386__ */
26   -
27 25 #ifndef __ASSEMBLY__
28 26 #include <asm/bootparam.h>
29 27  
  28 +#ifndef _SETUP
  29 +
30 30 /*
31 31 * This is set up by the setup-routine at boot-time
32 32 */
... ... @@ -56,6 +56,7 @@
56 56 #endif
57 57  
58 58 #endif /* __i386__ */
  59 +#endif /* _SETUP */
59 60 #endif /* __ASSEMBLY__ */
60 61 #endif /* __KERNEL__ */
61 62