From 5b229b80436d6368370ba4c8ccfb10fbc3dc9368 Mon Sep 17 00:00:00 2001 From: OBattler Date: Mon, 11 Dec 2017 21:14:55 +0100 Subject: [PATCH] If the machine has 16 MB or more RAM, 384 extra kB are now malloc'ed for the top remapping. --- src/mem.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mem.c b/src/mem.c index 8d3e303ba..32f7f8793 100644 --- a/src/mem.c +++ b/src/mem.c @@ -1386,8 +1386,8 @@ void mem_init(void) ram = malloc(16384 * 1024); memset(ram, 0, 16384 * 1024); } else { - ram = malloc(mem_size * 1024); - memset(ram, 0, mem_size * 1024); + ram = malloc((mem_size + 384) * 1024); /* 386 extra kB for top remapping */ + memset(ram, 0, (mem_size + 384) * 1024); } readlookup2 = malloc(1024 * 1024 * sizeof(uintptr_t)); @@ -1574,8 +1574,8 @@ void mem_resize() ram = malloc(16384 * 1024); memset(ram, 0, 16384 * 1024); } else { - ram = malloc(mem_size * 1024); - memset(ram, 0, mem_size * 1024); + ram = malloc((mem_size + 384) * 1024); /* 386 extra kB for top remapping */ + memset(ram, 0, (mem_size + 384) * 1024); } memset(pages, 0, (1 << 20) * sizeof(page_t));