* [Qemu-devel] Open source qemu x86 accelerator module.
@ 2005-04-02 23:22 Paul Brook
2005-04-02 23:45 ` Hetz Ben Hamo
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Paul Brook @ 2005-04-02 23:22 UTC (permalink / raw)
To: qemu-devel; +Cc: qvm86-devel
I'd like to announce qvm86; an open source x86 accelerator module for qemu.
qvm86 is basically a drop-in replacement for kqemu. However is is an
independent replacement written from scratch by myself, and released under
the GnNU General Public Licence (GPL).
The CVS repository and mailing list for qvm86 are hosted on savannah:
http://www.nongnu.org/qvm86/
qvm86 is still in the early stages of development, so I provide no guarantees
about its reliability. It almost certainly has bugs which could crash your
machine or cause data corruption. Any assistance identifying and fixing these
bugs is welcomed ;-)
See the README file in qvm86 CVS for brief instructions how to install. It's
basically the same procedure as kqemu.
qvm86 currently only works on x86-linux hosts, and has only been tested on
relatively recent 2.6 kernels with udev installed.
It should be possible to port qvm86 to other x86 hosts (eg. FreeBSD or even
Windows). I don't have immediate plans for doing such ports, but would
welcome patches if other people want to do the porting. It may also be
possible to x86-64 hosts, but I don't know enough details to say how hard
this would be.
I have successfully booted windows 2000, freebsd and couple of different linux
guests. Windows 98 guests don't work, but I think I know what's wrong.
Performance depends heavily on the guest wokload. It varies from near-native
to about the same as normal qemu. For example compiling qemu with gcc is ~5x
slower than native (normal qemu is ~17x slower). I believe there is sill
quite a bit of scope for improving performance.
Paul Brook
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-02 23:22 [Qemu-devel] Open source qemu x86 accelerator module Paul Brook
@ 2005-04-02 23:45 ` Hetz Ben Hamo
2005-04-03 0:30 ` Paul Brook
2005-04-03 0:47 ` Jim C. Brown
2005-04-03 0:32 ` Jim C. Brown
` (4 subsequent siblings)
5 siblings, 2 replies; 12+ messages in thread
From: Hetz Ben Hamo @ 2005-04-02 23:45 UTC (permalink / raw)
To: qemu-devel
Hi Paul,
First - congratulations for your new kernel module. I have few
questions, if you don't mind:
1. Have you tested the speed compared to QEMU CVS + kqemu?
2. Which Windows 2000 have you installed? there are few versions of
the bootable CD's, few of them comes with service packs already
applied..
3. Do you plan to make it work with the 2.4.x kernels?
4. Have you tried installing it with XP as guest?
Thanks,
Hetz
On Apr 3, 2005 1:22 AM, Paul Brook <paul@codesourcery.com> wrote:
> I'd like to announce qvm86; an open source x86 accelerator module for qemu.
>
> qvm86 is basically a drop-in replacement for kqemu. However is is an
> independent replacement written from scratch by myself, and released under
> the GnNU General Public Licence (GPL).
>
> The CVS repository and mailing list for qvm86 are hosted on savannah:
> http://www.nongnu.org/qvm86/
>
> qvm86 is still in the early stages of development, so I provide no guarantees
> about its reliability. It almost certainly has bugs which could crash your
> machine or cause data corruption. Any assistance identifying and fixing these
> bugs is welcomed ;-)
>
> See the README file in qvm86 CVS for brief instructions how to install. It's
> basically the same procedure as kqemu.
>
> qvm86 currently only works on x86-linux hosts, and has only been tested on
> relatively recent 2.6 kernels with udev installed.
>
> It should be possible to port qvm86 to other x86 hosts (eg. FreeBSD or even
> Windows). I don't have immediate plans for doing such ports, but would
> welcome patches if other people want to do the porting. It may also be
> possible to x86-64 hosts, but I don't know enough details to say how hard
> this would be.
>
> I have successfully booted windows 2000, freebsd and couple of different linux
> guests. Windows 98 guests don't work, but I think I know what's wrong.
>
> Performance depends heavily on the guest wokload. It varies from near-native
> to about the same as normal qemu. For example compiling qemu with gcc is ~5x
> slower than native (normal qemu is ~17x slower). I believe there is sill
> quite a bit of scope for improving performance.
>
> Paul Brook
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-02 23:45 ` Hetz Ben Hamo
@ 2005-04-03 0:30 ` Paul Brook
2005-04-03 0:47 ` Jim C. Brown
1 sibling, 0 replies; 12+ messages in thread
From: Paul Brook @ 2005-04-03 0:30 UTC (permalink / raw)
To: qemu-devel
On Sunday 03 April 2005 00:45, Hetz Ben Hamo wrote:
> Hi Paul,
>
> First - congratulations for your new kernel module. I have few
> questions, if you don't mind:
>
> 1. Have you tested the speed compared to QEMU CVS + kqemu?
No. I expect that kqemu is faster at this stage.
> 2. Which Windows 2000 have you installed? there are few versions of
> the bootable CD's, few of them comes with service packs already
> applied..
My win2k CD is one of the original ones without any service packs. I haven't
tried installing windows under qvm86, only booting existing images.
> 3. Do you plan to make it work with the 2.4.x kernels?
Probably. It's not a particularly high priority, but it shouldn't be that hard
either. I don't currently have any machines with 2.4 kernels, so I'd have to
install one first...
> 4. Have you tried installing it with XP as guest?
No. My XP CD doesn't work in normal qemu (installs OK but gets an activation
error after rebooting), so I haven't tried it.
Paul
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-02 23:45 ` Hetz Ben Hamo
2005-04-03 0:30 ` Paul Brook
@ 2005-04-03 0:47 ` Jim C. Brown
2005-04-03 1:16 ` Paul Brook
1 sibling, 1 reply; 12+ messages in thread
From: Jim C. Brown @ 2005-04-03 0:47 UTC (permalink / raw)
To: qemu-devel
On Sun, Apr 03, 2005 at 01:45:48AM +0200, Hetz Ben Hamo wrote:
> 3. Do you plan to make it work with the 2.4.x kernels?
On Sun, Apr 03, 2005 at 19:32:46 -0500, I wrote:
> Also tested on 2.4 kernels with devfs (works fine).
Actually, no. I just checked out the CVS and the Makefile is missing the 2 lines
which are needed to get qvm86 to compile correctly on 2.4 (despite the fact that
I told pbrook about this twice).
I don't know why he hasn't applied this patch, perhaps he doesn't plan to make
this work with 2.4 after all. Or he just forgot.
--- Makefile.old Sat Apr 2 19:41:33 2005
+++ Makefile Sat Apr 2 19:42:43 2005
@@ -36,6 +36,9 @@
include $(TOPDIR)/Rules.make
+qvm86.o: $(qvm86-objs)
+ $(LD) -r -o $@ $(qvm86-objs)
+
else
# called from 2.6 kernel kbuild
--
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-03 0:47 ` Jim C. Brown
@ 2005-04-03 1:16 ` Paul Brook
2005-04-03 4:31 ` Jim C. Brown
0 siblings, 1 reply; 12+ messages in thread
From: Paul Brook @ 2005-04-03 1:16 UTC (permalink / raw)
To: qemu-devel
On Sunday 03 April 2005 01:47, Jim C. Brown wrote:
> On Sun, Apr 03, 2005 at 01:45:48AM +0200, Hetz Ben Hamo wrote:
> > 3. Do you plan to make it work with the 2.4.x kernels?
>
> On Sun, Apr 03, 2005 at 19:32:46 -0500, I wrote:
> > Also tested on 2.4 kernels with devfs (works fine).
>
> Actually, no. I just checked out the CVS and the Makefile is missing the 2
> lines which are needed to get qvm86 to compile correctly on 2.4 (despite
> the fact that I told pbrook about this twice).
>
> I don't know why he hasn't applied this patch, perhaps he doesn't plan to
> make this work with 2.4 after all. Or he just forgot.
The latter. Fixed now.
Paul
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-03 1:16 ` Paul Brook
@ 2005-04-03 4:31 ` Jim C. Brown
0 siblings, 0 replies; 12+ messages in thread
From: Jim C. Brown @ 2005-04-03 4:31 UTC (permalink / raw)
To: qemu-devel
On Sun, Apr 03, 2005 at 02:16:19AM +0100, Paul Brook wrote:
> > I don't know why he hasn't applied this patch, perhaps he doesn't plan to
> > make this work with 2.4 after all. Or he just forgot.
>
> The latter. Fixed now.
>
> Paul
>
Thanks.
BTW, when I was compiling qvm86, I got an error in qvm86-linux.c about a
<linux/device.h> (which I don't have). Commenting out that line made the
kernel module compile correctly (under 2.4.26).
--
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-02 23:22 [Qemu-devel] Open source qemu x86 accelerator module Paul Brook
2005-04-02 23:45 ` Hetz Ben Hamo
@ 2005-04-03 0:32 ` Jim C. Brown
2005-04-03 7:24 ` Jean-Michel POURE
` (3 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Jim C. Brown @ 2005-04-03 0:32 UTC (permalink / raw)
To: qemu-devel
On Sun, Apr 03, 2005 at 12:22:16AM +0100, Paul Brook wrote:
> qvm86 currently only works on x86-linux hosts, and has only been tested on
> relatively recent 2.6 kernels with udev installed.
Also tested on 2.4 kernels with devfs (works fine).
--
Infinite complexity begets infinite beauty.
Infinite precision begets infinite perfection.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-02 23:22 [Qemu-devel] Open source qemu x86 accelerator module Paul Brook
2005-04-02 23:45 ` Hetz Ben Hamo
2005-04-03 0:32 ` Jim C. Brown
@ 2005-04-03 7:24 ` Jean-Michel POURE
2005-04-03 8:38 ` ML
` (2 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Jean-Michel POURE @ 2005-04-03 7:24 UTC (permalink / raw)
To: qemu-devel
Congratulations, Paul.
Kind regards, Jean-Michel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-02 23:22 [Qemu-devel] Open source qemu x86 accelerator module Paul Brook
` (2 preceding siblings ...)
2005-04-03 7:24 ` Jean-Michel POURE
@ 2005-04-03 8:38 ` ML
2005-04-03 18:58 ` Herbert Poetzl
2005-04-04 5:47 ` Jens Arm
5 siblings, 0 replies; 12+ messages in thread
From: ML @ 2005-04-03 8:38 UTC (permalink / raw)
To: qemu-devel
On 03/04/2005 01:22, Paul Brook wrote:
> qvm86 is still in the early stages of development, so I provide no
> guarantees about its reliability. It almost certainly has bugs which could
> crash your machine or cause data corruption. Any assistance identifying and
> fixing these bugs is welcomed
It actually did crash my Slackware box (kernel 2.6.11.6) and reboot it when
trying to start WinXP.
Couldn't identify though the exact point of the process where the problem occurred.
Ciao,
Piero
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-02 23:22 [Qemu-devel] Open source qemu x86 accelerator module Paul Brook
` (3 preceding siblings ...)
2005-04-03 8:38 ` ML
@ 2005-04-03 18:58 ` Herbert Poetzl
2005-04-04 5:47 ` Jens Arm
5 siblings, 0 replies; 12+ messages in thread
From: Herbert Poetzl @ 2005-04-03 18:58 UTC (permalink / raw)
To: Paul Brook; +Cc: qvm86-devel, qemu-devel
On Sun, Apr 03, 2005 at 12:22:16AM +0100, Paul Brook wrote:
> I'd like to announce qvm86; an open source x86 accelerator module for qemu.
>
> qvm86 is basically a drop-in replacement for kqemu. However is is an
> independent replacement written from scratch by myself, and released under
> the GnNU General Public Licence (GPL).
>
> The CVS repository and mailing list for qvm86 are hosted on savannah:
> http://www.nongnu.org/qvm86/
excellent work!
> qvm86 is still in the early stages of development, so I provide no guarantees
> about its reliability. It almost certainly has bugs which could crash your
> machine or cause data corruption. Any assistance identifying and fixing these
> bugs is welcomed ;-)
is an ioctl interface really the best choice here?
what about a new syscall instead?
I know that might need some changes to qemu too, but
I guess it might increase performance ...
(i.e. lower overhead)
best,
Herbert
> See the README file in qvm86 CVS for brief instructions how to install. It's
> basically the same procedure as kqemu.
>
> qvm86 currently only works on x86-linux hosts, and has only been tested on
> relatively recent 2.6 kernels with udev installed.
>
> It should be possible to port qvm86 to other x86 hosts (eg. FreeBSD or even
> Windows). I don't have immediate plans for doing such ports, but would
> welcome patches if other people want to do the porting. It may also be
> possible to x86-64 hosts, but I don't know enough details to say how hard
> this would be.
>
> I have successfully booted windows 2000, freebsd and couple of different linux
> guests. Windows 98 guests don't work, but I think I know what's wrong.
>
> Performance depends heavily on the guest wokload. It varies from near-native
> to about the same as normal qemu. For example compiling qemu with gcc is ~5x
> slower than native (normal qemu is ~17x slower). I believe there is sill
> quite a bit of scope for improving performance.
>
> Paul Brook
>
>
> _______________________________________________
> Qemu-devel mailing list
> Qemu-devel@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/qemu-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
2005-04-02 23:22 [Qemu-devel] Open source qemu x86 accelerator module Paul Brook
` (4 preceding siblings ...)
2005-04-03 18:58 ` Herbert Poetzl
@ 2005-04-04 5:47 ` Jens Arm
5 siblings, 0 replies; 12+ messages in thread
From: Jens Arm @ 2005-04-04 5:47 UTC (permalink / raw)
To: qemu-devel
Hi Paul
Congratulations on qvm86 !!
I tried it by booting Insert. I dmesg I get:
qvm86: Module loaded
qvm86: Created device 10.61
qvm86: Creating guest VM
qvm86: 59892 7247 12536 1389 811 35264
qvm86:t: 0 5100842 42139
0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:811 8:0 9:0 10:0 11:0 12:0 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 30:0 31:0
qvm86:194711 16777 25669 3525 105 20701
qvm86:t: 2861 678785 44576
0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:103 8:0 9:0 10:0 11:0 12:0 13:2 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 30:0 31:0
qvm86:253100 17016 10065 2321 0 37614
qvm86:t: 2865 7284692 50952
0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 30:0 31:0
Are these numbers errors?
If they are errors Insert is booting, without error :)
Jens
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] Open source qemu x86 accelerator module.
@ 2005-04-14 21:30 James Stone
0 siblings, 0 replies; 12+ messages in thread
From: James Stone @ 2005-04-14 21:30 UTC (permalink / raw)
To: qemu-devel
Just a quick report on how this worked for me.
I am not using devfs or udev, and major device 222 is no longer valid
for /dev/qvm86.. I created the required device number 10.63
As expected, Win98 caused a segfault when using qvm86.
Here is the dmesg output:
qvm86: Created device 10.63
qvm86: Creating guest VM
esp:00002f7c 00082000 fec00000
Unable to handle kernel NULL pointer dereference at virtual address
00000000
printing eip:
e26144b0
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: qvm86 realtime parport_pc lp parport ipt_REDIRECT
ipt_owne pt_LOG ipt_limit ipt_state ipt_multiport iptable_mangle
ip_nat_irc ip_nat_ftp table_nat ip_conntrack_irc ip_conntrack_ftp
ip_conntrack emu10k1_gp snd_bt87x ner bttv video_buf i2c_algo_bit
v4l2_common btcx_risc tveeprom videodev nls_i 859_1 nls_cp437
asb100 i2c_sensor i2c_nforce2 i2c_core usblp usb_storage viso
sbserial sidewinder gameport joydev usbhid sg ide_cd cdrom n_hdlc
ppp_synctty p_generic slhc ehci_hcd ohci_hcd snd_virmidi
snd_seq_virmidi snd_seq_oss snd_ _midi snd_seq_midi_event snd_seq
snd_usb_audio snd_usb_lib usbcore snd_intel8 snd_emu10k1
snd_rawmidi snd_seq_device snd_ac97_codec snd_pcm_oss snd_mixer_o
snd_pcm snd_timer snd_page_alloc snd_util_mem snd_hwdep snd soundcore
nvidia gart forcedeth ipt_REJECT iptable_filter ip_tables
CPU: 0
EIP: 0060:[<e26144b0>] Tainted: P VLI
EFLAGS: 00210286 (2.6.11.6)
EIP is at qvm86_flush_shadow+0xa0/0x160 [qvm86]
eax: dd984000 ebx: 00005000 ecx: e2601000 edx: 00000000
esi: 00000000 edi: 0000000c ebp: 00005000 esp: dd985d80
ds: 007b es: 007b ss: 0068
Process qemu (pid: 4060, threadinfo=dd984000 task=d4303ae0)
Stack: e2601000 046d423c 44a1423c 00000000 00000400 0000000c dd984000
000003f
00000001 36472eb9 dd985ebc c9b00000 e2601000 e2614ce4 e2601000
36472eb
00082000 fec00000 00000000 00000000 dd985e20 c01f7d36
0036472e 000001b
Call Trace:
[<e2614ce4>] qvm86_exec+0x4b4/0x710 [qvm86]
[<c01f7d36>] copy_from_user+0x46/0x90
[<e261339c>] qvm86_linux_ioctl+0xdc/0x140 [qvm86]
[<c0165eaf>] do_ioctl+0x6f/0xa0
[<c01660f5>] vfs_ioctl+0x65/0x1d0
[<c01662c7>] sys_ioctl+0x67/0xa0
[<c01027db>] syscall_call+0x7/0xb
Code: 8b 7c 24 14 89 dd 81 e5 00 f0 ff ff 8b 41 20
8b 34 38 c7 44 24 1c ff 03 00 b8 00 e0 ff
ff 21 e0 89 44 24 18 8d b6 00 00 00 00 <8b> 1e f6
c3 01 75 17 06 00 00 00 00 83 c6 04 83 c5
04 ff 4c
<6>qvm86: Device closed
However, I noticed a significant speed up in performance in qemu
performance running win98 without the module installed.. Must be
something in the patch I suppose, but being somewhat clueless about
these things, I have no idea what. The speed up was in the order of
about 50%: Loading windows under qemu normally takes 30secs. With the
qvm86 patch, it took 20secs. Also performance was noticably more
snappy..
Very nice!
Keep up the good work!
James
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2005-04-14 21:34 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-02 23:22 [Qemu-devel] Open source qemu x86 accelerator module Paul Brook
2005-04-02 23:45 ` Hetz Ben Hamo
2005-04-03 0:30 ` Paul Brook
2005-04-03 0:47 ` Jim C. Brown
2005-04-03 1:16 ` Paul Brook
2005-04-03 4:31 ` Jim C. Brown
2005-04-03 0:32 ` Jim C. Brown
2005-04-03 7:24 ` Jean-Michel POURE
2005-04-03 8:38 ` ML
2005-04-03 18:58 ` Herbert Poetzl
2005-04-04 5:47 ` Jens Arm
-- strict thread matches above, loose matches on Subject: below --
2005-04-14 21:30 James Stone
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).