new kqemu win98 hack affects FreeBSD
Juergen Lock
nox at jelal.kn-bremen.de
Mon Aug 8 23:02:10 GMT 2005
Hi!
I got a report that kqemu doesnt speed up FreeBSD guests anymore,
and found out that the win98 hack stops kqemu from being used.
If i disable it and add this to cpu-exec.c,
Index: cpu-exec.c
@@ -232,6 +232,13 @@
#ifdef USE_KQEMU
if (kqemu_is_ok(env) && env->interrupt_request == 0) {
int ret;
+#if 1
+ static uint32_t lastldtlimit = 0;
+ if (env->ldt.limit != lastldtlimit) {
+ lastldtlimit = env->ldt.limit;
+ printf("new ldt limit 0x%x\n", (int)lastldtlimit);
+ }
+#endif
env->eflags = env->eflags | cc_table[CC_OP].compute_all() | (DF & DF_MASK);
ret = kqemu_cpu_exec(env);
/* put eflags in CPU temporary format */
then a short run with FreeSBIE gives this:
new ldt limit 0xffff
new ldt limit 0xfff
new ldt limit 0x1fff
new ldt limit 0xfff
new ldt limit 0x1fff
new ldt limit 0xfff
new ldt limit 0x1fff
new ldt limit 0x87
new ldt limit 0x1fff
new ldt limit 0x87
new ldt limit 0x1fff
new ldt limit 0xfff
new ldt limit 0x2fff
new ldt limit 0x87
new ldt limit 0xfff
new ldt limit 0x87
new ldt limit 0xfff
new ldt limit 0x87
new ldt limit 0xfff
So maybe we need a new switch -win98-hack... :)
Juergen
More information about the freebsd-emulation
mailing list