On Wed, 2006-08-16 at 15:24 +0100, Keir Fraser wrote:
> Actually I'm not sure this is particularly necessary for headless x86
> either. I could move the test to the end of setup_vga(), and only probe
> 0xb8000?
Hi Keir,
Yeah, I think something like the below change to your previous patch
would be fine. Thanks!
Alex
Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
diff -r aa9ed07f34a5 xen/drivers/video/vga.c
--- a/xen/drivers/video/vga.c Wed Aug 16 08:38:18 2006 -0600
+++ b/xen/drivers/video/vga.c Wed Aug 16 08:46:30 2006 -0600
@@ -321,45 +321,6 @@ static int detect_video(void *video_base
return video_found;
}
-static int detect_vga(void)
-{
- int detected;
- void *p;
-
- if ( memory_is_conventional_ram(0xA0000) )
- return 0;
-
- /*
- * Look at a number of well-known locations. Even if video is not at
- * 0xB8000 right now, it will appear there when we set up text mode 3.
- *
- * We assume if there is any sign of a video adaptor then it is at least
- * VGA-compatible (surely noone runs CGA, EGA, .... these days?).
- *
- * These checks are basically to detect headless server boxes.
- */
-
- p = ioremap(0xA0000, 0x1000);
- detected = detect_video(p);
- iounmap(p);
- if ( detected )
- return 1;
-
- p = ioremap(0xB0000, 0x1000);
- detected = detect_video(p);
- iounmap(p);
- if ( detected )
- return 1;
-
- p = ioremap(0xB8000, 0x1000);
- detected = detect_video(p);
- iounmap(p);
- if ( detected )
- return 1;
-
- return 0;
-}
-
/* This is actually code from vgaHWRestore in an old version of XFree86 :-) */
void *setup_vga(void)
{
@@ -378,9 +339,10 @@ void *setup_vga(void)
0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x0c, 0x00, 0x0f, 0x08, 0x00
};
- int i, j;
-
- if ( !detect_vga() )
+ int i, j, detected;
+ void *p;
+
+ if ( memory_is_conventional_ram(0xA0000) )
{
printk("No VGA adaptor detected!\n");
return NULL;
@@ -407,6 +369,12 @@ void *setup_vga(void)
inb(VGA_IS1_RC);
outb(0x20, VGA_ATT_IW);
+
+ p = ioremap(0xB8000, 0x1000);
+ detected = detect_video(p);
+ iounmap(p);
+ if ( !detected )
+ return NULL;
return ioremap(0xB8000, 0x8000);
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|