diff options
Diffstat (limited to 'arch/x86/mm/numa_emulation.c')
| -rw-r--r-- | arch/x86/mm/numa_emulation.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/x86/mm/numa_emulation.c b/arch/x86/mm/numa_emulation.c index 53489ff6bf8..871dd886817 100644 --- a/arch/x86/mm/numa_emulation.c +++ b/arch/x86/mm/numa_emulation.c @@ -339,9 +339,11 @@ void __init numa_emulation(struct numa_meminfo *numa_meminfo, int numa_dist_cnt)  	} else {  		unsigned long n; -		n = simple_strtoul(emu_cmdline, NULL, 0); +		n = simple_strtoul(emu_cmdline, &emu_cmdline, 0);  		ret = split_nodes_interleave(&ei, &pi, 0, max_addr, n);  	} +	if (*emu_cmdline == ':') +		emu_cmdline++;  	if (ret < 0)  		goto no_emu; @@ -418,7 +420,9 @@ void __init numa_emulation(struct numa_meminfo *numa_meminfo, int numa_dist_cnt)  			int physj = emu_nid_to_phys[j];  			int dist; -			if (physi >= numa_dist_cnt || physj >= numa_dist_cnt) +			if (get_option(&emu_cmdline, &dist) == 2) +				; +			else if (physi >= numa_dist_cnt || physj >= numa_dist_cnt)  				dist = physi == physj ?  					LOCAL_DISTANCE : REMOTE_DISTANCE;  			else  |