2005-04-17 06:20:36 +08:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2001, 2002 Jeff Dike (jdike@karaya.com)
|
|
|
|
* Licensed under the GPL
|
|
|
|
*/
|
|
|
|
|
2006-01-06 16:18:59 +08:00
|
|
|
#include "linux/stddef.h"
|
|
|
|
#include "linux/kernel.h"
|
|
|
|
#include "asm/errno.h"
|
2005-04-17 06:20:36 +08:00
|
|
|
#include "init.h"
|
|
|
|
#include "os.h"
|
2006-01-06 16:18:59 +08:00
|
|
|
#include "kern.h"
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-01-06 16:18:59 +08:00
|
|
|
/* Changed by set_umid_arg and umid_file_name */
|
|
|
|
int umid_is_random = 0;
|
2005-04-17 06:20:36 +08:00
|
|
|
static int umid_inited = 0;
|
|
|
|
|
2006-01-06 16:18:59 +08:00
|
|
|
static int __init set_umid_arg(char *name, int *add)
|
2005-04-17 06:20:36 +08:00
|
|
|
{
|
2006-01-06 16:18:59 +08:00
|
|
|
int err;
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2006-01-06 16:18:59 +08:00
|
|
|
if(umid_inited)
|
|
|
|
return 0;
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
*add = 0;
|
2006-01-06 16:18:59 +08:00
|
|
|
err = set_umid(name, printf);
|
|
|
|
if(err == -EEXIST){
|
|
|
|
printf("umid '%s' already in use\n", name);
|
|
|
|
umid_is_random = 1;
|
|
|
|
}
|
|
|
|
else if(!err)
|
|
|
|
umid_inited = 1;
|
|
|
|
|
|
|
|
return 0;
|
2005-04-17 06:20:36 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
__uml_setup("umid=", set_umid_arg,
|
|
|
|
"umid=<name>\n"
|
|
|
|
" This is used to assign a unique identity to this UML machine and\n"
|
|
|
|
" is used for naming the pid file and management console socket.\n\n"
|
|
|
|
);
|
|
|
|
|