diff options
-rw-r--r-- | arch/x86/kernel/apic/x2apic_uv_x.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index 2270a777d647..d492752f79e1 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
@@ -396,6 +396,17 @@ EXPORT_SYMBOL(uv_hub_info_version); | |||
396 | /* Default UV memory block size is 2GB */ | 396 | /* Default UV memory block size is 2GB */ |
397 | static unsigned long mem_block_size = (2UL << 30); | 397 | static unsigned long mem_block_size = (2UL << 30); |
398 | 398 | ||
399 | /* Kernel parameter to specify UV mem block size */ | ||
400 | static int parse_mem_block_size(char *ptr) | ||
401 | { | ||
402 | unsigned long size = memparse(ptr, NULL); | ||
403 | |||
404 | /* Size will be rounded down by set_block_size() below */ | ||
405 | mem_block_size = size; | ||
406 | return 0; | ||
407 | } | ||
408 | early_param("uv_memblksize", parse_mem_block_size); | ||
409 | |||
399 | static __init int adj_blksize(u32 lgre) | 410 | static __init int adj_blksize(u32 lgre) |
400 | { | 411 | { |
401 | unsigned long base = (unsigned long)lgre << UV_GAM_RANGE_SHFT; | 412 | unsigned long base = (unsigned long)lgre << UV_GAM_RANGE_SHFT; |