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 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)]))
-2
arch/x86/boot/main.c
··· 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 {
+1 -6
arch/x86/kernel/head_32.S
··· 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
+9 -8
include/asm-x86/setup.h
··· 14 14 #define MAXMEM_PFN PFN_DOWN(MAXMEM) 15 15 #define MAX_NONPAE_PFN (1 << 20) 16 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 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 */ 26 24 27 25 #ifndef __ASSEMBLY__ 28 26 #include <asm/bootparam.h> 27 + 28 + #ifndef _SETUP 29 29 30 30 /* 31 31 * This is set up by the setup-routine at boot-time ··· 56 56 #endif 57 57 58 58 #endif /* __i386__ */ 59 + #endif /* _SETUP */ 59 60 #endif /* __ASSEMBLY__ */ 60 61 #endif /* __KERNEL__ */ 61 62