powerpc/powernv: Get kernel command line accross OPAL takeover
We stash it in boot_command_line which isn't in BSS and so won't be overwritten. We then use that as a default cmd_line before we walk the device-tree. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
		
					parent
					
						
							
								27f4488872
							
						
					
				
			
			
				commit
				
					
						817c21ad9a
					
				
			
		
					 3 changed files with 13 additions and 1 deletions
				
			
		|  | @ -712,6 +712,13 @@ void __init early_init_devtree(void *params) | |||
| 	of_scan_flat_dt(early_init_dt_scan_phyp_dump, NULL); | ||||
| #endif | ||||
| 
 | ||||
| 	/* Pre-initialize the cmd_line with the content of boot_commmand_line,
 | ||||
| 	 * which will be empty except when the content of the variable has | ||||
| 	 * been overriden by a bootloading mechanism. This happens typically | ||||
| 	 * with HAL takeover | ||||
| 	 */ | ||||
| 	strlcpy(cmd_line, boot_command_line, COMMAND_LINE_SIZE); | ||||
| 
 | ||||
| 	/* Retrieve various informations from the /chosen node of the
 | ||||
| 	 * device-tree, including the platform type, initrd location and | ||||
| 	 * size, TCE reserve, and more ... | ||||
|  |  | |||
|  | @ -1449,6 +1449,10 @@ static void prom_opal_takeover(void) | |||
| 		opal_addr = top_addr; | ||||
| 	args->hal_addr = opal_addr; | ||||
| 
 | ||||
| 	/* Copy the command line to the kernel image */ | ||||
| 	strlcpy(RELOC(boot_command_line), RELOC(prom_cmd_line), | ||||
| 		COMMAND_LINE_SIZE); | ||||
| 
 | ||||
| 	prom_debug("  k_image    = 0x%lx\n", args->k_image); | ||||
| 	prom_debug("  k_size     = 0x%lx\n", args->k_size); | ||||
| 	prom_debug("  k_entry    = 0x%lx\n", args->k_entry); | ||||
|  |  | |||
|  | @ -21,7 +21,8 @@ _end enter_prom memcpy memset reloc_offset __secondary_hold | |||
| __secondary_hold_acknowledge __secondary_hold_spinloop __start | ||||
| strcmp strcpy strlcpy strlen strncmp strstr logo_linux_clut224 | ||||
| reloc_got2 kernstart_addr memstart_addr linux_banner _stext | ||||
| opal_query_takeover opal_do_takeover opal_enter_rtas opal_secondary_entry" | ||||
| opal_query_takeover opal_do_takeover opal_enter_rtas opal_secondary_entry | ||||
| boot_command_line" | ||||
| 
 | ||||
| NM="$1" | ||||
| OBJ="$2" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Benjamin Herrenschmidt
				Benjamin Herrenschmidt