uml: comment early boot locking
Commentary about missing locking. Also got rid of uml_start because it was pointless. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
377fad3acb
commit
1d1497e1f9
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
#define DEFAULT_COMMAND_LINE "root=98:0"
|
#define DEFAULT_COMMAND_LINE "root=98:0"
|
||||||
|
|
||||||
/* Changed in linux_main and setup_arch, which run before SMP is started */
|
/* Changed in add_arg and setup_arch, which run before SMP is started */
|
||||||
static char __initdata command_line[COMMAND_LINE_SIZE] = { 0 };
|
static char __initdata command_line[COMMAND_LINE_SIZE] = { 0 };
|
||||||
|
|
||||||
static void __init add_arg(char *arg)
|
static void __init add_arg(char *arg)
|
||||||
@@ -58,7 +58,12 @@ static void __init add_arg(char *arg)
|
|||||||
strcat(command_line, arg);
|
strcat(command_line, arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct cpuinfo_um boot_cpu_data = {
|
/*
|
||||||
|
* These fields are initialized at boot time and not changed.
|
||||||
|
* XXX This structure is used only in the non-SMP case. Maybe this
|
||||||
|
* should be moved to smp.c.
|
||||||
|
*/
|
||||||
|
struct cpuinfo_um boot_cpu_data = {
|
||||||
.loops_per_jiffy = 0,
|
.loops_per_jiffy = 0,
|
||||||
.ipi_pipe = { -1, -1 }
|
.ipi_pipe = { -1, -1 }
|
||||||
};
|
};
|
||||||
@@ -119,14 +124,12 @@ const struct seq_operations cpuinfo_op = {
|
|||||||
/* Set in linux_main */
|
/* Set in linux_main */
|
||||||
unsigned long host_task_size;
|
unsigned long host_task_size;
|
||||||
unsigned long task_size;
|
unsigned long task_size;
|
||||||
|
|
||||||
unsigned long uml_start;
|
|
||||||
|
|
||||||
/* Set in early boot */
|
|
||||||
unsigned long uml_physmem;
|
unsigned long uml_physmem;
|
||||||
unsigned long uml_reserved;
|
unsigned long uml_reserved; /* Also modified in mem_init */
|
||||||
unsigned long start_vm;
|
unsigned long start_vm;
|
||||||
unsigned long end_vm;
|
unsigned long end_vm;
|
||||||
|
|
||||||
|
/* Set in uml_ncpus_setup */
|
||||||
int ncpus = 1;
|
int ncpus = 1;
|
||||||
|
|
||||||
#ifdef CONFIG_CMDLINE_ON_HOST
|
#ifdef CONFIG_CMDLINE_ON_HOST
|
||||||
@@ -140,6 +143,8 @@ static char *argv1_end = NULL;
|
|||||||
|
|
||||||
/* Set in early boot */
|
/* Set in early boot */
|
||||||
static int have_root __initdata = 0;
|
static int have_root __initdata = 0;
|
||||||
|
|
||||||
|
/* Set in uml_mem_setup and modified in linux_main */
|
||||||
long long physmem_size = 32 * 1024 * 1024;
|
long long physmem_size = 32 * 1024 * 1024;
|
||||||
|
|
||||||
void set_cmdline(char *cmd)
|
void set_cmdline(char *cmd)
|
||||||
@@ -378,7 +383,6 @@ int __init linux_main(int argc, char **argv)
|
|||||||
|
|
||||||
printf("UML running in %s mode\n", mode);
|
printf("UML running in %s mode\n", mode);
|
||||||
|
|
||||||
uml_start = (unsigned long) &__binary_start;
|
|
||||||
host_task_size = CHOOSE_MODE_PROC(set_task_sizes_tt,
|
host_task_size = CHOOSE_MODE_PROC(set_task_sizes_tt,
|
||||||
set_task_sizes_skas, &task_size);
|
set_task_sizes_skas, &task_size);
|
||||||
|
|
||||||
@@ -400,7 +404,7 @@ int __init linux_main(int argc, char **argv)
|
|||||||
physmem_size += UML_ROUND_UP(brk_start) - UML_ROUND_UP(&_end);
|
physmem_size += UML_ROUND_UP(brk_start) - UML_ROUND_UP(&_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
uml_physmem = uml_start & PAGE_MASK;
|
uml_physmem = (unsigned long) &__binary_start & PAGE_MASK;
|
||||||
|
|
||||||
/* Reserve up to 4M after the current brk */
|
/* Reserve up to 4M after the current brk */
|
||||||
uml_reserved = ROUND_4M(brk_start) + (1 << 22);
|
uml_reserved = ROUND_4M(brk_start) + (1 << 22);
|
||||||
|
Reference in New Issue
Block a user