qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] win2k, acpi & usb


From: Brad Campbell
Subject: [Qemu-devel] win2k, acpi & usb
Date: Sat, 01 Jul 2006 14:17:05 +0400
User-agent: Thunderbird 1.5.0.4 (X11/20060615)

G'day all,

I just attempted a clean Win2k-SP4 install with CVS from today..

Just a couple of gotchas I noticed..

Windows has a couple of install stages the first of which is the old "blue screen text mode" format/copy stage which will not work with -kernel-kqemu. So I boot and do that stage with no -kernel-kqemu. When it asks me to reboot the computer I stop qemu and restart the process with -kernel-kqemu and it chugs along nicely. (This one is a known issue, not a problem and I simply included it for those joining us late)

1. Doing the install with "-usb -usbdevice tablet" had the win2k install getting stuck in the hardware detection screen. (No problem, once I figured it out I just install without that option and let it detect it later)

2. Windows would install, however during the first real boot it would blue screen and complain about incomplete ACPI support required to run windows. (No problem, installed clean with -no-acpi and we are good to go). Once it's installed with -no-acpi then you don't need to specify it again as windows won't try and detect/use it anyway.

In addition, I've had to "massage" a version of the -no-tsc patch I found floating about, as my new Pentium-M laptop has a 4 stage speedstep and the timer was going haywire using the tsc. (Patch attached). What are the chances of getting something like this included sometime in the future. I can't be the only person who runs this on a speedstep capable machine with broken tsc behaviour.

Brad
--
"Human beings, who are almost unique in having the ability
to learn from the experience of others, are also remarkable
for their apparent disinclination to do so." -- Douglas Adams
? qemu-notsc.patch
Index: vl.c
===================================================================
RCS file: /cvsroot/qemu/qemu/vl.c,v
retrieving revision 1.196
diff -u -r1.196 vl.c
--- vl.c        26 Jun 2006 21:00:51 -0000      1.196
+++ vl.c        28 Jun 2006 04:48:43 -0000
@@ -129,6 +129,10 @@
 int vm_running;
 int rtc_utc = 1;
 int cirrus_vga_enabled = 1;
+#ifdef __i386__
+static int notsc = 0;
+extern int64_t get_clock(void);
+#endif
 #ifdef TARGET_SPARC
 int graphic_width = 1024;
 int graphic_height = 768;
@@ -523,6 +527,9 @@
     return ti.QuadPart;
 #else
     int64_t val;
+    if (notsc) {
+       return get_clock()<<12;
+    }
     asm volatile ("rdtsc" : "=A" (val));
     return val;
 #endif
@@ -657,6 +664,7 @@
     usec = get_clock() - usec;
     ticks = cpu_get_real_ticks() - ticks;
     ticks_per_sec = (ticks * 1000000LL + (usec >> 1)) / usec;
+    //printf("ticks_per_sec=%lld\n",ticks_per_sec);
 }
 #endif /* !_WIN32 */
 
@@ -5142,6 +5150,9 @@
 #ifdef USE_CODE_COPY
            "-no-code-copy   disable code copy acceleration\n"
 #endif
+#ifdef __i386__
+           "-no-tsc         disable tsc as clock source\n"
+#endif
 #ifdef TARGET_I386
            "-std-vga        simulate a standard VGA card with VESA Bochs 
Extensions\n"
            "                (default is CL-GD5446 PCI VGA)\n"
@@ -5208,6 +5219,7 @@
     QEMU_OPTION_hdachs,
     QEMU_OPTION_L,
     QEMU_OPTION_no_code_copy,
+    QEMU_OPTION_no_tsc,
     QEMU_OPTION_k,
     QEMU_OPTION_localtime,
     QEMU_OPTION_cirrusvga,
@@ -5283,6 +5295,10 @@
     { "no-kqemu", 0, QEMU_OPTION_no_kqemu },
     { "kernel-kqemu", 0, QEMU_OPTION_kernel_kqemu },
 #endif
+#ifdef __i386__
+    { "no-tsc", 0, QEMU_OPTION_no_tsc },
+#endif
+
 #if defined(TARGET_PPC) || defined(TARGET_SPARC)
     { "g", 1, QEMU_OPTION_g },
 #endif
@@ -5929,7 +5945,12 @@
             case QEMU_OPTION_no_acpi:
                 acpi_enabled = 0;
                 break;
-            }
+#ifdef __i386__
+            case QEMU_OPTION_no_tsc:
+                notsc = 1;
+                break;
+#endif
+           }
         }
     }
 

reply via email to

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