mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
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>
This commit is contained in:
parent
0de80bcc2b
commit
fa76dab935
4 changed files with 11 additions and 17 deletions
|
@ -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 */
|
||||||
* 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)
|
||||||
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 @@
|
||||||
#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
|
|
||||||
|
|
||||||
#define OLD_CL_MAGIC_ADDR 0x90020
|
|
||||||
#define OLD_CL_MAGIC 0xA33F
|
|
||||||
#define OLD_CL_BASE_ADDR 0x90000
|
|
||||||
#define OLD_CL_OFFSET 0x90022
|
|
||||||
#define NEW_CL_POINTER 0x228 /* Relative to real mode data */
|
|
||||||
|
|
||||||
#endif /* __i386__ */
|
#endif /* __i386__ */
|
||||||
|
|
||||||
|
#define PARAM_SIZE 4096 /* sizeof(struct boot_params) */
|
||||||
|
|
||||||
|
#define OLD_CL_MAGIC 0xA33F
|
||||||
|
#define OLD_CL_ADDRESS 0x020 /* Relative to real mode data */
|
||||||
|
#define NEW_CL_POINTER 0x228 /* Relative to real mode data */
|
||||||
|
|
||||||
#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;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __i386__ */
|
#endif /* __i386__ */
|
||||||
|
#endif /* _SETUP */
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
#endif /* __KERNEL__ */
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue