Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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)]))
+0 −2
Original line number Diff line number Diff line
@@ -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)
{
+1 −6
Original line number Diff line number Diff line
@@ -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
+7 −6
Original line number Diff line number Diff line
@@ -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__  */