[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] qemu svn r5075 on FreeBSD - some observations (usb, vmwarev
From: |
Juergen Lock |
Subject: |
[Qemu-devel] qemu svn r5075 on FreeBSD - some observations (usb, vmwarevga, screen updates, monitor...) |
Date: |
Sun, 24 Aug 2008 01:54:36 +0200 |
User-agent: |
Mutt/1.5.17 (2007-11-01) |
Hi!
I just played with qemu svn again on FreeBSD (experimental port
update here:
http://people.freebsd.org/~nox/qemu/qemu-devel-20080823.patch
), and noticed a few things:
1. at least umass became slower, down from more than 1 MB/s to little
over 200 KB/s on one box here, emulated images (`usb_add disk:...') were
even more slow.
2, -vmwarevga seems to be broken with -kernel-kqemu (at least for linux
guests, it crashes the guest's xserver), and causes qemu to hang in
vmsvga_fifo_run without -kernel-kqemu sometimes (it never finds the end of
the fifo, and badcmd can also be reached with args not being reset so it
goobles up (unsigned)-1 fifo entries too.) The following patch at least
stops the hangs, I still get `Unknown command 0x%02x in SVGA command FIFO'
messages probably because the fifo still gets out of sync:
Index: qemu/hw/vmware_vga.c
@@ -76,6 +76,7 @@
uint32_t wblue;
int syncing;
int fb_size;
+ int empty;
union {
uint32_t *fifo;
@@ -487,7 +488,7 @@
static inline int vmsvga_fifo_empty(struct vmsvga_state_s *s)
{
- if (!s->config || !s->enable)
+ if (!s->config || !s->enable || s->empty)
return 1;
return (s->cmd->next_cmd == s->cmd->stop);
}
@@ -495,6 +496,10 @@
static inline uint32_t vmsvga_fifo_read_raw(struct vmsvga_state_s *s)
{
uint32_t cmd = s->fifo[CMD(stop) >> 2];
+ if (s->cmd->next_cmd == s->cmd->stop) {
+ s->empty = 1;
+ return 0;
+ }
s->cmd->stop = cpu_to_le32(CMD(stop) + 4);
if (CMD(stop) >= CMD(max))
s->cmd->stop = s->cmd->min;
@@ -512,6 +517,7 @@
int args = 0;
int x, y, dx, dy, width, height;
struct vmsvga_cursor_definition_s cursor;
+ s->empty = 0;
while (!vmsvga_fifo_empty(s))
switch (cmd = vmsvga_fifo_read(s)) {
case SVGA_CMD_UPDATE:
@@ -533,6 +539,7 @@
vmsvga_fill_rect(s, colour, x, y, width, height);
break;
#else
+ args = 0;
goto badcmd;
#endif
@@ -547,6 +554,7 @@
vmsvga_copy_rect(s, x, y, dx, dy, width, height);
break;
#else
+ args = 0;
goto badcmd;
#endif
@@ -609,6 +617,7 @@
break; /* Nop */
default:
+ args = 0;
badcmd:
while (args --)
vmsvga_fifo_read(s);
and here is the xorg vmwarevga crash with -kernel-kqemu:
X.Org X Server 1.4.0.90
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: Linux Debian (xorg-server 2:1.4.1~git20080517-2)
Current Operating System: Linux sidux 2.6.25-9.slh.1-sidux-686 #1 SMP PREEMPT
Tue Jun 24 23:26:13 UTC 2008 i686
Build Date: 09 June 2008 03:18:20PM
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Aug 23 18:40:58 2008
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Xorg Configured"
(**) |-->Screen "Screen 0" (0)
(**) | |-->Monitor "Monitor 0"
(==) No device specified for screen "Screen 0".
Using the first device section listed.
(**) | |-->Device "Device 0"
(**) |-->Input Device "Keyboard 0"
(**) |-->Input Device "VMMouse 0"
(**) Option "AllowMouseOpenFail" "true"
(==) Automatically adding devices
(==) Automatically enabling devices
(==) No FontPath specified. Using compiled-in default.
(WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
Entry deleted from font path.
(WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
Entry deleted from font path.
(WW) The directory "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" does not
exist.
Entry deleted from font path.
(==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/75dpi/:unscaled,
/usr/share/fonts/X11/100dpi,
/usr/share/fonts/X11/75dpi
(==) RgbPath set to "/etc/X11/rgb"
(==) ModulePath set to "/usr/lib/xorg/modules"
(**) Extension "Composite" is disabled
(II) Open ACPI successful (/var/run/acpid.socket)
(II) Loader magic: 0x81e2560
(II) Module ABI versions:
X.Org ANSI C Emulation: 0.3
X.Org Video Driver: 2.0
X.Org XInput driver : 2.0
X.Org Server Extension : 0.3
X.Org Font Renderer : 0.5
(II) Loader running on linux
(II) LoadModule: "pcidata"
(II) Loading /usr/lib/xorg/modules//libpcidata.so
(II) Module pcidata: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.0.0
ABI class: X.Org Video Driver, version 2.0
(++) using VT number 7
(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:00:0: chip 8086,1237 card 0000,0000 rev 02 class 06,00,00 hdr 00
(II) PCI: 00:01:0: chip 8086,7000 card 0000,0000 rev 00 class 06,01,00 hdr 80
(II) PCI: 00:01:1: chip 8086,7010 card 0000,0000 rev 00 class 01,01,80 hdr 00
(II) PCI: 00:01:3: chip 8086,7113 card 0000,0000 rev 03 class 06,80,00 hdr 00
(II) PCI: 00:02:0: chip 15ad,0405 card 15ad,0405 rev 00 class 03,00,00 hdr 00
(II) PCI: 00:03:0: chip 10ec,8029 card 0000,0000 rev 00 class 02,00,00 hdr 00
(II) PCI: 00:04:0: chip 1274,5000 card 4942,4c4c rev 00 class 04,01,00 hdr 00
(II) PCI: End of PCI scan
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:0:0), (0,0,0), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 0 I/O range:
[0] -1 0 0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) Bus 0 non-prefetchable memory range:
[0] -1 0 0x00000000 - 0xffffffff (0x0) MX[B]
(II) Bus 0 prefetchable memory range:
[0] -1 0 0x00000000 - 0xffffffff (0x0) MX[B]
(II) PCI-to-ISA bridge:
(II) Bus -1: bridge is at (0:1:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
(--) PCI:*(0:2:0) VMware Inc [VMware SVGA II] PCI Display Adapter rev 0, Mem @
0xf0000000/23, I/O @ 0xc010/4
(II) Addressable bus resource ranges are
[0] -1 0 0x00000000 - 0xffffffff (0x0) MX[B]
[1] -1 0 0x00000000 - 0x0000ffff (0x10000) IX[B]
(II) OS-reported resource ranges:
[0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[5] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
(II) Active PCI resource ranges:
[0] -1 0 0xf0000000 - 0xf07fffff (0x800000) MX[B](B)
[1] -1 0 0x0000c200 - 0x0000c2ff (0x100) IX[B]
[2] -1 0 0x0000c100 - 0x0000c1ff (0x100) IX[B]
[3] -1 0 0x0000c000 - 0x0000c00f (0x10) IX[B]
[4] -1 0 0x0000c010 - 0x0000c01f (0x10) IX[B](B)
(II) Active PCI resource ranges after removing overlaps:
[0] -1 0 0xf0000000 - 0xf07fffff (0x800000) MX[B](B)
[1] -1 0 0x0000c200 - 0x0000c2ff (0x100) IX[B]
[2] -1 0 0x0000c100 - 0x0000c1ff (0x100) IX[B]
[3] -1 0 0x0000c000 - 0x0000c00f (0x10) IX[B]
[4] -1 0 0x0000c010 - 0x0000c01f (0x10) IX[B](B)
(II) OS-reported resource ranges after removing overlaps with PCI:
[0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[5] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
(II) All system resource ranges:
[0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0xf0000000 - 0xf07fffff (0x800000) MX[B](B)
[5] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[6] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
[7] -1 0 0x0000c200 - 0x0000c2ff (0x100) IX[B]
[8] -1 0 0x0000c100 - 0x0000c1ff (0x100) IX[B]
[9] -1 0 0x0000c000 - 0x0000c00f (0x10) IX[B]
[10] -1 0 0x0000c010 - 0x0000c01f (0x10) IX[B](B)
(II) LoadModule: "extmod"
(II) Loading /usr/lib/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "dbe"
(II) Loading /usr/lib/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(==) AIGLX enabled
(II) Loading extension GLX
(II) LoadModule: "freetype"
(II) Loading /usr/lib/xorg/modules//fonts/libfreetype.so
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
compiled for 1.4.0.90, module version = 2.1.0
Module class: X.Org Font Renderer
ABI class: X.Org Font Renderer, version 0.5
(II) Loading font FreeType
(II) LoadModule: "record"
(II) Loading /usr/lib/xorg/modules/extensions//librecord.so
(II) Module record: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.13.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension RECORD
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension XFree86-DRI
(II) LoadModule: "vmware"
(II) Loading /usr/lib/xorg/modules/drivers//vmware_drv.so
(II) Module vmware: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 10.16.2
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 2.0
(II) LoadModule: "kbd"
(II) Loading /usr/lib/xorg/modules/input//kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.3.1
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.0
(II) LoadModule: "mouse"
(II) Loading /usr/lib/xorg/modules/input//mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.3.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.0
(II) VMWARE: driver for VMware SVGA: vmware0405, vmware0710
(II) Primary Device is: PCI 00:02:0
(--) Chipset vmware0405 found
(II) resource ranges after xf86ClaimFixedResources() call:
[0] 0 0 0x000b8000 - 0x000bffff (0x8000) MX[B]
[1] 0 0 0x000b0000 - 0x000b7fff (0x8000) MX[B]
[2] 0 0 0x000a0000 - 0x000affff (0x10000) MX[B]
[3] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[4] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[5] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[6] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[7] -1 0 0xf0000000 - 0xf07fffff (0x800000) MX[B](B)
[8] 0 0 0x000003c0 - 0x000003df (0x20) IX[B]
[9] 0 0 0x000003b0 - 0x000003bb (0xc) IX[B]
[10] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[11] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
[12] -1 0 0x0000c200 - 0x0000c2ff (0x100) IX[B]
[13] -1 0 0x0000c100 - 0x0000c1ff (0x100) IX[B]
[14] -1 0 0x0000c000 - 0x0000c00f (0x10) IX[B]
[15] -1 0 0x0000c010 - 0x0000c01f (0x10) IX[B](B)
(II) resource ranges after probing:
[0] 0 0 0x000b8000 - 0x000bffff (0x8000) MX[B]
[1] 0 0 0x000b0000 - 0x000b7fff (0x8000) MX[B]
[2] 0 0 0x000a0000 - 0x000affff (0x10000) MX[B]
[3] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[B]E(B)
[4] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[5] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[6] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[7] -1 0 0xf0000000 - 0xf07fffff (0x800000) MX[B](B)
[8] 0 0 0x000003c0 - 0x000003df (0x20) IX[B]
[9] 0 0 0x000003b0 - 0x000003bb (0xc) IX[B]
[10] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[11] -1 0 0x00000000 - 0x000000ff (0x100) IX[B]
[12] -1 0 0x0000c200 - 0x0000c2ff (0x100) IX[B]
[13] -1 0 0x0000c100 - 0x0000c1ff (0x100) IX[B]
[14] -1 0 0x0000c000 - 0x0000c00f (0x10) IX[B]
[15] -1 0 0x0000c010 - 0x0000c01f (0x10) IX[B](B)
(II) Setting vga for screen 0.
(--) VMWARE(0): VMware SVGA regs at (0xc010, 0xc011)
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Loading /usr/lib/xorg/modules//libvgahw.so
(II) Module vgahw: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 0.1.0
ABI class: X.Org Video Driver, version 2.0
(WW) System lacks support for changing MTRRs
Backtrace:
0: /usr/bin/X(xf86SigHandler+0x7e) [0x80c913e]
1: [0xb8021400]
2: /usr/lib/xorg/modules/drivers//vmware_drv.so [0xb7bffd37]
3: /usr/bin/X(InitOutput+0xa0f) [0x80ab32f]
4: /usr/bin/X(main+0x2b1) [0x8074561]
5: /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7da6455]
6: /usr/bin/X(FontFileCompleteXLFD+0x219) [0x8073a51]
Fatal server error:
Caught signal 11. Server aborting
3. one one box (a c2d running FreeBSD/amd64) the qemu window stops updating
after a while until I move the mouse over it or over another window (I'm
using xfce configured for focus-follows-mouse.) It still happens when I
disable powerd or SMP so its apparently not related to those...
4. command completion in the monitor is messed up, e.g. `cha' gets completed
to `chaang'.
5. there's an #include missing in block-raw-posix.c:
Index: qemu/block-raw-posix.c
@@ -55,6 +55,7 @@
#include <linux/fd.h>
#endif
#ifdef __FreeBSD__
+#include <signal.h>
#include <sys/disk.h>
#endif
I think thats it for now...
Thanx,
Juergen
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] qemu svn r5075 on FreeBSD - some observations (usb, vmwarevga, screen updates, monitor...),
Juergen Lock <=