From: tip-bot for Yinghai Lu <yinghai@kernel.org>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@kernel.org,
yinghai@kernel.org, stable@vger.kernel.org, jacob.shin@amd.com,
tglx@linutronix.de, hpa@linux.intel.com
Subject: [tip:x86/urgent] x86, mm: Use memblock memory loop instead of e820_RAM
Date: Wed, 24 Oct 2012 12:02:27 -0700 [thread overview]
Message-ID: <tip-1f2ff682ac951ed82cc043cf140d2851084512df@git.kernel.org> (raw)
In-Reply-To: <CAE9FiQVZirvaBMFYRfXMmWEcHbKSicQEHz4VAwUv0xFCk51ZNw@mail.gmail.com>
Commit-ID: 1f2ff682ac951ed82cc043cf140d2851084512df
Gitweb: http://git.kernel.org/tip/1f2ff682ac951ed82cc043cf140d2851084512df
Author: Yinghai Lu <yinghai@kernel.org>
AuthorDate: Mon, 22 Oct 2012 16:35:18 -0700
Committer: H. Peter Anvin <hpa@linux.intel.com>
CommitDate: Wed, 24 Oct 2012 11:52:36 -0700
x86, mm: Use memblock memory loop instead of e820_RAM
We need to handle E820_RAM and E820_RESERVED_KERNEL at the same time.
Also memblock has page aligned range for ram, so we could avoid mapping
partial pages.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/CAE9FiQVZirvaBMFYRfXMmWEcHbKSicQEHz4VAwUv0xFCk51ZNw@mail.gmail.com
Acked-by: Jacob Shin <jacob.shin@amd.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: <stable@vger.kernel.org>
---
arch/x86/kernel/setup.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 468e98d..5d888af 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -921,18 +921,19 @@ void __init setup_arch(char **cmdline_p)
#ifdef CONFIG_X86_64
if (max_pfn > max_low_pfn) {
int i;
- for (i = 0; i < e820.nr_map; i++) {
- struct e820entry *ei = &e820.map[i];
+ unsigned long start, end;
+ unsigned long start_pfn, end_pfn;
- if (ei->addr + ei->size <= 1UL << 32)
- continue;
+ for_each_mem_pfn_range(i, MAX_NUMNODES, &start_pfn, &end_pfn,
+ NULL) {
- if (ei->type == E820_RESERVED)
+ end = PFN_PHYS(end_pfn);
+ if (end <= (1UL<<32))
continue;
+ start = PFN_PHYS(start_pfn);
max_pfn_mapped = init_memory_mapping(
- ei->addr < 1UL << 32 ? 1UL << 32 : ei->addr,
- ei->addr + ei->size);
+ max((1UL<<32), start), end);
}
/* can we preseve max_low_pfn ?*/
next prev parent reply other threads:[~2012-10-24 19:02 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <903a3ead-98b5-4afa-88a4-3dc723895e82@blur>
[not found] ` <d556fc0f-da5d-4531-b331-6dc086461f34@blur>
2012-10-21 0:17 ` BUG: 1bbbbe7 (x86: Exclude E820_RESERVED regions...) PANIC on boot Tom Rini
2012-10-21 4:01 ` Yinghai Lu
2012-10-21 4:18 ` Jacob Shin
2012-10-21 17:51 ` Tom Rini
2012-10-21 21:06 ` Jacob Shin
2012-10-21 21:23 ` Tom Rini
2012-10-22 14:40 ` Jacob Shin
2012-10-22 18:05 ` Yinghai Lu
2012-10-22 18:38 ` Jacob Shin
2012-10-22 19:46 ` Yinghai Lu
2012-10-22 20:26 ` H. Peter Anvin
2012-10-22 20:50 ` Yinghai Lu
2012-10-22 20:52 ` H. Peter Anvin
2012-10-22 21:25 ` Yinghai Lu
2012-10-22 21:27 ` H. Peter Anvin
2012-10-22 23:35 ` Yinghai Lu
2012-10-24 16:48 ` Jacob Shin
2012-10-24 18:53 ` H. Peter Anvin
2012-10-24 19:53 ` Jacob Shin
2012-10-24 21:49 ` [tip:x86/urgent] x86, mm: Find_early_table_space based on ranges that are actually being mapped tip-bot for Jacob Shin
2012-10-25 6:42 ` Yinghai Lu
2012-10-25 7:55 ` Ingo Molnar
2012-10-25 14:33 ` Yinghai Lu
2012-10-25 22:23 ` Jacob Shin
2012-10-25 23:31 ` [tip:x86/urgent] x86, mm: Undo incorrect revert in arch/x86/mm/ init.c tip-bot for Yinghai Lu
2012-10-24 19:01 ` [tip:x86/urgent] x86, mm: Trim memory in memblock to be page aligned tip-bot for Yinghai Lu
2012-10-24 19:02 ` tip-bot for Yinghai Lu [this message]
2012-10-22 21:00 ` BUG: 1bbbbe7 (x86: Exclude E820_RESERVED regions...) PANIC on boot H. Peter Anvin
2012-10-22 21:06 ` Yinghai Lu
2012-10-28 20:48 ` Tom Rini
2012-10-21 17:52 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-1f2ff682ac951ed82cc043cf140d2851084512df@git.kernel.org \
--to=yinghai@kernel.org \
--cc=hpa@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jacob.shin@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=stable@vger.kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.