ref: b5566d9a81766ce3864bc529bee7dea2acf6ae3c
parent: 0296855004cffcd89ca9d853c950a4726b8343d7
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Nov 1 20:32:46 EDT 2014
pc, pc64: more sanity checking for lowraminit()
--- a/sys/src/9/pc/memory.c
+++ b/sys/src/9/pc/memory.c
@@ -388,6 +388,8 @@
x = PADDR(CPU0END);
bda = (uchar*)KADDR(0x400);
pa = ((bda[0x14]<<8)|bda[0x13])*KB;
+ if(pa > 640*KB)
+ pa = 640*KB;
if(x < pa){mapfree(&rmapram, x, pa-x);
memset(KADDR(x), 0, pa-x); /* keep us honest */
--- a/sys/src/9/pc64/memory.c
+++ b/sys/src/9/pc64/memory.c
@@ -386,6 +386,8 @@
x = PADDR(CPU0END);
bda = (uchar*)KADDR(0x400);
pa = ((bda[0x14]<<8)|bda[0x13])*KB;
+ if(pa > 640*KB)
+ pa = 640*KB;
if(x < pa){mapfree(&rmapram, x, pa-x);
memset(KADDR(x), 0, pa-x); /* keep us honest */
--
⑨