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>

authored by H. Peter Anvin and committed by Thomas Gleixner fa76dab9 0de80bcc

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