summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-11-19Merge remote-tracking branch 'kraxel/usb.71' into stagingAnthony Liguori7-63/+139
* kraxel/usb.71: usb-host: fix splitted transfers usb-host: update tracing usb-redir: Set default debug level to warning usb-redir: Only add actually in flight packets to the in flight queue ehci: handle dma errors ehci: keep the frame timer running in case the guest asked for frame list rollover interrupts ehci: Don't verify the next pointer for periodic qh-s and qtd-s ehci: Better detection for qtd-s linked in circles ehci: Fixup q->qtdaddr after cancelling an already completed packet ehci: Don't access packet after freeing it usb: host-linux: Ignore parsing errors of the device descriptors usb-host: scan for usb devices when the vm starts usb: Fix (another) bug in usb_packet_map() for IOMMU handling fix live migration Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-19Merge remote-tracking branch 'stefanha/tracing' into stagingAnthony Liguori4-18/+22
* stefanha/tracing: trace: Remove "info trace" from documents trace: document '-' syntax for disabling events trace: allow disabling events in events file Avoid all systemtap reserved words Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-19Merge remote-tracking branch 'amit/loadvm-irq-inj-fix' into stagingAnthony Liguori1-10/+44
* amit/loadvm-irq-inj-fix: virtio-serial-bus: post_load send_event when vm is running Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-19Merge remote-tracking branch 'afaerber/qom-cpu' into stagingAnthony Liguori23-377/+510
* afaerber/qom-cpu: target-i386: Add Haswell CPU model target-i386/cpu: Add new Opteron CPU model target-i386/cpu: Name new CPUID bits qapi-types.h: Don't include qemu-common.h osdep: Move qemu_{open,close}() prototypes qemu-config.h: Include headers it needs vnc-palette.h: Include <stdbool.h> qemu-fsdev-dummy.c: Include module.h qdev: Split up header so it can be used in cpu.h Move qemu_irq typedef out of qemu-common.h qemu-common.h: Comment about usage rules Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-19Merge remote-tracking branch 'qemu-kvm/uq/master' into stagingAnthony Liguori2-4/+48
* qemu-kvm/uq/master: kvm: Actually remove software breakpoints from list on cleanup acpi_piix4: fix migration of gpe fields Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-19rng-random: only build on POSIX platformsAnthony Liguori1-1/+2
There is no /dev/random on win32. Cc: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-19Makefile: Add missing dependency (fix parallel builds)Stefan Weil1-0/+2
The executables in i386-softmmu, i386-linux-user, ... depend on the recently added libqemustub.a. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-11-19tests: link in stubsPaolo Bonzini1-2/+2
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-11-19libcacard: link in stubsPaolo Bonzini1-1/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-11-19libcacard: make unnesting rules available to Makefile.objsPaolo Bonzini1-1/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-11-18tci: Support deposit operationsStefan Weil3-2/+48
The operations for INDEX_op_deposit_i32 and INDEX_op_deposit_i64 are now supported and enabled by default. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-18tci: Fix build breakage (unresolved symbol tcg_out_tb_finalize)Stefan Weil1-1/+4
Commit 32761257c0b9fa7ee04d2871a6e48a41f119c469 enabled qemu_ld/st optimization unconditionally for some hosts. The TCG interpreter still does not support this kind of optimization. Therefore builds with TCI fail with an unresolved symbol tcg_out_tb_finalize. This is fixed here. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-18tci: fix build breakage for target MIPSStefan Weil1-3/+4
commit 5f7319cd introduced GETPC() usage for MIPS, which is currently not defined when building with --enable-tcg-interpreter. Add MIPS to the list of targets we selectively define GETPC() for. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-18build: replace weak symbols with a static libraryPaolo Bonzini18-89/+89
Weak symbols were a nice idea, but they turned out not to be a good one. Toolchain support is just too sparse, in particular llvm-gcc is totally broken. This patch uses a surprisingly low-tech approach: a static library. Symbols in a static library are always overridden by symbols in an object file. Furthermore, if you place each function in a separate source file, object files for unused functions will not be taken in. This means that each function can use all the dependencies that it needs (especially QAPI stuff such as error_setg). Thus, all stubs are placed in separate object files and put together in a static library. The library then is linked to all programs. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Tested-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-17libseccomp: require version 1.0.0Blue Swirl1-1/+1
Debian Wheezy has version 0.1.0 which is not compatible, avoid it. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-17Merge branch 'vga.1' of git://git.kraxel.org/qemuBlue Swirl3-6/+7
* 'vga.1' of git://git.kraxel.org/qemu: vga: fix mmio vga register mapping vga: fix bochs alignment issue
2012-11-17TCG: Remove unused global variablesEvgeny Voevodin3-11/+0
Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-17TCG: Use gen_opparam_buf from context instead of global variable.Evgeny Voevodin1-5/+6
Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-17TCG: Use gen_opc_buf from context instead of global variable.Evgeny Voevodin17-94/+97
Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-17TCG: Use gen_opparam_ptr from context instead of global variable.Evgeny Voevodin3-146/+146
Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-17TCG: Use gen_opc_ptr from context instead of global variable.Evgeny Voevodin17-106/+109
Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-17tcg/tcg.h: Duplicate global TCG variables in TCGContextEvgeny Voevodin1-0/+6
Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-17target-cris/translate.c: Code style clean-upEvgeny Voevodin1-2500/+2540
Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-11-16rng-egd: don't use gslist_free_fullAnthony Liguori1-5/+14
This function was only introduced in glib 2.28.0. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-16virtio-rng-pci: create a default backend if none existsAnthony Liguori2-0/+15
This allows you to specify: $ qemu -device virtio-rng-pci And things will Just Work with a reasonable default. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-16virtio-rng: add rate limiting supportAnthony Liguori3-8/+64
This adds parameters to virtio-rng-pci to allow rate limiting the entropy a guest receives. An example command line: $ qemu -device virtio-rng-pci,max-bytes=1024,period=1000 Would limit entropy collection to 1Kb/s. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-16virtio-rng: hardware random number generator deviceAmit Shah9-0/+341
The Linux kernel already has a virtio-rng driver, this is the device implementation. When the guest asks for entropy from the virtio hwrng, it puts a buffer in the vq. We then put entropy into that buffer, and push it back to the guest. Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> --- aliguori: converted to new RngBackend interface aliguori: remove entropy needed event aliguori: fix migration
2012-11-16rng-egd: introduce EGD compliant RNG backendAnthony Liguori2-1/+216
This backend talks EGD to a CharDriverState. A typical way to invoke this would be: qemu -chardev socket,host=localhost,port=1024,id=chr0 \ -object rng-egd,chardev=chr0,id=egd0 \ -device virtio-rng-pci,rng=egd0 Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-16rng-random: add an RNG backend that uses /dev/random (v3)Anthony Liguori3-1/+184
The filename can be overridden but it expects a non-blocking source of entropy. A typical invocation would be: qemu -object rng-random,id=rng0 -device virtio-rng-pci,rng=rng0 This can also be used with /dev/urandom by using the command line: qemu -object rng-random,filename=/dev/urandom,id=rng0 \ -device virtio-rng-pci,rng=rng0 Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> --- v1 -> v2 - merged header split patch into this one v2 -> v3 - bug fix in rng-random (Paolo)
2012-11-16rng: add RndBackend abstract object classAnthony Liguori4-0/+189
This is the backend used by devices that need to request entropy. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-16object: add object_property_add_bool (v2)Anthony Liguori2-0/+72
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> --- v1 -> v2 - Fix whitespace (Andreas Faerber)
2012-11-16vl: add -object option to create QOM objects from the command lineAnthony Liguori3-0/+74
This will create a new QOM object in the '/objects' path. Note that properties are set in order which allows for simple objects to be initialized entirely with this option and then realized. This option is roughly equivalent to -device but for things that are not devices. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-11-16trace: Remove "info trace" from documentsLiming Wang2-16/+0
commit 88affa1c monitor: remove unused do_info_trace has removed "info trace" function from monitor, so remove it from documents. Signed-off-by: Liming Wang <walimisdev@gmail.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-11-16trace: document '-' syntax for disabling eventsStefan Hajnoczi1-0/+4
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-11-16trace: allow disabling events in events fileGerd Hoffmann1-1/+8
Disable trace events prefixed with a '-'. Useful to enable a group of tracepoints with exceptions, like this: usb_xhci_port_* -usb_xhci_port_read which will enable all xhci port tracepoints except reads. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-11-16Avoid all systemtap reserved wordsDaniel P. Berrange1-1/+10
Over time various systemtap reserved words have been blacklisted in the trace backend generator. The list is not complete though, so there is continued risk of problems in the future. Preempt such problems by specifying the full list of systemtap keywords listed in its parser as identified here: http://sourceware.org/ml/systemtap/2012-q4/msg00157.html Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-11-16usb-host: fix splitted transfersGerd Hoffmann1-2/+5
USBPacket->actual_length wasn't updated correctly for USBPackets splitted into multiple urbs. Fix it. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16usb-host: update tracingGerd Hoffmann2-9/+13
Now that we have separate status and length fields in USBPacket update the completion tracepoint to log both. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16usb-redir: Set default debug level to warningHans de Goede1-1/+1
The previous default of 0 means that even errors and warnings would not get printed, which is really not a good default. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16usb-redir: Only add actually in flight packets to the in flight queueHans de Goede1-1/+3
Packets which are queued up, but not yet handed over to the device, are *not* in flight. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16ehci: handle dma errorsGerd Hoffmann3-19/+62
Starting with commit 1c380f9460522f32c8dd2577b2a53d518ec91c6d dma transfers can actually fail. This patch makes ehci keep track of the busmaster bit in pci config space, by setting/clearing the dma_context pointer. Attempts to dma without context will result in raising HSE (Host System Error) interrupt and stopping the host controller. This patch fixes WinXP not booting with a usb stick attached to ehci. Root cause is seabios activating ehci so you can boot from the stick, and WinXP clearing the busmaster bit before resetting the host controller, leading to ehci actually trying dma while it is disabled. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16ehci: keep the frame timer running in case the guest asked for frame list ↵Gerd Hoffmann1-0/+7
rollover interrupts Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16ehci: Don't verify the next pointer for periodic qh-s and qtd-sHans de Goede1-3/+6
While testing the move to async packet handling for interrupt endpoints I noticed that Windows-XP likes to play tricks with the next pointer for periodic qh-s, so we should not fail qh / qtd verification when it changes. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16ehci: Better detection for qtd-s linked in circlesHans de Goede1-3/+6
Windows links interrupt qtd-s in circles, which means that when interrupt endpoints return USB_RET_ASYNC, combined with the recent "ehci: Retry to fill the queue while waiting for td completion" patch, we keep adding the tds to the queue over and over again, as we detect the circle from fill_queue, but we call it over and over again ... This patch fixes this by changing the circle detection to also detect circling into tds already queued up previously. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16ehci: Fixup q->qtdaddr after cancelling an already completed packetHans de Goede1-0/+4
This avoids the q->qtdaddr == p->qtdaddr asserts we have triggering, when a queue contains multiple completed packages when we cancel the queue. I triggered this with windows7 + async interrupt endpoint handling (*) + not detecting circles in ehci_fill_queue() properly, which makes the qtd validation in ehci_fill_queue fail, causing cancellation of the queue on every mouse event ... *) Which is not going upstream as it will cause loss of interrupt events on migration. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16ehci: Don't access packet after freeing itHans de Goede1-4/+5
ehci_state_writeback() will free the packet, so we should not access the packet after calling ehci_state_writeback(). Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16usb: host-linux: Ignore parsing errors of the device descriptorsJan Kiszka1-20/+11
The Linux is more tolerant here as well: Just stop parsing the device descriptors when an error is detected but do not reset what was found so far. This allows to run buggy devices with partially invalid descriptors. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16vga: fix mmio vga register mappingGerd Hoffmann1-3/+4
2012-11-16vga: fix bochs alignment issueGerd Hoffmann2-3/+3
The bochs dispi interface traditionally uses port 0x1ce as 16bit index register and port 0x1cf as 16bit data register. The later is unaligned, and probably for that reason the the data register was moved to 0x1d0 for non-x86 archs. This patch makes the data register available at 0x1d0 on x86 too. The old x86 location is kept for compatibility reasons, so both 0x1cf and 0x1d0 can be used as data register on x86. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-11-16usb-host: scan for usb devices when the vm startsGerd Hoffmann1-0/+11
Commit a844ed842d9a9d929645c09ae0f52f753d7a02e0 leads to usb-host detecting devices not right after qemu startup because the guest isn't running yet. Instead they are found on the first of the regular usb device poll runs. Which is too late for seabios to see them, so booting from usb sticks fails. Fix this by adding a vm state change handler which triggers a device scan when the vm is started. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>