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 53489ff6bf82..871dd8868170 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) | |||
| 339 | } else { | 339 | } else { |
| 340 | unsigned long n; | 340 | unsigned long n; |
| 341 | 341 | ||
| 342 | n = simple_strtoul(emu_cmdline, NULL, 0); | 342 | n = simple_strtoul(emu_cmdline, &emu_cmdline, 0); |
| 343 | ret = split_nodes_interleave(&ei, &pi, 0, max_addr, n); | 343 | ret = split_nodes_interleave(&ei, &pi, 0, max_addr, n); |
| 344 | } | 344 | } |
| 345 | if (*emu_cmdline == ':') | ||
| 346 | emu_cmdline++; | ||
| 345 | 347 | ||
| 346 | if (ret < 0) | 348 | if (ret < 0) |
| 347 | goto no_emu; | 349 | goto no_emu; |
| @@ -418,7 +420,9 @@ void __init numa_emulation(struct numa_meminfo *numa_meminfo, int numa_dist_cnt) | |||
| 418 | int physj = emu_nid_to_phys[j]; | 420 | int physj = emu_nid_to_phys[j]; |
| 419 | int dist; | 421 | int dist; |
| 420 | 422 | ||
| 421 | if (physi >= numa_dist_cnt || physj >= numa_dist_cnt) | 423 | if (get_option(&emu_cmdline, &dist) == 2) |
| 424 | ; | ||
| 425 | else if (physi >= numa_dist_cnt || physj >= numa_dist_cnt) | ||
| 422 | dist = physi == physj ? | 426 | dist = physi == physj ? |
| 423 | LOCAL_DISTANCE : REMOTE_DISTANCE; | 427 | LOCAL_DISTANCE : REMOTE_DISTANCE; |
| 424 | else | 428 | else |
