From 77450ffb9190c6aa2a04bc23792a143b5886e459 Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Mon, 30 Apr 2018 23:58:20 +0300 Subject: [PATCH] ignore memory ranges above 4gb --- src/boot/boot2.s | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/boot/boot2.s b/src/boot/boot2.s index 2a163e1..719f37e 100644 --- a/src/boot/boot2.s +++ b/src/boot/boot2.s @@ -615,16 +615,20 @@ e820_looptop: cmp $0x534d4150, %eax jnz e820_fail + # skip areas starting above 4GB as we won't be able to use them + cmpl $0, 4(%edi) + jnz e820_skip + + # only care for type 1 (usable ram), otherwise ignore + cmpl $1, 16(%edi) + jnz e820_skip + mov buffer, %eax mov $boot_mem_map, %esi mov boot_mem_map_size, %ebp # again, that's [ebp * 8 + esi] mov %eax, (%esi,%ebp,8) - # only care for type 1 (usable ram), otherwise ignore - cmpl $1, 16(%edi) - jnz e820_skip - # skip areas with 0 size (also clamp size to 4gb) # test high 32bits cmpl $0, 12(%edi) -- 1.7.10.4