| 
									
										
										
										
											2008-02-04 22:31:14 -08:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |  * Licensed under the GPL | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-02-04 22:31:14 -08:00
										 |  |  | #include <asm/errno.h>
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #include "init.h"
 | 
					
						
							| 
									
										
										
										
											2006-01-06 00:18:59 -08:00
										 |  |  | #include "kern.h"
 | 
					
						
							| 
									
										
										
										
											2008-02-04 22:31:14 -08:00
										 |  |  | #include "os.h"
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-01-06 00:19:01 -08:00
										 |  |  | /* Changed by set_umid_arg */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | static int umid_inited = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-01-06 00:18:59 -08:00
										 |  |  | static int __init set_umid_arg(char *name, int *add) | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2006-01-06 00:18:59 -08:00
										 |  |  | 	int err; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-02-04 22:31:14 -08:00
										 |  |  | 	if (umid_inited) { | 
					
						
							| 
									
										
										
										
											2007-02-10 01:44:25 -08:00
										 |  |  | 		printf("umid already set\n"); | 
					
						
							| 
									
										
										
										
											2006-01-06 00:18:59 -08:00
										 |  |  | 		return 0; | 
					
						
							| 
									
										
										
										
											2007-02-10 01:44:25 -08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	*add = 0; | 
					
						
							| 
									
										
										
										
											2006-01-06 00:19:01 -08:00
										 |  |  | 	err = set_umid(name); | 
					
						
							| 
									
										
										
										
											2008-02-04 22:31:14 -08:00
										 |  |  | 	if (err == -EEXIST) | 
					
						
							| 
									
										
										
										
											2006-01-06 00:18:59 -08:00
										 |  |  | 		printf("umid '%s' already in use\n", name); | 
					
						
							| 
									
										
										
										
											2008-02-04 22:31:14 -08:00
										 |  |  | 	else if (!err) | 
					
						
							| 
									
										
										
										
											2006-01-06 00:18:59 -08:00
										 |  |  | 		umid_inited = 1; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return 0; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07: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" | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | 
 |