summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* iscsi: look for pkg-config file tooPaolo Bonzini2013-03-051-1/+7
| | | | | | | | | | Due to library conflicts, Fedora will have to put libiscsi in /usr/lib/iscsi. Simplify configuration by using a pkg-config file. The Fedora package will distribute one, and the patch to add it has been sent to upstream libiscsi as well. Cc: qemu-stable@nongnu.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* iscsi: add iscsi_truncate supportPeter Lieven2013-03-051-47/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this patch adds iscsi_truncate which effectively allows for online resizing of iscsi volumes. for this to work you have to resize the volume on your storage and then call block_resize command in qemu which will issue a readcapacity16 to update the capacity. v4: - factor out complete readcapacity logic into a separate function - handle capacity change check condition in readcapacity function (this happens if the block_resize cmd is the first iscsi task executed after a resize on the storage) v3: - remove switch statement in iscsi_open - create separate patch for brdv_drain_all() in bdrv_truncate() v2: - add a general bdrv_drain_all() before bdrv_truncate() to avoid in-flight AIOs while the device is truncated - since no AIOs are in flight we can use a sync libiscsi call to re-read the capacity - factor out the readcapacity16 logic as it is redundant to iscsi_open() and iscsi_truncate(). Signed-off-by: Peter Lieven <pl@kamp.de> [allow any type of unit attention check condition in iscsi_readcapacity_sync(), as in Message-ID: <51263A2A.6070304@dlhnet.de> - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* iscsi: retry read, write, flush and unmap on unit attention check conditionsPeter Lieven2013-03-051-88/+203
| | | | | | | | | | | | the storage might return a check condition status for various reasons. (e.g. bus reset, capacity change, thin-provisioning info etc.) currently all these informative status responses lead to an I/O error which is populated to the guest. this patch introduces a retry mechanism to avoid this. Signed-off-by: Peter Lieven <pl@kamp.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* Merge branch 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-armAurelien Jarno2013-03-0521-108/+1064
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm: MAINTAINERS: add entry for ARM KVM guest cores configure: Enable KVM on ARM hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC target-arm: Use MemoryListener to identify GIC base address for KVM hw/arm_gic: Convert ARM GIC classes to use init/realize hw/arm_gic: Add presave/postload hooks ARM KVM: save and load VFP registers from kernel ARM: KVM: Add support for KVM on ARM architecture target-arm: Drop CPUARMState* argument from bank_number() linux-headers: resync from mainline to add ARM KVM headers oslib-posix: Align to permit transparent hugepages on ARM Linux target-arm: Don't decode RFE or SRS on M profile cores target-arm: Factor out handling of SRS instruction
| * MAINTAINERS: add entry for ARM KVM guest coresPeter Maydell2013-03-051-0/+5
| | | | | | | | | | | | Add an entry indicating maintainer status for the ARM KVM code. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * configure: Enable KVM on ARMPeter Maydell2013-03-051-1/+1
| | | | | | | | | | | | | | | | Enable KVM on ARM hosts, now that all the necessary components for it exist. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
| * hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GICPeter Maydell2013-03-053-1/+175
| | | | | | | | | | | | | | Implement support for using the KVM in-kernel GIC for ARM. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Färber <afaerber@suse.de>
| * target-arm: Use MemoryListener to identify GIC base address for KVMPeter Maydell2013-03-052-0/+119
| | | | | | | | | | | | | | | | | | | | | | When using an in-kernel GIC with KVM, we need to tell the kernel where the GIC's memory mapped registers live. Do this by registering a MemoryListener which tracks where the board model maps the A15's private peripherals, so we can finish the GIC initialisation when the GIC is actually mapped. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
| * hw/arm_gic: Convert ARM GIC classes to use init/realizePeter Maydell2013-03-054-29/+37
| | | | | | | | | | | | | | | | | | | | Convert the ARM GIC classes to use init/realize rather than SysBusDevice::init. (We have to do them all in one patch to avoid unconverted subclasses calling a nonexistent SysBusDevice init function in the base class and crashing.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Färber <afaerber@suse.de>
| * hw/arm_gic: Add presave/postload hooksPeter Maydell2013-03-052-0/+12
| | | | | | | | | | | | | | | | | | | | Add presave/postload hooks to the ARM GIC common base class. These will be used by the KVM in-kernel GIC subclass to sync state between kernel and userspace when migrating. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
| * ARM KVM: save and load VFP registers from kernelPeter Maydell2013-03-051-3/+75
| | | | | | | | | | | | | | | | | | | | | | Add support for saving and restoring VFP register state from the kernel. This includes a check that the KVM-created CPU has full VFP support (as the TCG Cortex-A15 model always does), since for the moment ARM QEMU doesn't have any way to tweak optional features on created CPUs. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
| * ARM: KVM: Add support for KVM on ARM architectureChristoffer Dall2013-03-055-1/+363
| | | | | | | | | | | | | | | | | | Add basic support for KVM on ARM architecture. Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu> [PMM: Minor tweaks and code cleanup, switch to ONE_REG] Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
| * target-arm: Drop CPUARMState* argument from bank_number()Peter Maydell2013-03-051-7/+6Star
| | | | | | | | | | | | | | | | | | | | | | | | Drop the CPUARMState* argument from bank_number(), since we only use it for passing to cpu_abort(). Use hw_error() instead. This avoids propagating further interfaces using env pointers. In the long term this function's callers need auditing to fix problems where badly behaved guests can pass invalid bank numbers. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Färber <afaerber@suse.de>
| * linux-headers: resync from mainline to add ARM KVM headersPeter Maydell2013-03-054-0/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | Resync QEMU's copy of the Linux kernel headers from git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master commit 2ef14f4. This adds the ARM KVM headers, since ARM KVM support has just hit mainline via Russell's ARM tree. This is not a pure sync -- I have removed by hand some changes that would have reverted updates for s390x and ppc which have not yet hit mainline. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * oslib-posix: Align to permit transparent hugepages on ARM LinuxPeter Maydell2013-03-051-1/+1
| | | | | | | | | | | | | | | | | | ARM Linux (like x86-64 Linux) can use transparent hugepages for KVM if memory blocks are 2MiB aligned; set QEMU_VMALLOC_ALIGN accordingly. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
| * target-arm: Don't decode RFE or SRS on M profile coresPeter Maydell2013-03-051-2/+3
| | | | | | | | | | | | | | M profile cores do not have the RFE or SRS instructions, so correctly UNDEF these insn patterns on those cores. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * target-arm: Factor out handling of SRS instructionPeter Maydell2013-03-051-67/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | Factor out the handling of the SRS instruction rather than duplicating it between the Thumb and ARM decoders. This in passing fixes two bugs in the Thumb decoder's SRS handling which didn't exist in the ARM decoder: * (LP:1079080) storing CPSR rather than SPSR (fixed in the ARM decoder in commit c67b6b71 in 2009) * failing to free the 'addr' TCG temp in the writeback case Reported-by: Cesson Vincent <vcesson@stmi.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* | mipsn32-linux-user: Configure the architecture properlyRichard Henderson2013-03-057-1122/+628Star
| | | | | | | | | | | | | | | | | | | | | | | | N32 is a 64-bit cpu with a 32-bit address space. We have existing cpp defines for this situation, but weren't using them. This does mean that the linux-user/mipsn32 directory must be merged with the linux-user/mips64 directory, and differences must be resolved via ifdefs. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | mips64-linux-user: Enable 64-bit address mode and fpuRichard Henderson2013-03-051-0/+12
| | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | mips-linux-user: Fix n32 and n64 syscallsRichard Henderson2013-03-051-7/+18
| | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | mips-linux-user: Save and restore fpu and dsp from sigcontextRichard Henderson2013-03-053-118/+58Star
| | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | mips-linux-user: Enable mips64 and mipsn32 linux-user targetsRichard Henderson2013-03-051-0/+4
| | | | | | | | | | | | | | | | | | At this point we can enable compilation, though things still don't work. Signed-off-by: Richard Henderson <rth@twiddle.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | mips-linux-user: Share o32 code for n32 and n64 signalsRichard Henderson2013-03-051-1/+29
| | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | mips-linux-user: Delete n32 and n64 signal stubsRichard Henderson2013-03-051-58/+0Star
|/ | | | | | | | | | Deleting these first makes the next patch much easier to read. This doesn't cause any sort of compilation failure because we have not yet enabled n32/n64 compilation. This is dead code. Signed-off-by: Richard Henderson <rth@twiddle.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* target-mips: Fix accumulator selection for MIPS16 and microMIPSRichard Sandiford2013-03-051-84/+64Star
| | | | | | | | | | | | | | | | Add accumulator arguments to gen_HILO and gen_muldiv, rather than extracting the accumulator directly from ctx->opcode. The extraction was only right for the standard encoding: MIPS16 doesn't have access to the DSP registers, while microMIPS encodes the accumulator register in a different field (bits 14 and 15). Passing the accumulator register is probably an over-generalisation for division and 64-bit multiplication, which never access anything other than HI and LO, and which always pass 0 as the new argument. Separating them felt a bit fussy though. Signed-off-by: Richard Sandiford <rdsandiford@googlemail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* target-mips: Translate breaks and traps into the appropriate signalMeador Inge2013-03-041-1/+75
| | | | | | | | | | | GCC and GAS are capable of generating traps or breaks to check for division by zero. Additionally, GAS is capable of generating traps or breaks to check for overflow on certain division and multiplication operations. The Linux kernel translates these traps and breaks into signals. This patch implements the corresponding feature in QEMU. Signed-off-by: Meador Inge <meadori@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* target-mips: fix DSP overflow macro and affected routinesPetar Jovanovic2013-03-043-54/+94
| | | | | | | | | | | | | | | The previous implementation incorrectly used same macro to detect overflow for addition and subtraction. This patch makes distinction between these two, and creates separate macros. The affected routines are changed accordingly. This change also includes additions to the existing tests for SUBQ_S_PH and SUBQ_S_W that would trigger the fixed issue, and it removes dead code from the test file. The last test case in subq_s_w.c is a bug found/reported/ isolated by Klaus Peichl from Dolby. Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* Merge remote-tracking branch 'stefanha/block' into stagingAnthony Liguori2013-03-0415-388/+328Star
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By MORITA Kazutaka (5) and others # Via Stefan Hajnoczi * stefanha/block: block: for HMP commit() operations on 'all', skip non-COW drives sheepdog: add support for connecting to unix domain socket sheepdog: use inet_connect to simplify connect code sheepdog: accept URIs move socket_set_nodelay to osdep.c slirp/tcp_subr.c: fix coding style in tcp_connect dataplane: remove EventPoll in favor of AioContext virtio-blk: fix unplug + virsh reboot ide/macio: Fix macio DMA initialisation.
| * block: for HMP commit() operations on 'all', skip non-COW drivesJeff Cody2013-03-041-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During a commit of 'all' using the HMP non-live commit, the operation is aborted and returns error on the first error enountered. When non-COW drives are in use (e.g. ejected floppy, cdrom, or drives without a backing parent), that means a commit all will return an error of either -ENOMEDIUM or -ENOTSUP. This is not desirable, so for the 'all' commit case, only attempt the commit if both bs->drv and bs->backing_hd are present. More succinctly: 'commit all' now means a commit on all COW drives. This means an individual commit to a specific non-COW drive will still return the appropriate error (-ENOMEDIUM if eject / not present, -ENOTSUP if no backing file). Reported-by: Jan Kiszka <jan.kiszka@web.de> Signed-off-by: Jeff Cody <jcody@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * sheepdog: add support for connecting to unix domain socketMORITA Kazutaka2013-03-043-13/+77
| | | | | | | | | | | | | | | | | | | | | | This patch adds support for a unix domain socket for a connection between qemu and local sheepdog server. You can use the unix domain socket with the following syntax: $ qemu sheepdog+unix:///<vdiname>?socket=<socket path>[#snapid] Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * sheepdog: use inet_connect to simplify connect codeMORITA Kazutaka2013-03-041-81/+30Star
| | | | | | | | | | | | | | | | This uses the form "<host>:<port>" for the representation of the sheepdog server to use inet_connect. Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * sheepdog: accept URIsMORITA Kazutaka2013-03-043-56/+117
| | | | | | | | | | | | | | | | | | | | The URI syntax is consistent with the NBD and Gluster syntax. The syntax is sheepdog[+tcp]://[host:port]/vdiname[#snapid|#tag] Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * move socket_set_nodelay to osdep.cMORITA Kazutaka2013-03-046-21/+11Star
| | | | | | | | | | Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * slirp/tcp_subr.c: fix coding style in tcp_connectMORITA Kazutaka2013-03-041-68/+72
| | | | | | | | | | | | | | Fix coding style in tcp_connect before the next patch. Signed-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * dataplane: remove EventPoll in favor of AioContextPaolo Bonzini2013-03-044-161/+29Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the review of the dataplane code, the EventPoll API morphed itself (not concidentially) into something very very similar to an AioContext. Thus, it is trivial to convert virtio-blk-dataplane to use AioContext, and a first baby step towards letting dataplane talk directly to the QEMU block layer. The only interesting note is the value-copy of EventNotifiers. At least in my opinion this is part of the EventNotifier API and is even portable to Windows. Of course, in this case you should not close the notifier's underlying file descriptors or handle with event_notifier_cleanup. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * virtio-blk: fix unplug + virsh rebootChristian Borntraeger2013-03-041-1/+3
| | | | | | | | | | | | | | | | | | | | virtio-blk registers a vmstate change handler. Unfortunately this handler is not unregistered on unplug, leading to some random crashes if the system is restarted, e.g. via virsh reboot. Lets unregister the vmstate change handler if the device is removed. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * ide/macio: Fix macio DMA initialisation.Mark Cave-Ayland2013-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | Commit 07a7484e5d713f1eb7c1c37b18a8ab0d56d88875 accidentally introduced a bug in the initialisation of the second macio DMA device which could cause some DMA operations to segfault QEMU. CC: Andreas Färber <afaerber@suse.de> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
* | Merge remote-tracking branch 'mst/tags/for_anthony' into stagingAnthony Liguori2013-03-0410-23/+165
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | virtio,vhost,pci,e1000 Mostly bugfixes, but also some ICH work by Laszlo. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Thu 28 Feb 2013 07:13:56 AM CST using RSA key ID D28D5469 # gpg: Can't check signature: public key not found # By Michael S. Tsirkin (2) and others # Via Michael S. Tsirkin * mst/tags/for_anthony: Set virtio-serial device to have a default of 2 MSI vectors. ICH9 LPC: Reset Control Register, basic implementation Fix guest OS hang when 64bit PCI bar present e1000: unbreak the guest network migration to 1.3 vhost: memory sync fixes
| * | Set virtio-serial device to have a default of 2 MSI vectors.Gal Hammer2013-02-272-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | The virtio-serial device is expected to use 2 MSI vectors, one for control queue and a second shared for all queues. Signed-off-by: Gal Hammer <ghammer@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
| * | ICH9 LPC: Reset Control Register, basic implementationLaszlo Ersek2013-02-272-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit does the same for the ICH9 LPC as commit 1ec4ba74 for the PIIX3. For the present we're ignoring the Full Reset (FULL_RST) and System Reset (SYS_RST) bits; the guest can read them back but that's it. Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
| * | Fix guest OS hang when 64bit PCI bar presentAlexey Korolev2013-02-273-5/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch addresses the issue fully described here: http://lists.nongnu.org/archive/html/qemu-devel/2013-02/msg01804.html Linux kernels prior to 2.6.36 do not disable the PCI device during enumeration process. Since lower and higher parts of a 64bit BAR are programmed separately this leads to qemu receiving a request to occupy a completely wrong address region for a short period of time. We have found that the boot process screws up completely if kvm-apic range is overlapped even for a short period of time (it is fine for other regions though). This patch raises the priority of the kvm-apic memory region, so it is never pushed out by PCI devices. The patch is quite safe as it does not touch memory manager. Signed-off-by: Alexey Korolev <akorolex@gmail.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
| * | e1000: unbreak the guest network migration to 1.3Michael S. Tsirkin2013-02-272-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | QEMU 1.3 does not emulate the link auto negotiation, so if migrate to a 1.3 machine during link auto negotiation, the guest link will be set to down. Fix this by just disabling auto negotiation for 1.3 and older. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
| * | vhost: memory sync fixesMichael S. Tsirkin2013-02-261-17/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes two bugs related to memory sync during migration: - ram address calculation was missing the chunk address, so the wrong page was dirtied - one after last was used instead of the end address of a region, which might overflow to 0 and cause us to skip the region when the region ends at ~0x0ull. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: Jason Wang <jasowang@redhat.com>
* | | Merge remote-tracking branch 'kraxel/seabios-1.7.2.1' into stagingAnthony Liguori2013-03-042-0/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | # By Gerd Hoffmann # Via Gerd Hoffmann * kraxel/seabios-1.7.2.1: update seabios to 1.7.2.1
| * | | update seabios to 1.7.2.1Gerd Hoffmann2013-02-282-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Alex Williamson (3): seabios q35: Enable all PIRQn IRQs at startup seabios q35: Add new PCI slot to irq routing function seabios: Add a dummy PCI slot to irq mapping function Avik Sil (1): USB-EHCI: Fix null pointer assignment Kevin O'Connor (4): Update tools/acpi_extract.py to handle iasl 20130117 release. Fix Makefile - don't reference "out/" directly, instead use "$(OUT)". build: Don't require $(OUT) to be a sub-directory of the main directory. Verify CC is valid during build tests. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | | | Merge remote-tracking branch 'stefanha/net' into stagingAnthony Liguori2013-03-0412-24/+80
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Jason Wang (2) and others # Via Stefan Hajnoczi * stefanha/net: qmp: netdev_add is like -netdev, not -net, fix documentation doc: document -netdev hubport net: reduce the unnecessary memory allocation of multiqueue tap: set IFF_ONE_QUEUE per default tap: forbid creating multiqueue tap when hub is used net: fix unbounded NetQueue net: fix qemu_flush_queued_packets() in presence of a hub
| * | | qmp: netdev_add is like -netdev, not -net, fix documentationMarkus Armbruster2013-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Cc: qemu-stable@nongnu.org Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | | doc: document -netdev hubportStefan Hajnoczi2013-02-272-2/+11
| | | | | | | | | | | | | | | | | | | | Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | | net: reduce the unnecessary memory allocation of multiqueueJason Wang2013-02-273-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Edivaldo reports a problem that the array of NetClientState in NICState is too large - MAX_QUEUE_NUM(1024) which will wastes memory even if multiqueue is not used. Instead of static arrays, solving this issue by allocating the queues on demand for both the NetClientState array in NICState and VirtIONetQueue array in VirtIONet. Tested by myself, with single virtio-net-pci device. The memory allocation is almost the same as when multiqueue is not merged. Cc: Edivaldo de Araujo Pereira <edivaldoapereira@yahoo.com.br> Cc: qemu-stable@nongnu.org Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | | tap: set IFF_ONE_QUEUE per defaultPeter Lieven2013-02-272-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | historically the kernel queues packets two times. once at the device and second in qdisc. this is believed to cause interface stalls if one of these queues overruns. setting IFF_ONE_QUEUE is the default in kernels >= 3.8. the flag is ignored since then. see kernel commit 5d097109257c03a71845729f8db6b5770c4bbedc Signed-off-by: Peter Lieven <pl@kamp.de> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>