On Mon, Aug 20, 2012 at 04:48:24PM -0500, Anthony Liguori wrote: > "Daniel P. Berrange" <berra...@redhat.com> writes: > > > From: "Daniel P. Berrange" <berra...@redhat.com> > > > > Add a 'query-target' QAPI command to allow management applications > > to determine what target architecture a QEMU binary is emulating > > without having to parse the binary name or -help output > > > > $ qmp-shell -p /tmp/qemu > > (QEMU) query-target > > { u'return': { u'arch': u'x86_64', u'bits': 64}} > > "bits" is really ambiguous. What it means in QEMU (specifically the > value you are returning) is probably not what you expect it to mean.
My intent was to indicate the pointer word size for the architecture. eg 64 for x86_64, ppc64, etc, and 32 and i686, ppc, etc. Probably should have called it 'wordsize' or something like that > We're going to most likely fix TARGET_PHYS_ADDR_BITS to 64 real soon. Hmm, when I looked at the header in my checkout it already *is* 64 or 32 as I'd expect for the architecture in question. $ grep PHYS_ADDR_BITS */config-target.mak alpha-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 arm-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 cris-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=32 i386-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 lm32-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=32 m68k-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=32 microblazeel-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=32 microblaze-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=32 mips64el-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 mips64-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 mipsel-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 mips-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 ppc64-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 ppcemb-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 ppc-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 s390x-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 sh4eb-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=32 sh4-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=32 sparc64-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 sparc-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 x86_64-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=64 xtensaeb-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=32 xtensa-softmmu/config-target.mak:TARGET_PHYS_ADDR_BITS=32 > Why did you include this field? What information are you looking to get > from QEMU and what decisions do you plan to make with it? When libvirt reports the host capabilities it includes the architecture name and wordsize, amongst other things: # virsh capabilities ....snip... <guest> <os_type>hvm</os_type> <arch name='arm'> <wordsize>32</wordsize> <emulator>/bin/qemu-system-arm</emulator> ... Currently we just have a table of arch name -> wordsize mapping data in libvirt. I figured if I was adding a 'query-target' command to QEMU, we might as well include this info too. It is not critical though if you'd rather we omitted it though. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|