Re: [libvirt] Patch to include arm variants in virsh capabilities

On Wed, Jul 01, 2009 at 11:02:16AM -0700, C.J. Adams-Collier wrote:
Hey folks,
I got an android and wanted to set up an armel debian vm to test out some code. I had to launch it directly with qemu-system-arm, though, since virsh didn't have an arm option to select.
This is a patch against the debian version of the source after applying debian-specific changes. If you'd like a patch against mainline, I'd be willing to do that.
Well, this list is really about upstream patches not distro specific ones,
I just verified that it applies cleanly against CVS.
and I could not access said patch [1].
That is weird. I hope it was just a fluke! Attached.
Send a patch against the latest version or CVS/git as an mail attachemnt and we will try to add it.
Alrighty. I see that the mips machines are separated into 'mips' and 'mipsel'. I don't know anything about the endian-ness of the various machines (aside from versatilepb, which is little), so I just left them all in the generic qemu_arch_info.arch="arm" table entry.
Daniel
Cheers, C.J.
[1] the server seems down I got an HTTP request timeout.
hurm... I'm getting hits at least hourly from a site revproxied by the same host ( http://wp.colliertech.org/cj/ ) - perhaps it was a coincidental outage (*shakes fist at comcast*)?
-- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel <at> veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

On Thu, Jul 02, 2009 at 10:01:29AM -0700, C.J. Adams-Collier wrote:
On Wed, Jul 01, 2009 at 11:02:16AM -0700, C.J. Adams-Collier wrote:
Hey folks,
I got an android and wanted to set up an armel debian vm to test out some code. I had to launch it directly with qemu-system-arm, though, since virsh didn't have an arm option to select.
This is a patch against the debian version of the source after applying debian-specific changes. If you'd like a patch against mainline, I'd be willing to do that.
Well, this list is really about upstream patches not distro specific ones,
I just verified that it applies cleanly against CVS.
and I could not access said patch [1].
That is weird. I hope it was just a fluke! Attached.
Send a patch against the latest version or CVS/git as an mail attachemnt and we will try to add it.
Alrighty. I see that the mips machines are separated into 'mips' and 'mipsel'. I don't know anything about the endian-ness of the various machines (aside from versatilepb, which is little), so I just left them all in the generic qemu_arch_info.arch="arm" table entry.
The reason the mips ones are separate, is that it had 2 separate qemu binaries for each. If arm is all done by one binary what you have is fine.
--- ../libvirt-0.6.1/src/qemu_conf.c 2009-06-30 13:06:17.000000000 -0700 +++ src/qemu_conf.c 2009-06-30 20:06:33.000000000 -0700 @@ -170,6 +170,12 @@ static const char *const arch_info_hvm_x86_machines[] = { "pc", "isapc" }; +static const char *const arch_info_hvm_arm_machines[] = { + "integratorcp","versatilepb","versatileab","realview", + "akita","spitz","borzoi","terrier","sx1-v1","sx1", + "cheetah","n800","n810","lm3s811evb","lm3s6965evb", + "connex","verdex","mainstone","musicpal","tosa", +}; static const char *const arch_info_hvm_mips_machines[] = { "mips" }; @@ -220,6 +226,8 @@ "/usr/bin/qemu", "/usr/bin/qemu-system-x86_64", arch_info_i686_flags, 4 }, { "x86_64", 64, arch_info_hvm_x86_machines, 2, "/usr/bin/qemu-system-x86_64", NULL, arch_info_x86_64_flags, 2 }, + { "arm", 32, arch_info_hvm_arm_machines, 20, + "/usr/bin/qemu-system-arm", NULL, NULL, 0 }, { "mips", 32, arch_info_hvm_mips_machines, 1, "/usr/bin/qemu-system-mips", NULL, NULL, 0 }, { "mipsel", 32, arch_info_hvm_mips_machines, 1,
ACK, NB, the first machine type listed is the default, so in this case users will get 'intergratorcp' by default unless requesting something different. If this isn't what you expect then re-arrange the order for best default Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Thu, 2009-07-02 at 18:27 +0100, Daniel P. Berrange wrote:
The reason the mips ones are separate, is that it had 2 separate qemu binaries for each. If arm is all done by one binary what you have is fine.
Yep, they're all handled with qemu-system-arm
--- ../libvirt-0.6.1/src/qemu_conf.c 2009-06-30 13:06:17.000000000 -0700 +++ src/qemu_conf.c 2009-06-30 20:06:33.000000000 -0700 @@ -170,6 +170,12 @@ static const char *const arch_info_hvm_x86_machines[] = { "pc", "isapc" }; +static const char *const arch_info_hvm_arm_machines[] = { + "integratorcp","versatilepb","versatileab","realview", + "akita","spitz","borzoi","terrier","sx1-v1","sx1", + "cheetah","n800","n810","lm3s811evb","lm3s6965evb", + "connex","verdex","mainstone","musicpal","tosa", +}; static const char *const arch_info_hvm_mips_machines[] = { "mips" }; @@ -220,6 +226,8 @@ "/usr/bin/qemu", "/usr/bin/qemu-system-x86_64", arch_info_i686_flags, 4 }, { "x86_64", 64, arch_info_hvm_x86_machines, 2, "/usr/bin/qemu-system-x86_64", NULL, arch_info_x86_64_flags, 2 }, + { "arm", 32, arch_info_hvm_arm_machines, 20, + "/usr/bin/qemu-system-arm", NULL, NULL, 0 }, { "mips", 32, arch_info_hvm_mips_machines, 1, "/usr/bin/qemu-system-mips", NULL, NULL, 0 }, { "mipsel", 32, arch_info_hvm_mips_machines, 1,
ACK,
NB, the first machine type listed is the default, so in this case users will get 'intergratorcp' by default unless requesting something different. If this isn't what you expect then re-arrange the order for best default
Alrighty. I use 'versatilepb', so I've put it at the head of the list in the attached patch.
Daniel
Cheers, C.J.

On Thu, Jul 02, 2009 at 10:40:27AM -0700, C.J. Adams-Collier wrote:
On Thu, 2009-07-02 at 18:27 +0100, Daniel P. Berrange wrote:
--- ../libvirt-0.6.1/src/qemu_conf.c 2009-06-30 13:06:17.000000000 -0700 +++ src/qemu_conf.c 2009-06-30 20:06:33.000000000 -0700 @@ -170,6 +170,12 @@ static const char *const arch_info_hvm_x86_machines[] = { "pc", "isapc" }; +static const char *const arch_info_hvm_arm_machines[] = { + "versatilepb","integratorcp","versatileab","realview", + "akita","spitz","borzoi","terrier","sx1-v1","sx1", + "cheetah","n800","n810","lm3s811evb","lm3s6965evb", + "connex","verdex","mainstone","musicpal","tosa", +}; static const char *const arch_info_hvm_mips_machines[] = { "mips" }; @@ -220,6 +226,8 @@ "/usr/bin/qemu", "/usr/bin/qemu-system-x86_64", arch_info_i686_flags, 4 }, { "x86_64", 64, arch_info_hvm_x86_machines, 2, "/usr/bin/qemu-system-x86_64", NULL, arch_info_x86_64_flags, 2 }, + { "arm", 32, arch_info_hvm_arm_machines, 20, + "/usr/bin/qemu-system-arm", NULL, NULL, 0 }, { "mips", 32, arch_info_hvm_mips_machines, 1, "/usr/bin/qemu-system-mips", NULL, NULL, 0 }, { "mipsel", 32, arch_info_hvm_mips_machines, 1,
ACK Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Thu, Jul 02, 2009 at 10:40:27AM -0700, C.J. Adams-Collier wrote:
On Thu, 2009-07-02 at 18:27 +0100, Daniel P. Berrange wrote: Alrighty. I use 'versatilepb', so I've put it at the head of the list in the attached patch.
Daniel
Cheers,
C.J.
--- ../libvirt-0.6.1/src/qemu_conf.c 2009-06-30 13:06:17.000000000 -0700 +++ src/qemu_conf.c 2009-06-30 20:06:33.000000000 -0700 @@ -170,6 +170,12 @@ static const char *const arch_info_hvm_x86_machines[] = { "pc", "isapc" }; +static const char *const arch_info_hvm_arm_machines[] = { + "versatilepb","integratorcp","versatileab","realview", + "akita","spitz","borzoi","terrier","sx1-v1","sx1", + "cheetah","n800","n810","lm3s811evb","lm3s6965evb", + "connex","verdex","mainstone","musicpal","tosa", +}; static const char *const arch_info_hvm_mips_machines[] = { "mips" }; @@ -220,6 +226,8 @@ "/usr/bin/qemu", "/usr/bin/qemu-system-x86_64", arch_info_i686_flags, 4 }, { "x86_64", 64, arch_info_hvm_x86_machines, 2, "/usr/bin/qemu-system-x86_64", NULL, arch_info_x86_64_flags, 2 }, + { "arm", 32, arch_info_hvm_arm_machines, 20, + "/usr/bin/qemu-system-arm", NULL, NULL, 0 }, { "mips", 32, arch_info_hvm_mips_machines, 1, "/usr/bin/qemu-system-mips", NULL, NULL, 0 }, { "mipsel", 32, arch_info_hvm_mips_machines, 1,
Okidoc, and since I don't see how this could generate a regression, I commited this no need to wait after 0.6.5 thanks ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

do you want the rest? $ for i in `dpkg -L qemu | grep -i bin/qemu-system` ; do echo ; echo "--- $i ---"; $i -M ?; done --- /usr/bin/qemu-system-arm --- Supported machines are: integratorcp ARM Integrator/CP (ARM926EJ-S) (default) versatilepb ARM Versatile/PB (ARM926EJ-S) versatileab ARM Versatile/AB (ARM926EJ-S) realview ARM RealView Emulation Baseboard (ARM926EJ-S) akita Akita PDA (PXA270) spitz Spitz PDA (PXA270) borzoi Borzoi PDA (PXA270) terrier Terrier PDA (PXA270) sx1-v1 Siemens SX1 (OMAP310) V1 sx1 Siemens SX1 (OMAP310) V2 cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310) n800 Nokia N800 tablet aka. RX-34 (OMAP2420) n810 Nokia N810 tablet aka. RX-44 (OMAP2420) lm3s811evb Stellaris LM3S811EVB lm3s6965evb Stellaris LM3S6965EVB connex Gumstix Connex (PXA255) verdex Gumstix Verdex (PXA270) mainstone Mainstone II (PXA27x) musicpal Marvell 88w8618 / MusicPal (ARM926EJ-S) tosa Tosa PDA (PXA255) --- /usr/bin/qemu-system-cris --- Supported machines are: bareetraxfs Bare ETRAX FS board (default) axis-dev88 AXIS devboard 88 --- /usr/bin/qemu-system-i386 --- Supported machines are: pc Standard PC (default) isapc ISA-only PC --- /usr/bin/qemu-system-m68k --- Supported machines are: mcf5208evb MCF5206EVB (default) an5206 Arnewsh 5206 dummy Dummy board --- /usr/bin/qemu-system-mips --- Supported machines are: malta MIPS Malta Core LV (default) magnum MIPS Magnum pica61 Acer Pica 61 mipssim MIPS MIPSsim platform mips mips r4k platform --- /usr/bin/qemu-system-mipsel --- Supported machines are: malta MIPS Malta Core LV (default) magnum MIPS Magnum pica61 Acer Pica 61 mipssim MIPS MIPSsim platform mips mips r4k platform --- /usr/bin/qemu-system-mips64 --- Supported machines are: malta MIPS Malta Core LV (default) magnum MIPS Magnum pica61 Acer Pica 61 mipssim MIPS MIPSsim platform mips mips r4k platform --- /usr/bin/qemu-system-mips64el --- Supported machines are: malta MIPS Malta Core LV (default) magnum MIPS Magnum pica61 Acer Pica 61 mipssim MIPS MIPSsim platform mips mips r4k platform --- /usr/bin/qemu-system-ppc --- Supported machines are: g3beige Heathrow based PowerMAC (default) mac99 Mac99 based PowerMAC prep PowerPC PREP platform ref405ep ref405ep taihu taihu bamboo bamboo mpc8544ds mpc8544ds --- /usr/bin/qemu-system-ppcemb --- Supported machines are: g3beige Heathrow based PowerMAC (default) mac99 Mac99 based PowerMAC prep PowerPC PREP platform ref405ep ref405ep taihu taihu bamboo bamboo mpc8544ds mpc8544ds --- /usr/bin/qemu-system-ppc64 --- Supported machines are: g3beige Heathrow based PowerMAC (default) mac99 Mac99 based PowerMAC prep PowerPC PREP platform ref405ep ref405ep taihu taihu bamboo bamboo mpc8544ds mpc8544ds --- /usr/bin/qemu-system-sh4 --- Supported machines are: shix shix card (default) r2d r2d-plus board --- /usr/bin/qemu-system-sh4eb --- Supported machines are: shix shix card (default) r2d r2d-plus board --- /usr/bin/qemu-system-sparc --- Supported machines are: SS-5 Sun4m platform, SPARCstation 5 (default) SS-10 Sun4m platform, SPARCstation 10 SS-600MP Sun4m platform, SPARCserver 600MP SS-20 Sun4m platform, SPARCstation 20 SS-2 Sun4c platform, SPARCstation 2 Voyager Sun4m platform, SPARCstation Voyager LX Sun4m platform, SPARCstation LX SS-4 Sun4m platform, SPARCstation 4 SPARCClassic Sun4m platform, SPARCClassic SPARCbook Sun4m platform, SPARCbook SS-1000 Sun4d platform, SPARCserver 1000 SS-2000 Sun4d platform, SPARCcenter 2000 --- /usr/bin/qemu-system-sparc64 --- Supported machines are: sun4u Sun4u platform (default) sun4v Sun4v platform Niagara Sun4v platform, Niagara --- /usr/bin/qemu-system-x86_64 --- Supported machines are: pc Standard PC (default) isapc ISA-only PC On Fri, 2009-07-03 at 15:16 +0200, Daniel Veillard wrote:
On Thu, Jul 02, 2009 at 10:40:27AM -0700, C.J. Adams-Collier wrote:
On Thu, 2009-07-02 at 18:27 +0100, Daniel P. Berrange wrote: Alrighty. I use 'versatilepb', so I've put it at the head of the list in the attached patch.
Daniel
Cheers,
C.J.
--- ../libvirt-0.6.1/src/qemu_conf.c 2009-06-30 13:06:17.000000000 -0700 +++ src/qemu_conf.c 2009-06-30 20:06:33.000000000 -0700 @@ -170,6 +170,12 @@ static const char *const arch_info_hvm_x86_machines[] = { "pc", "isapc" }; +static const char *const arch_info_hvm_arm_machines[] = { + "versatilepb","integratorcp","versatileab","realview", + "akita","spitz","borzoi","terrier","sx1-v1","sx1", + "cheetah","n800","n810","lm3s811evb","lm3s6965evb", + "connex","verdex","mainstone","musicpal","tosa", +}; static const char *const arch_info_hvm_mips_machines[] = { "mips" }; @@ -220,6 +226,8 @@ "/usr/bin/qemu", "/usr/bin/qemu-system-x86_64", arch_info_i686_flags, 4 }, { "x86_64", 64, arch_info_hvm_x86_machines, 2, "/usr/bin/qemu-system-x86_64", NULL, arch_info_x86_64_flags, 2 }, + { "arm", 32, arch_info_hvm_arm_machines, 20, + "/usr/bin/qemu-system-arm", NULL, NULL, 0 }, { "mips", 32, arch_info_hvm_mips_machines, 1, "/usr/bin/qemu-system-mips", NULL, NULL, 0 }, { "mipsel", 32, arch_info_hvm_mips_machines, 1,
Okidoc, and since I don't see how this could generate a regression, I commited this no need to wait after 0.6.5
thanks !
Daniel
participants (3)
-
C.J. Adams-Collier
-
Daniel P. Berrange
-
Daniel Veillard