Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/i386/bios -if getting info for a mode fails, print ...



details:   https://anonhg.NetBSD.org/src/rev/bc87d63d816c
branches:  trunk
changeset: 533938:bc87d63d816c
user:      drochner <drochner%NetBSD.org@localhost>
date:      Thu Jul 11 10:02:21 2002 +0000

description:
-if getting info for a mode fails, print out the mode
 and continue with the next
-check that text modes are VGA compatible (haven't seen it
 otherwise yet, but to be sure...)

diffstat:

 sys/arch/i386/bios/vesabios.c |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (29 lines):

diff -r cc1f489a3247 -r bc87d63d816c sys/arch/i386/bios/vesabios.c
--- a/sys/arch/i386/bios/vesabios.c     Thu Jul 11 07:37:06 2002 +0000
+++ b/sys/arch/i386/bios/vesabios.c     Thu Jul 11 10:02:21 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: vesabios.c,v 1.2 2002/07/10 19:15:43 drochner Exp $ */
+/* $NetBSD: vesabios.c,v 1.3 2002/07/11 10:02:21 drochner Exp $ */
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -211,7 +211,8 @@
                res = kvm86_bioscall(0x10, &tf);
                if (res || tf.tf_eax != 0x004f) {
                        printf("vbecall: res=%d, ax=%x\n", res, tf.tf_eax);
-                       break;
+                       printf("error getting info for mode %04x\n", modes[i]);
+                       continue;
                }
                mi = (struct modeinfoblock *)buf;
 #ifdef VESABIOSVERBOSE
@@ -243,7 +244,8 @@
                        printf(", text %dx%d\n",
                               mi->XResolution, mi->YResolution);
 #endif
-                       textmodes[ntextmodes++] = modes[i];
+                       if (!(mi->ModeAttributes & 0x20)) /* VGA compatible */
+                               textmodes[ntextmodes++] = modes[i];
                }
        }
        kvm86_bios_delpage(0x2000, buf);



Home | Main Index | Thread Index | Old Index