Hey, Below is a pull request to merge latest qemu.git/master into qemu-kvm.git/next The most notable thing here is that all our networking changes are now upstream - i.e. there are no longer qemu-kvm specific changes to net.[ch], net-queue.[ch], savevm.c and hw/virtio-net.c This has resulted in one intentional regression - in order to use GSO, you must now use '-netdev tap' rather than '-net tap'. We could continue to support the latter, but it's never going upstream so we may as well drop it now. Another regression is that virtio-net loses it's MAC address, but I've just sent a fix for that to qemu-devel. The merge wasn't as straightforward as one might have hoped because many of the intermediate upstream commits weren't actually buildable because the patches were mangled as they were applied. I took the approach of merging those unbuildable commits individually and applying a fixup patch, so each merge commit should be buildable. Those fixup changes went away in later merges. Cheers, Mark. The following changes since commit 492fcd3f081d5f297919554aa092d744632e5a7c: Avi Kivity (1): Update bios.bin (vapic removal) are available in the git repository at: git://repo.or.cz/qemu-kvm/markmc.git master Amit Shah (3): char: check for initial_reset_issued unnecessary char: rename CHR_EVENT_RESET to CHR_EVENT_OPENED char: emit the OPENED event only when a new char connection is opened Andre Przywara (1): target-i386: implement lzcnt emulation Anthony Liguori (5): Merge commit 'linux-user/linux-user-for-upstream' into staging Work around dhclient brokenness Fix signature of new_vlan_client really fix net.h Revert "char: emit the OPENED event only when a new char connection is opened" Aurelien Jarno (7): target-arm: remove T0 and T1 target-arm: fix bugs introduced by 3174f8e91fecf8756e861d1febb049f3c619a2c7 target-arm: fix bugs introduced by 1b2b1e547bd912b7d3c4863d0a0f75f6f38330ed target-arm: use clz32() instead of a for loop target-arm: fix sdiv helper target-ppc: move often used CPU fields at the top of the structure target-arm: use native tcg-ops for ror/bic/vorn Blue Swirl (20): x86: add 'static' to please Sparse Suppress warnings about 'warn_unused_result' attribute directive bsd-user: fix breakage by 78cfb07fe0dc556cae662a0fab5fe1bd33daabdb sparc64: remove unused variables sparc32: convert eccmemctl to reset + vmsd sparc32: convert slavio_misc to reset + vmsd sparc32: add chipset docs for eccmemctl escc: convert to VMState, vmsd and reset escc: add chipset docs sparc32: convert cs4231 to VMState, vmsd and reset esp: convert to reset + vmsd fdc: convert to reset + vmsd sparc32: convert slavio_timer to reset + vmsd m48t59: convert to vmstate reset sparc32: convert DMA controller to reset + vmsd, fix reset on init sparc32: convert IOMMU to reset + vmsd sparc32: convert interrupt controller to reset + vmsd sparc32: convert Sun4c interrupt controller to reset + vmsd sparc32: convert sbi to VMState, vmsd and vmstate reset sparc32: tcx: remove unused include directive Filip Navara (17): target-arm: use tcg_global_mem_new_i32 to allocate registers target-arm: get rid of temporary variable cache target-arm: remove useless line that sets register that is never used again target-arm: remove unused gen_movl_T2_reg function target-arm: fix SRS/RFE instructions target-arm: get rid of gen_set_psr_T0 and replace it by gen_set_psr/gen_set_psr_im target-arm: convert gen_lookup_tb not to use cpu_T target-arm: convert NEON VZIP/VUZP/VTRN helper functions to pure TCG target-arm: fix TANDC and TORC instructions target-arm: replace thumb usage of cpu_T registers by proper register allocations target-arm: convert rest of disas_arm_insn / disas_thumb2_insn not to use cpu_T target-arm: convert disas_neon_data_insn and helpers not to use cpu_T target-arm: convert disas_neon_ls_insn not to use cpu_T target-arm: convert disas_dsp_insn not use cpu_T target-arm: convert disas_iwmmxt_insn not to use cpu_T target-arm: convert VFP not to use cpu_T target-arm: remove cpu_T for ARM once and for all Gerd Hoffmann (26): qdev: add string property. net: add macaddr type. qdev: mac addr property fixups qdev: add netdev property qdev: add vlan property qdev: add qdev_prop_exists() qdev/net: common nic property bits prepare pci nic init path for qdev property configuration. ne2k_isa: use qdev properties for configuration. ne2k_pci: use qdev properties for configuration. e1000: use qdev properties for configuration. pcnet: use qdev properties for configuration. pcnet: split away lance.c (sparc32 code). rtl8139: use qdev properties for configuration. virtio: use qdev properties for configuration. eepro100: use qdev properties for configuration. smc91c111: use qdev properties for configuration. zap DeviceState->nd xilinx_ethlite: use qdev properties for configuration. stellaris_enet: use qdev properties for configuration. musicpal: use qdev properties for configuration. kill dead nic unplug code. isa: configure serial+parallel by index. hotplug: fix "pci_add storage if=scsi" hotplug: more fixes for scsi disk hotplug. pc.c: only load e1000 rom. Gleb Natapov (1): net: use qemu_send_packet_raw() in qemu_announce_self() Jan-Simon Möller (1): Re: linux-user/syscall.c - don't add GUEST_BASE to NULL pointer Juan Quintela (67): usb-uhci: Add num_ports_vmstate to UHCIState usb-uhci: port to vmstate mc145818rtc: fix saving of rtc-td hack properly upgrading the version number mc146818rtc: port rtc to vmstate mc146818rtc: fix indentation mc146818rtc: remove rtc_mm_init() ide: port idebus to vmstate ide: change identify_data type to uint8_t vmstate: add VMSTATE_BUFFER_TEST ide: port ide_drive to vmstate ide: microdrive cycle field is set as uint8_t ide: add VMSTATE_IDE_BUS and VMSTATE_IDE_DRIVES ide: port microdrive to vmstate ide: include bus in MMIOState ide: port ide mmio to vmstate ide: port isa ide to vmstate ide: port pmac ide to vmstate ide: port pci ide to vmstate ide: pre VMState functions are not needed anymore wdt_i6300esb: port to vmstate wdt_i6300esb: remove useless casts from void * wdt_i6300esb: move PCI_DEVICE_IDE_INTEL_ESB_9 to pci_ids.h ib700: Introduce IB700State ib700: move timer to IB700State ib700: port to vmstate vmstate: Add support for partial buffers transmission serial: use post_load version_id field and remove pre_load function vnmstate: fix name for uint8_equal vmstate: add VMSTATE_UINT16_EQUAL[_V] vmstate: Rename VMS_VARRAY to VMS_VARRAY_INT32 vmstate: fix indentation vmstate: factor vmstate_offset_value vmstate: factor vmstate_offset_pointer vmstate: factor vmstate_offset_array vmstate: factor vmstate_offset_buffer vmstate: factor VMSTATE_*BUFFER* definitions vmstate: Unfold VMSTATE_INT32_VARRAY() only use and remove it vmstate: add VMS_VARRAY_UINT16_UNSAFE (varrays with uint16 indexes) vmstate: Add version arg to VMSTATE_SINGLE_TEST() vmstate: Add VMSTATE_BUFFER_UNUSED vmstate: Add VMSTATE_MACADDR for the new type vmstate: Introduce the concept of sub-arrays rtl8139: port TallyCounters to vmstate rtl8139: port to vmstate eeprom93xx: port to vmstate eepro100: port to vmstate pcnet: port to vmstate ne2000: port to vmstate e1000: unfold mac_reg_tosave array e1000: unfold mac_regarraystosave array e1000: port to vmstate vga: create is_vbe_vmstate field vga: port vga_common_save/load to vmstate vga: port vga-isa-mm to vmstate vga: port vga-isa to vmstate vga: port vmware std vga to vmstate vga: port vga-pci to vmstate vga: remove unused vga_common_save/load vmware_vga: Pass pci_vmsga_state_t arg no VGACommonState vmware_vga: Remove uselss casts from void * vmware_vga: qemu_malloc() returns void * vmware_vga: remove !EMBED_STDVGA code vmware_vga: scratch is really an array of uint32_t vmware_vga: the support to change dinamically depth is not there vmware_vga: port to vmstate vmstate: Add VMSTATE_BUFFER_UNSAFE lsi_scsi: port to vmstate Juergen Lock (2): bsd-user: FreeBSD update multiboot.S patch for old as(1) (was: Re: [Qemu-devel] Some OpenBSD/amd64 build fixes) Juha Riihimäki (7): target-arm: cleanup internal resource leaks target-arm: fix incorrect temporary variable freeing target-arm: fix neon vshrn/vrshrn ops target-arm: add support for neon vld1.64/vst1.64 instructions target-arm: allow modifying vfp fpexc en bit only target-arm: fix neon vsri, vshl and vsli ops target-arm: fix neon shift helper functions Juha.Riihimaki@xxxxxxxxx (1): target-arm: optimize thumb 32-bit multiply Kevin Wolf (10): qcow2: Fix grow_refcount_table error handling raw/linux-aio: Also initialize POSIX AIO posix-aio-compat: Split out posix_aio_process_queue Split out bottom halves Introduce contexts for asynchronous callbacks block: Use new AsyncContext for bdrv_read/write emulation posix-aio-compat: Honour AsyncContext linux-aio: Honour AsyncContext Revert "qcow2: Bring synchronous read/write back to life" Add qemu_aio_process_queue() Kusanagi Kouichi (1): Add chardev option to disable signal. Luiz Capitulino (9): monitor: Convert do_memory_save() to QObject monitor: Convert do_physical_memory_save() to QObject monitor: Convert do_migrate() to QObject monitor: Convert do_migrate_set_speed() to QObject monitor: Convert do_migrate_cancel() to QObject monitor: Convert do_pci_device_hot_remove() to QObject monitor: Convert do_eject() to QObject monitor: Convert do_getfd() to QObject monitor: Convert do_closefd() to QObject Mark McLoughlin (59): net: remove unused includes of if_tun.h and if_tap.h net: refactor tap initialization net: import linux tap ioctl definitions net: add a vnet_hdr=on|off parameter net: make tap_receive() re-use tap_receive_iov() code net: enable IFF_VNET_HDR on tap fds if available net: add a client type code net: add tap_has_vnet_hdr() and tap_using_vnet_hdr() APIs net: add flags parameter to packet queue interface net: add an API for 'raw' packets net: add receive_raw parameter to qemu_new_vlan_client() net: implement tap support for receive_raw() virtio-net: add vnet_hdr support net: add tap_set_offload() virtio-net: enable tap offload if guest supports it virtio-net: add tap_has_ufo flag to saved state Merge commit '93db66850d99fd9885edeff6af5679be51e1c610' into upstream-merge ne2k_isa: intermediate merge fixup Merge commit 'a783cc3e551158854c15c6d121f29433a2810e85' into upstream-merge ne2k_pci: intermediate merge fixup Merge commit 'fbdaa002594c5115c3ff60a7fd5d3e7aa4f845cf' into upstream-merge e1000: intermediate merge fixup Merge commit '7622483395ef0e6c415af74bc9e7b0edf59cfe6c' into upstream-merge pcnet: intermediate merge fixup Merge commit '254111ecc80501a7d5c0e82f78bfa5ca8749ae20' into upstream-merge rtl8139: intermediate merge fixup Merge commit '97b156213e0e38b29da4480a32d4ec33d14d3012' into upstream-merge virtio: intermediate merge fixup Merge commit '508ef9367ee63413781af752934eae509c1bec63' into upstream-merge eepro100: intermediate merge fixup Merge commit '501321566f7dd767ff3479416c615ce5e6fd54c6' into upstream-merge smc91c111: intermediate merge fixup Merge commit '17d1ae3cec597ac4642d504648203e3caef0fe45' into upstream-merge xilinx_ethlite: intermediate merge fixup Merge commit '540f006a23085230c12c3cbcbd2bd774be0eb28e' into upstream-merge stellaris_enet: intermediate merge fixup Merge commit '4c91cd28105485ae04b5cc9e5150e346fddf0874' into upstream-merge musicpal: intermediate merge fixup Merge commit '9ad4531e1e00b996ba55de04d6ecfb4d02a9fd7c' into upstream-merge Merge commit '844e78ef9c6102cc3e33e4aa00efc8abdf0d8dde' into upstream-merge Merge commit '59c7b155aa6e1cbfe8a92e2322ea59ab31965c10' into upstream-merge Merge commit '8febfa26846e75d38848255028dfe2d06e5ba941' into upstream-merge Merge commit '38c75be3139a117b02350dbda9d48d47aa57fa3d' into upstream-merge Merge commit '8e0f8e5bf8fd483dd28329055336cf895b74c89f' into upstream-merge Merge commit 'bb6e636443d49f7444f49ab64dc7ec6aae1493a7' into upstream-merge Merge commit '24e323631a662320851c498695cb4d4d82caa629' into upstream-merge Merge commit 'c0b8e49c695ac11e3ef543db9ea2d8a1f62ccfce' into upstream-merge Merge commit 'ca77d175912f7d0b2296e8e3a803a0763c00bc0b' into upstream-merge Merge commit '70783b9c9be31e98421f17327a1127021abae672' into upstream-merge Merge commit 'b04c4134d6de28c249277de19e523bfbe4aebbd6' into upstream-merge Merge commit '2596774ad27bbe478829343702e896bea4c621cb' into upstream-merge Merge commit '3a330134b3effa3494051763b38f12a24715d53a' into upstream-merge Merge commit 'b1c28b464d5f21805d322b67f008e114a484146d' into upstream-merge Merge commit 'f5436dd96aea2ec937964230831f241ebd3b658b' into upstream-merge Merge commit '1d41b0c1ec66d38355a1e76c29dd2200433335f6' into upstream-merge Merge commit '6c9f58ba3b79202655e6156eb1dab3a2d2e0b51e' into upstream-merge Merge commit '9f09204064f7df627361e0dfc1f0e86f106de8e9' into upstream-merge Merge commit 'f7cbc08ff0d712b0febcf84ce8458c3ae30db4fa' into upstream-merge Merge branch 'upstream-merge' Max Filippov (1): linux-user: fix ppc target_stat64 st_blocks layout Nolan (1): Send a RARP packet after migration. Paul Bolle (2): linux-user: don't zero a buffer twice usb-linux: return USB_RET_STALL on -EPIPE Riku Voipio (1): linux-user: Update ARM hwcaps Sridhar Samudrala (1): Enable UFO on virtio-net and tap devices Stefan Weil (2): eepro100: Restructure code Makefile: Change make to be quiet again when doing nothing Thomas Monjalon (3): target-ppc: better support of e300 CPU core target-ppc: add declarations of microcontrollers based on e300 target-ppc: simpler definitions for microcontrollers based on e300 Ulrich Hecht (3): implementations of dup3 and fallocate that are good enough to fool LTP linux-user: getpriority errno fix linux-user: KD/VT/FB ioctls Makefile | 4 +- Makefile.target | 4 +- aio.c | 30 + async.c | 216 ++++ block.c | 22 +- block/curl.c | 8 +- block/qcow2-cluster.c | 6 +- block/qcow2-refcount.c | 1 - block/qcow2.c | 51 +- block/qcow2.h | 3 - block/raw-posix.c | 4 + bsd-user/elfload.c | 10 +- bsd-user/freebsd/strace.list | 1 + bsd-user/i386/syscall.h | 14 + bsd-user/main.c | 116 ++- bsd-user/qemu.h | 6 +- bsd-user/syscall.c | 296 ++++++- bsd-user/syscall_defs.h | 6 + bsd-user/x86_64/syscall.h | 18 + configure | 56 ++ cpu-exec.c | 27 +- gdbstub.c | 2 +- gen-icount.h | 9 - hw/acpi.c | 3 - hw/baum.c | 2 +- hw/cs4231.c | 52 +- hw/device-hotplug.c | 16 - hw/dp8393x.c | 5 +- hw/e1000.c | 232 +++--- hw/eccmemctl.c | 16 +- hw/eepro100.c | 320 +++---- hw/eeprom93xx.c | 102 +- hw/escc.c | 104 +-- hw/esp.c | 24 +- hw/etraxfs_eth.c | 5 +- hw/fdc.c | 39 +- hw/hw.h | 196 +++-- hw/ide/cmd646.c | 2 +- hw/ide/core.c | 153 ++-- hw/ide/internal.h | 18 +- hw/ide/isa.c | 31 +- hw/ide/macio.c | 42 +- hw/ide/microdrive.c | 63 +- hw/ide/mmio.c | 53 +- hw/ide/pci.c | 95 +-- hw/ide/pci.h | 4 +- hw/ide/piix.c | 2 +- hw/iommu.c | 11 +- hw/lance.c | 147 +++ hw/lsi53c895a.c | 246 ++--- hw/m48t59.c | 23 +- hw/mc146818rtc.c | 220 +---- hw/mcf_fec.c | 5 +- hw/mipsnet.c | 5 +- hw/musicpal.c | 17 +- hw/ne2000-isa.c | 21 +- hw/ne2000.c | 174 ++-- hw/ne2000.h | 5 +- hw/parallel.c | 23 +- hw/pc.c | 9 +- hw/pc.h | 2 - hw/pci-hotplug.c | 80 +- hw/pci.c | 5 +- hw/pci_ids.h | 1 + hw/pcnet.c | 285 ++---- hw/pcnet.h | 38 + hw/qdev-properties.c | 139 +++- hw/qdev.c | 29 +- hw/qdev.h | 21 +- hw/rtl8139.c | 400 +++----- hw/sbi.c | 46 +- hw/serial.c | 37 +- hw/slavio_intctl.c | 12 +- hw/slavio_misc.c | 12 +- hw/slavio_timer.c | 11 +- hw/smc91c111.c | 31 +- hw/sparc32_dma.c | 11 +- hw/stellaris.c | 2 +- hw/stellaris_enet.c | 43 +- hw/sun4c_intctl.c | 12 +- hw/sun4m.c | 2 +- hw/sun4u.c | 3 - hw/syborg.c | 4 +- hw/syborg_virtio.c | 16 +- hw/tcx.c | 1 - hw/usb-net.c | 5 +- hw/usb-serial.c | 2 +- hw/usb-uhci.c | 85 +- hw/vga-isa-mm.c | 2 +- hw/vga-isa.c | 2 +- hw/vga-pci.c | 34 +- hw/vga.c | 132 +-- hw/vga_int.h | 7 +- hw/virtio-net.c | 199 ++-- hw/virtio-pci.c | 33 +- hw/virtio.h | 5 +- hw/vmware_vga.c | 168 ++-- hw/wdt_i6300esb.c | 81 +- hw/wdt_ib700.c | 53 +- hw/xen_nic.c | 5 +- hw/xilinx.h | 2 +- hw/xilinx_ethlite.c | 20 +- linux-aio.c | 87 ++- linux-user/elfload.c | 9 +- linux-user/ioctls.h | 14 + linux-user/linuxload.c | 1 - linux-user/syscall.c | 22 +- linux-user/syscall_defs.h | 18 +- linux-user/syscall_types.h | 51 + migration.c | 6 +- migration.h | 6 +- monitor.c | 13 +- net-queue.c | 37 +- net-queue.h | 9 +- net.c | 421 +++++---- net.h | 55 +- pc-bios/optionrom/multiboot.S | 3 + posix-aio-compat.c | 80 +- qemu-aio.h | 13 + qemu-char.c | 19 +- qemu-char.h | 2 +- qemu-common.h | 11 + qemu-config.c | 3 + qemu-monitor.hx | 27 +- qemu-options.hx | 10 +- qemu-tool.c | 13 + savevm.c | 113 ++- sysemu.h | 7 +- tap-linux.h | 51 + tap-win32.c | 5 +- target-arm/exec.h | 2 - target-arm/helper.c | 10 +- target-arm/helpers.h | 7 - target-arm/neon_helper.c | 26 +- target-arm/op_helper.c | 66 -- target-arm/translate.c | 2161 +++++++++++++++++++++-------------------- target-i386/helper.h | 1 + target-i386/machine.c | 12 +- target-i386/op_helper.c | 14 +- target-i386/translate.c | 37 +- target-ppc/cpu.h | 8 +- target-ppc/translate_init.c | 138 ++-- usb-linux.c | 4 +- vl.c | 110 --- 144 files changed, 4963 insertions(+), 4212 deletions(-) create mode 100644 async.c create mode 100644 hw/lance.c create mode 100644 hw/pcnet.h create mode 100644 tap-linux.h -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html