All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Steven Haigh <netwiz@crc.id.au>
Cc: Alex Braunegg <alex.braunegg@gmail.com>, xen-devel@lists.xen.org
Subject: Re: [QUESTION] x86_64 -> i386/i686 CPU translation between xl and qemu binary?
Date: Fri, 5 Feb 2016 00:12:15 +0000	[thread overview]
Message-ID: <56B3E8DF.2050805@citrix.com> (raw)
In-Reply-To: <37b9c5a5ce090206990842778b8f6eef@crc.id.au>

On 04/02/2016 23:14, Steven Haigh wrote:
> On 2016-02-05 09:22, Andrew Cooper wrote:
>> On 04/02/2016 22:06, Alex Braunegg wrote:
>>> root     30511 46.4  0.1 398728  1860 ?        RLsl 08:47   0:27
>>> /usr/lib/xen/bin/qemu-system-i386 -xen-domid 6 -chardev
>>> socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-6,server,n
>>> owait -no-shutdown -mon chardev=libxl-cmd,mode=control -chardev
>>> socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-6,server,nowait
>>>
>>> -mon chardev=libxenstat-cmd,mode=control
>>> -nodefaults -name test2 -vnc
>>> 0.0.0.0:0,websocket,x509=/etc/pki/xen,password,to=99 -display none
>>> -serial
>>> pty -device VGA,vgamem_mb=16 -boot order=cd -usb -usbdevice tablet
>>> -soundhw
>>>  ac97 -device rtl8139,id=nic0,netdev=net0,mac=00:16:3e:f1:48:8c -netdev
>>> type=tap,id=net0,ifname=vif6.0-emu,script=no,downscript=no -machine
>>> xenfv -m
>>> 496 -drive file=/dev/zvol/stor
>>> age0/xen/test2/disk_sda,if=ide,index=0,media=disk,format=raw,cache=writeback
>>>
>>> -drive
>>> file=/storage0/data-shares/iso/CentOS-6.5-x86_64-minimal.iso,if=ide,index=2,
>>>
>>> readonly=on,media=c
>>> drom,format=raw,cache=writeback,id=ide-5632
>>>
>>> ------------------------------------------
>>>
>>> So - to me it appears that xl is performing some sort of x86_64 ->
>>> i386/i686
>>> instruction translation to make things work.
>>>
>>> Would this not be introducing a performance impediment by having
>>> some sort
>>> of extra translation processing going on between xl and the qemu
>>> binary?
>>
>> Qemu is only used for device emulation when used with Xen, not CPU
>> emulation.
>>
>> The "-machine xenfv" tells this to Qemu, and "-xen-domid 6" tells it
>> which Xen domain to connect to.
>>
>> All HVM domains run with hardware virtualisation extensions, which are
>> managed by Xen itself.
>
> Hi Andrew,
>
> Thanks for this response - to ensure I have this correct, there is no
> need for qemu-upstream to build qemu-system-x86_64 as the CPU is
> directly handled by Xen and not by qemu

Correct.

> - thereby passing through the capabilities of the CPU directly to the
> guest. As such, as long as qemu starts on a 64 bit machine it will be
> able to run 64 bit OS/kernel etc.

Incorrect.  A 32bit Qemu is perfectly able to emulate devices for a
64bit OS.

The ABI of the emulated devices is not tied to the running width of Qemu
or the OS.

>
> I ask this as I see a number of qemu packages that do include
> qemu-system-x86_64 as well as qemu-system-i386 - which makes me seek
> clarification. I would assume that these are just not built to use Xen
> as the hypervisor for hardware acceleration?
>

This will just be down to the choice of the person who packaged qemu for
a particular distro.

~Andrew

  reply	other threads:[~2016-02-05  0:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-04 22:06 [QUESTION] x86_64 -> i386/i686 CPU translation between xl and qemu binary? Alex Braunegg
2016-02-04 22:22 ` Andrew Cooper
2016-02-04 23:14   ` Steven Haigh
2016-02-05  0:12     ` Andrew Cooper [this message]
2016-02-05  9:56       ` Ian Campbell
2016-02-04 23:44   ` Alex Braunegg
2016-02-05  0:04     ` Andrew Cooper
2016-02-05  0:18       ` Alex Braunegg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56B3E8DF.2050805@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=alex.braunegg@gmail.com \
    --cc=netwiz@crc.id.au \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.