vmd: properly advertise 640k base memory, not 636k. That was a holdover
authormlarkin <mlarkin@openbsd.org>
Wed, 7 Jun 2017 14:41:53 +0000 (14:41 +0000)
committermlarkin <mlarkin@openbsd.org>
Wed, 7 Jun 2017 14:41:53 +0000 (14:41 +0000)
from before we had seabios support (to fake a hole where the EBDA would
be), and seabios always assumes 640k low memory is available. Fixes a
problem where FreeDOS guests whose seabios placed the virtio ring too
close to 640k would crash vmd. tested on a variety of guest OS, with
and without seabios. no regressions seen.

usr.sbin/vmd/loadfile.h

index cc38426..8313df0 100644 (file)
@@ -1,5 +1,5 @@
 /*     $NetBSD: loadfile.h,v 1.1 1999/04/28 09:08:50 christos Exp $     */
-/*     $OpenBSD: loadfile.h,v 1.8 2017/03/25 16:28:25 reyk Exp $        */
+/*     $OpenBSD: loadfile.h,v 1.9 2017/06/07 14:41:53 mlarkin Exp $     */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -63,7 +63,7 @@
 #define        COUNT_RANDOM    0x4000
 #define COUNT_ALL      0x7f00
 
-#define LOWMEM_KB 636
+#define LOWMEM_KB 640
 
 #define BOOTARGS_PAGE 0x2000
 #define STACK_PAGE 0xF000