diff options
author | msmith <msmith@FreeBSD.org> | 1999-03-16 21:22:24 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 1999-03-16 21:22:24 +0000 |
commit | 0ba37a221d954cd36b3c1c5bd36db71804d4582c (patch) | |
tree | 1bd1674c186089e842307ed2f498f8152f5a8de7 | |
parent | 66967d961b78d6247ff145c952912f9ae768c36d (diff) | |
download | FreeBSD-src-0ba37a221d954cd36b3c1c5bd36db71804d4582c.zip FreeBSD-src-0ba37a221d954cd36b3c1c5bd36db71804d4582c.tar.gz |
Don't call int15:820, it's not allowed to be called from vm86 mode.
PR: i386/10485
Submitted by: takawata@shidahara1.planet.sci.kobe-u.ac.jp
-rw-r--r-- | sys/i386/i386/vm86.c | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/sys/i386/i386/vm86.c b/sys/i386/i386/vm86.c index 6e5e97f..b56b70d 100644 --- a/sys/i386/i386/vm86.c +++ b/sys/i386/i386/vm86.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: vm86.c,v 1.19 1998/12/07 21:58:19 archie Exp $ + * $Id: vm86.c,v 1.20 1999/01/28 01:59:51 dillon Exp $ */ #include "opt_vm86.h" @@ -480,35 +480,6 @@ initial_bioscalls(u_int *basemem, u_int *extmem) } /* - * get memory map with INT 15:E820 - */ -#define SMAPSIZ sizeof(smap) -#define SMAP_SIG 0x534D4150 /* 'SMAP' */ - vmf.vmf_ebx = 0; - do { - vmf.vmf_eax = 0xE820; - vmf.vmf_edx = SMAP_SIG; - vmf.vmf_ecx = SMAPSIZ; - i = vm86_datacall(0x15, &vmf, - (char *)&smap, SMAPSIZ, &vmf.vmf_es, &vmf.vmf_di); - if (i || vmf.vmf_eax != SMAP_SIG) - break; - if (smap.type == 0x01 && smap.base >= highwat) { - *extmem += (smap.length / 1024); - highwat = smap.base + smap.length; - } - } while (vmf.vmf_ebx != 0); - - if (*extmem != 0) { - if (*extmem > *basemem) { - *extmem -= *basemem; - method = 0xE820; - goto done; - } - printf("E820: extmem (%d) < basemem (%d)\n", *extmem, *basemem); - } - - /* * try memory map with INT 15:E801 */ vmf.vmf_ax = 0xE801; |