summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/setup.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2010-10-26 23:41:49 +0200
committerJesse Barnes <jbarnes@virtuousgeek.org>2010-10-27 00:33:44 +0200
commit419afdf53cca794a190014593b4778e2e9d64cf3 (patch)
tree5d26321ffa10a004c71cc428f1f33f9bb6053602 /arch/x86/kernel/setup.c
parentx86/PCI: allocate space from the end of a region, not the beginning (diff)
downloadlinux-419afdf53cca794a190014593b4778e2e9d64cf3.tar.xz
linux-419afdf53cca794a190014593b4778e2e9d64cf3.zip
x86: update iomem_resource end based on CPU physical address capabilities
The iomem_resource map reflects the available physical address space. We statically initialize the end to -1, i.e., 0xffffffff_ffffffff, but of course we can only use as much as the CPU can address. This patch updates the end based on the CPU capabilities, so we don't mistakenly allocate space that isn't usable, as we're likely to do when allocating from the top-down. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r--arch/x86/kernel/setup.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index c3a4fbb2b996..922b5a1f978b 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -788,6 +788,7 @@ void __init setup_arch(char **cmdline_p)
x86_init.oem.arch_setup();
+ iomem_resource.end = (1ULL << boot_cpu_data.x86_phys_bits) - 1;
setup_memory_map();
parse_setup_data();
/* update the e820_saved too */