|
@@ -682,15 +682,14 @@ void __init parse_e820_ext(u64 phys_addr, u32 data_len)
|
|
|
* hibernation (32 bit) or software suspend and suspend to RAM (64 bit).
|
|
|
*
|
|
|
* This function requires the e820 map to be sorted and without any
|
|
|
- * overlapping entries and assumes the first e820 area to be RAM.
|
|
|
+ * overlapping entries.
|
|
|
*/
|
|
|
void __init e820_mark_nosave_regions(unsigned long limit_pfn)
|
|
|
{
|
|
|
int i;
|
|
|
- unsigned long pfn;
|
|
|
+ unsigned long pfn = 0;
|
|
|
|
|
|
- pfn = PFN_DOWN(e820.map[0].addr + e820.map[0].size);
|
|
|
- for (i = 1; i < e820.nr_map; i++) {
|
|
|
+ for (i = 0; i < e820.nr_map; i++) {
|
|
|
struct e820entry *ei = &e820.map[i];
|
|
|
|
|
|
if (pfn < PFN_UP(ei->addr))
|