diff options
author | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2011-01-27 10:13:25 -0500 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2011-01-27 10:49:35 -0500 |
commit | 7cb31b752c71e0bd405c1139e1907c3335877dff (patch) | |
tree | fb867bd74a89ddff24075907080faa41b33797f2 /arch/x86/pci/mmconfig_32.c | |
parent | cf04d120d9413de581437cf9a29f138ec1178f65 (diff) |
xen/e820: Guard against E820_RAM not having page-aligned size or start.
Under Dell Inspiron 1525, and Intel SandyBridge SDP's the
BIOS e820 RAM is not page-aligned:
[ 0.000000] Xen: 0000000000100000 - 00000000df66d800 (usable)
We were not handling that and ended up setting up a pagetable
that included up to df66e000 with the disastrous effect that when
memset(NODE_DATA(nodeid), 0, sizeof(pg_data_t));
tried to clear the page it would crash at the 2K mark.
Initially reported by Michael Young @
http://lists.xensource.com/archives/html/xen-devel/2011-01/msg00108.html
The fix is to page-align the size and also take into consideration
the start of the E820 (in case that is not page-aligned either). This
fixes the bootup failure on those affected machines.
This patch is a rework of the Micheal A Young initial patch and
considers the case if the start is not page-aligned.
Reported-by: Michael A Young <m.a.young@durham.ac.uk>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Michael A Young <m.a.young@durham.ac.uk>
Diffstat (limited to 'arch/x86/pci/mmconfig_32.c')
0 files changed, 0 insertions, 0 deletions