[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [QUESTION] x86_64 -> i386/i686 CPU translation between xl and qemu binary?



Hi Andrew,

I don't know enough on the internals of xen / qemu here - however, based on
what you said, an x86_64 OS with >4Gb memory should boot via xl - however in
my case here it fails to start up:

-------------------------------------------------------------

[root@mynas-s5000xvn ~]# xl -vvvv create /etc/xen/config/Windows_2008_R2.cfg

Parsing config from /etc/xen/config/Windows_2008_R2.cfg
libxl: debug: libxl_create.c:1560:do_domain_create: ao 0x735690: create:
how=(nil) callback=(nil) poller=0x734b70
libxl: debug: libxl_device.c:269:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:298:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
libxl: debug: libxl_device.c:269:libxl__device_disk_set_backend: Disk
vdev=hdc spec.backend=unknown
libxl: debug: libxl_device.c:298:libxl__device_disk_set_backend: Disk
vdev=hdc, using backend phy
libxl: debug: libxl_create.c:945:initiate_domain_create: running bootloader
libxl: debug: libxl_bootloader.c:324:libxl__bootloader_run: not a PV domain,
skipping bootloader
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0x736078: deregister unregistered
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x5b3a4
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x15b3a4
xc: detail: VIRTUAL MEMORY ARRANGEMENT:
xc: detail:   Loader:   0000000000100000->000000000015b3a4
xc: detail:   Modules:  0000000000000000->0000000000000000
xc: detail:   TOTAL:    0000000000000000->000000017f000000
xc: detail:   ENTRY:    0000000000100600
xc: detail: PHYSICAL MEMORY ALLOCATION:
xc: detail:   4KB PAGES: 0x0000000000000200
xc: detail:   2MB PAGES: 0x00000000000005f7
xc: detail:   1GB PAGES: 0x0000000000000003
xc: detail: elf_load_binary: phdr 0 at 0x7efc906d7000 -> 0x7efc90728910
xc: error: Could not clear special pages (22 = Invalid argument): Internal
error
libxl: error: libxl_dom.c:1003:libxl__build_hvm: hvm building failed
libxl: error: libxl_create.c:1142:domcreate_rebuild_done: cannot (re-)build
domain: -3
libxl: error: libxl_dm.c:1956:kill_device_model: unable to find device model
pid in /local/domain/11/image/device-model-pid
libxl: error: libxl.c:1628:libxl__destroy_domid: libxl__destroy_device_model
failed for 11
libxl: debug: libxl.c:1719:devices_destroy_cb: forked pid 18569 for destroy
of domain 11
libxl: debug: libxl_create.c:1583:do_domain_create: ao 0x735690: inprogress:
poller=0x734b70, flags=i
libxl: debug: libxl_event.c:1874:libxl__ao_complete: ao 0x735690: complete,
rc=-3
libxl: debug: libxl_event.c:1843:libxl__ao__destroy: ao 0x735690: destroy
libxl: debug: libxl.c:1458:libxl_domain_destroy: ao 0x734bc0: create:
how=(nil) callback=(nil) poller=0x734b70
libxl: error: libxl.c:1591:libxl__destroy_domid: non-existant domain 11
libxl: error: libxl.c:1549:domain_destroy_callback: unable to destroy guest
with domid 11
libxl: error: libxl.c:1476:domain_destroy_cb: destruction of domain 11
failed
libxl: debug: libxl_event.c:1874:libxl__ao_complete: ao 0x734bc0: complete,
rc=-21
libxl: debug: libxl.c:1467:libxl_domain_destroy: ao 0x734bc0: inprogress:
poller=0x734b70, flags=ic
libxl: debug: libxl_event.c:1843:libxl__ao__destroy: ao 0x734bc0: destroy
xc: debug: hypercall buffer: total allocations:851 total releases:851
xc: debug: hypercall buffer: current allocations:0 maximum allocations:3
xc: debug: hypercall buffer: cache current size:3
xc: debug: hypercall buffer: cache hits:841 misses:3 toobig:7
[root@mynas-s5000xvn ~]#

-------------------------------------------------------------

Guest Config:
=============

-------------------------------------------------------------

builder='hvm'
memory = 6144
shadow_memory = 8
uuid = '27f4787c-89b2-46ab-a797-96ea6e84c511'
name = 'Windows_2008_R2'
vif = [ 'bridge=br0, mac=00:16:3e:96:49:10' ]
disk = [
'/dev/zvol/storage0/xen/Windows_2008_R2/disk_sda,,hda','/storage0/data-share
s/iso/en_windows_server_2008_r2_standard_enterprise_datacenter_and_web_x64_d
vd_x15-59754.iso,,hdc,cdrom' ]
# boot on floppy (a), hard disk (c) or CD-ROM (d)
# default: hard disk, cd-rom, floppy
boot='dc'
sdl=0
vnc=1
vncconsole=1
vnclisten='0.0.0.0'
stdvga=1
serial='pty'
usbdevice='tablet'
vncpasswd='bpC7fKtsDy'
vncdisplay=2
localtime=1
audio='1'
soundhw='ac97'

-------------------------------------------------------------

xl info

-------------------------------------------------------------
host                   : mynas-s5000xvn.localdomain
release                : 4.3.4-1.el6.x86_64
version                : #1 SMP Wed Jan 27 13:05:22 EST 2016
machine                : x86_64
nr_cpus                : 8
max_cpu_id             : 7
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 1861
hw_caps                :
bfebfbff:20100800:00000000:00000900:0004e3bd:00000000:00000001:00000000
virt_caps              : hvm
total_memory           : 8165
free_memory            : 7046
sharing_freed_memory   : 0
sharing_used_memory    : 0
outstanding_claims     : 0
free_cpus              : 0
xen_major              : 4
xen_minor              : 6
xen_extra              : .0
xen_version            : 4.6.0
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32
hvm-3.0-x86_32p hvm-3.0-x86_64 
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : 
xen_commandline        : dom0_mem=1024M,max:1024M cpufreq=xen
dom0_max_vcpus=1 dom0_vcpus_pin
cc_compiler            : gcc (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1)
cc_compile_by          : mockbuild
cc_compile_domain      : mynas.com.au
cc_compile_date        : Fri Jan 29 12:39:55 EST 2016
xend_config_format     : 4
-------------------------------------------------------------


Best regards,

Alex


-----Original Message-----
From: Andrew Cooper [mailto:amc96@xxxxxxxxxxxxxxxx] On Behalf Of Andrew
Cooper
Sent: Friday, 5 February 2016 9:22 AM
To: Alex Braunegg; xen-devel@xxxxxxxxxxxxx
Subject: Re: [Xen-devel] [QUESTION] x86_64 -> i386/i686 CPU translation
between xl and qemu binary?

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.

~Andrew


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.