On 03/22/2011 03:47 PM, Anthony PERARD wrote:
On Tue, Mar 22, 2011 at 14:23, Alexander Graf<ag...@suse.de>  wrote:
On 03/01/2011 07:35 PM, anthony.per...@citrix.com wrote:
From: Anthony PERARD<anthony.per...@citrix.com>

Hi all,

Here is the few change since the V10:

   - Add braces for blocks with single statement in the clean-up patch;
   - the patch that builds Xen only for x86 have been removed, instead,
     xen_domainbuild is built with libhw and other Xen files are built for
i386
     target only;
   - the redirection structure with function pointer have been removed,
instead,
     there are few #define or static inline function use for the
compatibility;
ARGH!

The point of the redirection structure was so I can plug in with xenner and
replace all the xen calls with in-qemu versions. If you remove it, I'll have
to put it back in in the xenner patch set :(.

We need some sort of abstraction between calling xs_ functions and actually
calling them. Wrapping all xs_ calls in static inlines would be fine for
that, as would the indirect calling table.
As my series doesn't change a lot of things in the xen code, I think
it is better than you put it back in your patch set.

Hrm. This is on a SLES11SP1 system w/ Xen 4.0.1.


Alex


agraf@toonie:/dev/shm> git clone git://xenbits.xen.org/people/aperard/qemu-dm.git
Initialized empty Git repository in /dev/shm/qemu-dm/.git/
remote: Counting objects: 74570, done.
remote: Compressing objects: 100% (15699/15699), done.
remote: Total 74570 (delta 59960), reused 73357 (delta 58769)
Receiving objects: 100% (74570/74570), 22.24 MiB | 1296 KiB/s, done.
Resolving deltas: 100% (59960/59960), done.
agraf@toonie:/dev/shm/qemu-dm> git checkout origin/qemu-dm-v11
Note: moving to "origin/qemu-dm-v11" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
  git checkout -b <new_branch_name>
HEAD is now at 47d548f... xen: Add Xen hypercall for sleep state in the cmos_s3 callback.
agraf@toonie:/dev/shm/qemu-dm> ./configure --target-list=x86_64-softmmu
make -j
Install prefix    /usr/local
BIOS directory    /usr/local/share/qemu
binary directory  /usr/local/bin
config directory  /usr/local/etc
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /dev/shm/qemu-dm
C compiler        gcc
Host C compiler   gcc
CFLAGS            -O2 -g
QEMU_CFLAGS -Werror -m64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wendif-labels -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fstack-protector-all -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits
LDFLAGS           -Wl,--warn-common -m64 -g
make              make
install           install
host CPU          x86_64
host big endian   no
target list       x86_64-softmmu
tcg debug enabled no
Mon debug enabled no
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
-Werror enabled   yes
SDL support       yes
curses support    yes
curl support      yes
check support     no
mingw32 support   no
Audio drivers     oss
Extra audio cards ac97 es1370 sb16 hda
Block whitelist
Mixer emulation   no
VNC TLS support   no
VNC SASL support  no
VNC JPEG support  yes
VNC PNG support   yes
VNC thread        no
xen support       yes
brlapi support    no
bluez  support    no
Documentation     yes
NPTL support      yes
GUEST_BASE        yes
PIE user targets  no
vde support       no
IO thread         no
Linux AIO support no
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
fdt support       no
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
uuid support      yes
vhost-net support no
Trace backend     nop
Trace output file trace-<pid>
spice support     no
rbd support       no
xfsctl support    no
agraf@toonie:/dev/shm/qemu-dm> make -j
  GEN   x86_64-softmmu/config-devices.mak
  GEN   config-all-devices.mak
  GEN   qemu-options.texi
  GEN   qemu-img-cmds.texi
  GEN   qemu-monitor.texi
  GEN   qemu-nbd.8
  GEN   qemu-tech.html
  GEN   config-host.h
  GEN   QMP/qmp-commands.txt
  GEN   trace.h
  GEN   qemu-options.def
  GEN   trace.c
  GEN   qemu-img-cmds.h
  GEN   qemu-img.1
  AS    optionrom/multiboot.o
  AS    optionrom/linuxboot.o
  Building optionrom/linuxboot.img
  Building optionrom/multiboot.img
  Building optionrom/linuxboot.raw
  Building optionrom/multiboot.raw
  Signing optionrom/multiboot.bin
  Signing optionrom/linuxboot.bin
  GEN   qemu-doc.html
  GEN   qemu.1
  CC    qemu-nbd.o
  CC    qemu-tool.o
  CC    qemu-error.o
  CC    osdep.o
  CC    oslib-posix.o
  CC    trace.o
  CC    cutils.o
  CC    qemu-option.o
  CC    module.o
  CC    nbd.o
  CC    block.o
  CC    qemu-malloc.o
  CC    cache-utils.o
  CC    aio.o
  CC    aes.o
  CC    qemu-config.o
  CC    posix-aio-compat.o
  CC    block/raw.o
  CC    block/cow.o
  CC    block/qcow.o
  CC    block/vdi.o
  CC    block/vmdk.o
  CC    block/cloop.o
  CC    block/dmg.o
  CC    block/bochs.o
  CC    block/vpc.o
  CC    block/vvfat.o
  CC    block/qcow2.o
  CC    block/qcow2-refcount.o
  CC    block/qcow2-cluster.o
  CC    block/qcow2-snapshot.o
  CC    block/qcow2-cache.o
  CC    block/qed.o
  CC    block/qed-gencb.o
  CC    block/qed-l2-cache.o
  CC    block/qed-table.o
  CC    block/qed-cluster.o
  CC    block/qed-check.o
  CC    block/parallels.o
  CC    block/nbd.o
  CC    block/blkdebug.o
  CC    block/sheepdog.o
  CC    block/blkverify.o
  CC    block/raw-posix.o
  CC    block/curl.o
  CC    qint.o
  CC    qstring.o
  CC    qdict.o
  CC    qlist.o
  CC    qfloat.o
  CC    qbool.o
  CC    qjson.o
  CC    json-lexer.o
  CC    json-streamer.o
  CC    json-parser.o
  CC    qerror.o
  CC    qemu-timer-common.o
  CC    qemu-img.o
  CC    qemu-io.o
  CC    cmd.o
  CC    blockdev.o
  CC    net.o
  CC    libhw64/vl.o
  CC    libhw64/virtio.o
  CC    libhw64/loader.o
  CC    net/queue.o
  CC    libhw64/virtio-console.o
  CC    libhw64/fw_cfg.o
  CC    net/checksum.o
  CC    net/util.o
  CC    libhw64/pci.o
  CC    net/socket.o
  CC    libhw64/pci_bridge.o
  CC    libhw64/msix.o
  CC    net/dump.o
  CC    libhw64/msi.o
  CC    libhw64/pci_host.o
  CC    libhw64/pcie_host.o
  CC    libhw64/ioh3420.o
  CC    net/tap.o
  CC    libhw64/xio3130_upstream.o
  CC    net/tap-linux.o
  CC    fsdev/qemu-fsdev.o
  CC    net/slirp.o
  CC    libhw64/xio3130_downstream.o
  CC    libhw64/watchdog.o
  CC    libhw64/serial.o
  CC    libhw64/parallel.o
  CC    readline.o
  CC    console.o
  CC    libhw64/i8254.o
  CC    libhw64/pcspk.o
  CC    cursor.o
  CC    libhw64/pckbd.o
  CC    async.o
  CC    os-posix.o
  CC    tcg-runtime.o
  CC    host-utils.o
  CC    irq.o
  CC    libhw64/usb-uhci.o
  CC    libhw64/usb-ohci.o
  CC    ioport.o
  CC    libhw64/fdc.o
  CC    libhw64/acpi.o
  CC    libhw64/acpi_piix4.o
  CC    input.o
  CC    libhw64/pm_smbus.o
  CC    libhw64/apm.o
  CC    i2c.o
  CC    libhw64/dma.o
  CC    smbus.o
  CC    libhw64/hpet.o
  CC    smbus_eeprom.o
  CC    libhw64/applesmc.o
  CC    eeprom93xx.o
  CC    libhw64/wdt_i6300esb.o
  CC    scsi-disk.o
  CC    libhw64/pcie.o
  CC    cdrom.o
  CC    scsi-generic.o
  CC    libhw64/pcie_aer.o
  CC    libhw64/pcie_port.o
  CC    scsi-bus.o
  CC    usb.o
  CC    libhw64/ne2000.o
  CC    usb-hub.o
  CC    usb-linux.o
  CC    libhw64/eepro100.o
  CC    usb-hid.o
  CC    usb-msd.o
  CC    usb-wacom.o
  CC    libhw64/pcnet-pci.o
  CC    usb-serial.o
  CC    usb-net.o
  CC    libhw64/pcnet.o
  CC    usb-bus.o
  CC    usb-desc.o
  CC    libhw64/e1000.o
  CC    libhw64/rtl8139.o
  CC    bt.o
  CC    libhw64/ne2000-isa.o
  CC    libhw64/ide/core.o
  CC    libhw64/ide/qdev.o
  CC    bt-host.o
  CC    libhw64/ide/pci.o
  CC    bt-vhci.o
  CC    libhw64/ide/isa.o
  CC    bt-l2cap.o
  CC    bt-sdp.o
  CC    libhw64/ide/piix.o
  CC    bt-hci.o
  CC    bt-hid.o
  CC    usb-bt.o
  CC    libhw64/ide/ahci.o
  CC    bt-hci-csr.o
  CC    buffered_file.o
  CC    libhw64/ide/ich.o
  CC    migration.o
  CC    migration-tcp.o
  CC    qemu-sockets.o
  CC    libhw64/lsi53c895a.o
  CC    qemu-char.o
  CC    libhw64/dma-helpers.o
  CC    savevm.o
  CC    msmouse.o
  CC    libhw64/sysbus.o
  CC    libhw64/isa-bus.o
  CC    libhw64/qdev-addr.o
  CC    ps2.o
  CC    libhw64/vga-pci.o
  CC    qdev.o
  CC    libhw64/vga-isa.o
  CC    qdev-properties.o
  CC    block-migration.o
  CC    libhw64/vmware_vga.o
  CC    pflib.o
  CC    libhw64/xen_domainbuild.o
  CC    libhw64/sb16.o
  CC    bitmap.o
  CC    bitops.o
  CC    libhw64/es1370.o
  CC    migration-exec.o
  CC    migration-unix.o
  CC    libhw64/ac97.o
  CC    migration-fd.o
  CC    audio/audio.o
  CC    libhw64/intel-hda.o
  CC    audio/noaudio.o
  CC    libhw64/hda-audio.o
  CC    libhw64/virtio-9p-debug.o
  CC    audio/wavaudio.o
  CC    libhw64/virtio-9p-local.o
  CC    audio/mixeng.o
  CC    audio/sdlaudio.o
  CC    libhw64/virtio-9p-xattr.o
  CC    audio/ossaudio.o
  CC    libhw64/virtio-9p-xattr-user.o
  CC    libhw64/virtio-9p-posix-acl.o
  CC    audio/wavcapture.o
  CC    ui/keymaps.o
  CC    ui/sdl.o
  CC    ui/sdl_zoom.o
  CC    ui/x_keymap.o
  CC    ui/curses.o
  CC    ui/vnc.o
  CC    ui/d3des.o
  CC    ui/vnc-enc-zlib.o
  CC    ui/vnc-enc-hextile.o
  CC    ui/vnc-enc-tight.o
  CC    ui/vnc-palette.o
  CC    ui/vnc-enc-zrle.o
  CC    ui/vnc-jobs-sync.o
  CC    iov.o
  CC    acl.o
  CC    compatfd.o
  CC    notify.o
  CC    event_notifier.o
  CC    qemu-timer.o
  CC    slirp/cksum.o
  CC    slirp/if.o
  CC    slirp/ip_icmp.o
  CC    slirp/ip_input.o
  CC    slirp/ip_output.o
  CC    slirp/slirp.o
  CC    slirp/mbuf.o
  CC    slirp/misc.o
  CC    slirp/sbuf.o
  CC    slirp/socket.o
  CC    slirp/tcp_input.o
  CC    slirp/tcp_output.o
  CC    slirp/tcp_subr.o
  CC    slirp/tcp_timer.o
  CC    slirp/udp.o
  CC    slirp/bootp.o
  CC    slirp/tftp.o
  CC    xen_backend.o
  CC    xen_devconfig.o
  CC    xen_console.o
  CC    xenfb.o
  CC    xen_disk.o
  CC    xen_nic.o
  CC    libdis/i386-dis.o
  LINK  qemu-nbd
  LINK  qemu-img
  LINK  qemu-io
rm multiboot.o linuxboot.raw linuxboot.img multiboot.raw multiboot.img linuxboot.o
  GEN   config-target.h
  GEN   x86_64-softmmu/qmp-commands.h
  GEN   x86_64-softmmu/hmp-commands.h
  CC    x86_64-softmmu/arch_init.o
  CC    x86_64-softmmu/cpus.o
  CC    x86_64-softmmu/gdbstub.o
  CC    x86_64-softmmu/virtio-pci.o
  CC    x86_64-softmmu/vhost_net.o
  CC    x86_64-softmmu/machine.o
  CC    x86_64-softmmu/balloon.o
  CC    x86_64-softmmu/virtio-blk.o
  CC    x86_64-softmmu/virtio-balloon.o
  CC    x86_64-softmmu/virtio-net.o
  CC    x86_64-softmmu/virtio-serial-bus.o
  CC    x86_64-softmmu/rwhandler.o
  CC    x86_64-softmmu/virtio-9p.o
  CC    x86_64-softmmu/kvm.o
  CC    x86_64-softmmu/kvm-all.o
  CC    x86_64-softmmu/xen-stub.o
  CC    x86_64-softmmu/ivshmem.o
  CC    x86_64-softmmu/exec.o
  CC    x86_64-softmmu/translate-all.o
  CC    x86_64-softmmu/cpu-exec.o
  CC    x86_64-softmmu/translate.o
  CC    x86_64-softmmu/tcg/tcg.o
  CC    x86_64-softmmu/fpu/softfloat-native.o
  CC    x86_64-softmmu/op_helper.o
  CC    x86_64-softmmu/helper.o
  CC    x86_64-softmmu/cpuid.o
  CC    x86_64-softmmu/disas.o
  CC    x86_64-softmmu/xen_machine_pv.o
  CC    x86_64-softmmu/xen-all.o
  CC    x86_64-softmmu/xen-mapcache.o
  CC    x86_64-softmmu/xen_platform.o
  CC    x86_64-softmmu/vga.o
  CC    x86_64-softmmu/mc146818rtc.o
  CC    x86_64-softmmu/i8259.o
  CC    x86_64-softmmu/pc.o
  CC    x86_64-softmmu/cirrus_vga.o
  CC    x86_64-softmmu/apic.o
  CC    x86_64-softmmu/ioapic.o
  CC    x86_64-softmmu/piix_pci.o
  CC    x86_64-softmmu/vmport.o
  CC    x86_64-softmmu/device-hotplug.o
  CC    x86_64-softmmu/pci-hotplug.o
  CC    x86_64-softmmu/smbios.o
  CC    x86_64-softmmu/wdt_ib700.o
  CC    x86_64-softmmu/debugcon.o
  CC    x86_64-softmmu/multiboot.o
  CC    x86_64-softmmu/pc_piix.o
  CC    x86_64-softmmu/kvmclock.o
  CC    x86_64-softmmu/monitor.o
  LINK  x86_64-softmmu/qemu-system-x86_64
xen-all.o: In function `xen_pci_slot_get_pirq':
/dev/shm/qemu-dm/xen-all.c:67: multiple definition of `xen_pci_slot_get_pirq'
xen-stub.o:/dev/shm/qemu-dm/xen-stub.c:13: first defined here
xen-all.o: In function `xen_init':
/dev/shm/qemu-dm/xen-all.c:488: multiple definition of `xen_init'
xen-stub.o:/dev/shm/qemu-dm/xen-stub.c:43: first defined here
xen-all.o: In function `xen_ram_alloc':
/dev/shm/qemu-dm/xen-all.c:152: multiple definition of `xen_ram_alloc'
xen-stub.o:/dev/shm/qemu-dm/xen-stub.c:30: first defined here
xen-all.o: In function `xen_interrupt_controller_init':
/dev/shm/qemu-dm/xen-all.c:110: multiple definition of `xen_interrupt_controller_init'
xen-stub.o:/dev/shm/qemu-dm/xen-stub.c:34: first defined here
xen-all.o: In function `xen_cmos_set_s3_resume':
/dev/shm/qemu-dm/xen-all.c:95: multiple definition of `xen_cmos_set_s3_resume'
xen-stub.o:/dev/shm/qemu-dm/xen-stub.c:26: first defined here
xen-all.o: In function `xen_piix_pci_write_config_client':
/dev/shm/qemu-dm/xen-all.c:78: multiple definition of `xen_piix_pci_write_config_client'
xen-stub.o:/dev/shm/qemu-dm/xen-stub.c:22: first defined here
xen-all.o: In function `xen_piix3_set_irq':
/dev/shm/qemu-dm/xen-all.c:72: multiple definition of `xen_piix3_set_irq'
xen-stub.o:/dev/shm/qemu-dm/xen-stub.c:18: first defined here
xen_platform.o: In function `pci_xen_platform_init':
/dev/shm/qemu-dm/hw/xen_platform.c:327: multiple definition of `pci_xen_platform_init'
xen-stub.o:/dev/shm/qemu-dm/xen-stub.c:39: first defined here
collect2: ld returned 1 exit status
make[1]: *** [qemu-system-x86_64] Error 1
make: *** [subdir-x86_64-softmmu] Error 2


Reply via email to