qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] enable quietbios check


From: Cory Fields
Subject: [Qemu-devel] [PATCH] enable quietbios check
Date: Sat, 14 Feb 2009 18:57:06 -0500

Signed-off-by: Cory Fields <address@hidden>
---
 vgabios.c |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/vgabios.c b/vgabios.c
index fbc3588..bb78bd5 100644
--- a/vgabios.c
+++ b/vgabios.c
@@ -55,6 +55,10 @@
 #endif
 
 #define USE_BX_INFO
+#define BX_CFG_CTL_PORT    0x510
+#define BX_CFG_DATA_PORT   0x511
+#define BX_CFG_SIGNATURE   0x00
+#define BX_CFG_QUIETBIOS   0x08
 
 /* Declares */
 static Bit8u          read_byte();
@@ -250,6 +254,10 @@ vgabios_init_func:
   call cirrus_init
 #endif
 
+ call   _qemu_quietbios_probe
+ test   al,al
+ jnz    skip_display
+
 ;; display splash screen
   call _display_splash_screen
 
@@ -269,7 +277,7 @@ vgabios_init_func:
 ;; show cirrus info
   call cirrus_display_info
 #endif
-
+skip_display:
   retf
 ASM_END
 
@@ -3897,6 +3905,23 @@ ASM_END
 #endif
 
 // 
--------------------------------------------------------------------------------------------
+int qemu_cfg_port_probe()
+{
+  outw(BX_CFG_CTL_PORT, BX_CFG_SIGNATURE);
+  if (inb(BX_CFG_DATA_PORT) != 'Q') return 0;
+  if (inb(BX_CFG_DATA_PORT) != 'E') return 0;
+  if (inb(BX_CFG_DATA_PORT) != 'M') return 0;
+  if (inb(BX_CFG_DATA_PORT) != 'U') return 0;
+  return 1;
+}
+
+int qemu_quietbios_probe()
+{
+  if(qemu_cfg_port_probe()) 
+    outw(BX_CFG_CTL_PORT, BX_CFG_QUIETBIOS);  
+      if (inb(BX_CFG_DATA_PORT)) return 1;
+  return 0;
+}
 
 ASM_START 
 ;; DATA_SEG_DEFS_HERE
-- 
1.6.0.6





reply via email to

[Prev in Thread] Current Thread [Next in Thread]