summaryrefslogtreecommitdiff
path: root/hw
AgeCommit message (Collapse)AuthorFilesLines
2012-08-15Merge remote-tracking branch 'stefanha/trivial-patches' into stagingAnthony Liguori5-5/+6
* stefanha/trivial-patches: ivshmem, qdev-monitor: fix order of qerror parameters iov_send_recv(): Handle zero bytes case even if OS does not framebuffer: Fix spelling in comment (leight -> height) Spelling fix in comment (peripherans -> peripherals) docs: Fix spelling (propery -> property) trace: Fix "Qemu" -> "QEMU" cputlb.c: Fix out of date comment ehci: fix assertion typo Makefile: Avoid explicit list of directories in clean target
2012-08-15ivshmem, qdev-monitor: fix order of qerror parametersAlberto Garcia2-2/+3
Now that the QERR_ macros no longer contain a json dictionary, the order of some parameters needs to be fixed for them to appear correctly. Signed-off-by: Alberto Garcia <agarcia@igalia.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
2012-08-15framebuffer: Fix spelling in comment (leight -> height)Stefan Weil1-1/+1
Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
2012-08-15Spelling fix in comment (peripherans -> peripherals)Stefan Weil1-1/+1
Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
2012-08-15ehci: fix assertion typoAlejandro Martinez Ruiz1-1/+1
Signed-off-by: Alejandro Martinez Ruiz <alex@securiforest.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
2012-08-14kvmvapic: Disable if there is insufficient memoryJan Kiszka1-1/+3
We need at least 1M of RAM to map the option ROM. Otherwise, we will corrupt host memory or even crash: $ qemu-system-x86_64 -nodefaults --enable-kvm -vnc :0 -m 640k Segmentation fault (core dumped) Reported-and-tested-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2012-08-14kvm: i8254: Finish time conversion fixJan Kiszka1-4/+10
0cdd3d1444 fixed reading back the counter load time from the kernel while assuming the kernel would always update its load time on writing the state. That is only true for channel 1, and so pit_get_channel_info returned wrong output pin states for high counter values. Fix this by applying the offset also on kvm_pit_put. Now we also need to update the offset when we write the state while the VM is stopped as it keeps on changing in that state. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2012-08-14kvm: i8254: Cache kernel clock offset in KVMPITStateJan Kiszka1-14/+24
To prepare the final fix for clock calibration issues with the in-kernel PIT, we want to cache the offset between vmclock and the clock used by the in-kernel PIT. So far, we only need to update it when the VM state changes between running and stopped because we only read the in-kernel PIT state while the VM is running. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2012-08-13Merge remote-tracking branch 'qmp/queue/qmp' into stagingAnthony Liguori1-0/+2
* qmp/queue/qmp: (48 commits) target-ppc: add implementation of query-cpu-definitions (v2) target-i386: add implementation of query-cpu-definitions (v2) qapi: add query-cpu-definitions command (v2) compiler: add macro for GCC weak symbols qapi: add query-machines command qapi: mark QOM commands stable qmp: introduce device-list-properties command qmp: add SUSPEND_DISK event qmp: qmp-events.txt: add missing doc for the SUSPEND event qmp: qmp-events.txt: put events in alphabetical order qmp: emit the WAKEUP event when the guest is put to run qmp: don't emit the RESET event on wakeup from S3 scripts: qapi-commands.py: qmp-commands.h: include qdict.h docs: writing-qmp-commands.txt: update error section error, qerror: drop QDict member qerror: drop qerror_table and qerror_format() error, qerror: pass desc string to error calls error: drop error_get_qobject()/error_set_qobject() qemu-ga: switch to the new error format on the wire qmp: switch to the new error format on the wire ...
2012-08-13Merge remote-tracking branch 'pmaydell/arm-devs.next' into stagingAnthony Liguori7-57/+86
* pmaydell/arm-devs.next: arm: Move some ARM devices into libhw ssd0323: abort() instead of exit(1) on error. hw/sd.c: make sd_wp_addr() return bool hw/sd.c: make sd_dataready() return bool hw/sd.c: convert binary variables to bool hw/sd.c: introduce wrapper for conversion address to wp group hw/sd.c: make sd_wp_addr() accept 64 bit address argument hw/sd.c: convert wp_groups in SDState to bitfield armv7m: Guard against no -kernel argument hw/armv7m_nvic: Fix incorrect default for num-irqs property
2012-08-13qmp: add SUSPEND_DISK eventLuiz Capitulino1-0/+2
Emitted when the guest makes a request to enter S4 state. There are three possible ways of having this event, as described here: http://lists.gnu.org/archive/html/qemu-devel/2012-07/msg02307.html I've decided to add a new event and make it indepedent of SHUTDOWN. This means that the SHUTDOWN event will eventually follow the SUSPEND_DISK event. I've choosen this way because of two reasons: 1. Having an indepedent event makes it possible to query for its existence by using query-events 2. In the future, we may allow the user to change what QEMU should do as a result of the guest entering S4. So it's a good idea to keep both events separated Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2012-08-13arm: Move some ARM devices into libhwAndreas Färber2-12/+23
Avoids some unnecessary dependencies on cpu.h and prepares for a future armeb-softmmu where most machines would not be built. Defer touching the SoC devices since most have implicit or explicit dependencies on the CPU. Signed-off-by: Andreas Färber <andreas.faerber@suse.de> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13Merge remote-tracking branch 'qemu-kvm/uq/master' into stagingAnthony Liguori4-4/+5
* qemu-kvm/uq/master: kvm: Add documentation comment for kvm_irqchip_in_kernel() kvm: Decouple 'GSI routing' from 'kernel irqchip' kvm: Decouple 'MSI routing via irqfds' from 'kernel irqchip' kvm: Decouple 'irqfds usable' from 'kernel irqchip' kvm: Move kvm_allows_irq0_override() to target-i386, fix return type kvm: Rename kvm_irqchip_set_irq() to kvm_set_irq() kvm: Decouple 'async interrupt delivery' from 'kernel irqchip' configure: Don't implicitly hardcode list of KVM architectures kvm: Check if smp_cpus exceeds max cpus supported by kvm
2012-08-13ssd0323: abort() instead of exit(1) on error.Peter A. G. Crosthwaite1-1/+3
To be more consistent with the newer ways of error signalling. That and SIGABT is easier to debug with than exit(1). Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13hw/sd.c: make sd_wp_addr() return boolMitsyanko Igor1-1/+1
For the sake of code clarity Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13hw/sd.c: make sd_dataready() return boolMitsyanko Igor2-2/+2
For the sake of code clarity Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13hw/sd.c: convert binary variables to boolMitsyanko Igor2-14/+14
Several members of SDState have type int when they actually are binary variables. Change type of these variables to bool to improve code readability. Change SD API to be in consistency with new variables type. Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13hw/sd.c: introduce wrapper for conversion address to wp groupMitsyanko Igor1-14/+13
Add wrapper function sd_addr_to_wpnum() to replace long address-->wg_group conversion line. Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13hw/sd.c: make sd_wp_addr() accept 64 bit address argumentMitsyanko Igor1-1/+1
Currently sd_wp_addr() accepts 32 bit address arguments therefore implicitly restricting SD card address range. Change address argument type to uint64_t. Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13hw/sd.c: convert wp_groups in SDState to bitfieldMitsyanko Igor1-14/+19
Representing each group write protection flag with only one bit instead of int variable significantly reduces memory consumption. Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13armv7m: Guard against no -kernel argumentPeter A. G. Crosthwaite1-0/+5
A -kernel argument must be specified for this machine. Guard against no -kernel argument. Previously gave an unhelpful "bad address" error message. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Tested-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13hw/armv7m_nvic: Fix incorrect default for num-irqs propertyPeter Maydell1-7/+14
Fix an incorrect default value for the num-irqs property (we were attempting to override it from the default set by the parent class but not succeeding, which meant that the lm3s6965evb model would assert on startup attempting to wire up nonexistent irq lines). Instead of trying to override the parent's Property array, we define an instance_init function which runs after default setup but before user property setting and can just fix up the default value in the gic_state struct. Reported-by: Peter Crosthwaite <peter.crosthwaite@petalogix.com> Tested-by: Peter Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2012-08-13xilinx_axi*: Re-implemented interconnectPeter A. G. Crosthwaite8-107/+139
Re-implemented the interconnect between the Xilinx AXI ethernet and DMA controllers. A QOM interface "stream" is created, for the two stream interfaces. As per Edgars request, this is designed to be more generic than AXI-stream, so in the future we may see more clients of this interface beyond AXI stream. This is based primarily on Paolos original refactoring of the interconnect. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Peter A.G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-08-11Merge remote-tracking branch 'kwolf/for-anthony' into stagingAnthony Liguori4-10/+70
* kwolf/for-anthony: qemu-iotests: skip 039 with ./check -nocache block: add BLOCK_O_CHECK for qemu-img check qcow2: mark image clean after repair succeeds qed: mark image clean after repair succeeds blockdev: flip default cache mode from writethrough to writeback virtio-blk: disable write cache if not negotiated virtio-blk: support VIRTIO_BLK_F_CONFIG_WCE qemu-iotests: Save some sed processes ahci: Fix sglist memleak in ahci_dma_rw_buf() ahci: Fix ahci cdrom read corruptions for reads > 128k virtio-blk: fix use-after-free while handling scsi commands
2012-08-11Merge remote-tracking branch 'bonzini/scsi-next' into stagingAnthony Liguori2-12/+110
* bonzini/scsi-next: scsi-disk: add support for the UNMAP command scsi-disk: improve out-of-range LBA detection for WRITE SAME scsi-disk: more assertions and resets for aiocb virtio-scsi: do not compare 32-bit QEMU tags against 64-bit virtio-scsi tags iscsi: Pick default initiator-name based on the name of the VM iscsi: reorganize code for parse_initiator_name iscsi: do not leak initiator_name
2012-08-11unicore32-softmmu: Add is_default setting for puv3 machineGuan Xuetao1-0/+1
This patch sets is_default to 1 for puv3 machine, so that find_default_machine() returns puv3 machine. Thanks Dunrong for pointing it out. Cc: Dunrong Huang <riegamaths@gmail.com> Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-11unicore32-softmmu: Add ps2 supportGuan Xuetao1-0/+5
This patch adds ps2/keyboard support, and enables CONFIG_PCKBD. Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-11unicore32-softmmu: Add puv3 dma supportGuan Xuetao3-0/+111
This patch adds puv3 dma (Direct Memory Access) support, include dma device simulation for kernel booting. v1->v2: Add initialization to ret in puv3_dma_read. Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-11unicore32-softmmu: Add puv3 pm supportGuan Xuetao3-0/+151
This patch adds puv3 pm (power management) support, include pm device simulation for kernel booting. Thank Blue Swirl for pointing out the missing "break". v1->v2: Add initialization to ret in puv3_pm_read. Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-11unicore32-softmmu: Add puv3 gpio supportGuan Xuetao3-0/+148
This patch adds puv3 gpio (General Purpose Input/Output) support, include gpio device simulation and its interrupt support. v1->v2: Add initialization to ret in puv3_gpio_read. Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-11unicore32-softmmu: Add puv3 ostimer supportGuan Xuetao3-0/+155
This patch adds puv3 ostimer support, include os timer device simulation and ptimer support in puv3 machine. Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-11unicore32-softmmu: Add puv3 interrupt supportGuan Xuetao3-1/+160
This patch adds puv3 interrupt support, include interrupt controler device simulation and interrupt handler in puv3 machine. Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-11unicore32-softmmu: Add puv3 soc/board supportGuan Xuetao3-0/+147
This patch only add puv3 soc/board support, which introduces puv3 machine description, and specifies console type. Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-11unicore32-softmmu: Add unicore32-softmmu build supportGuan Xuetao1-0/+1
This patch adds unicore32-softmmu build support, include configure, makefile, arch_init, and all missing functions needed by softmmu. Although all missing functions are empty, unicore32-softmmu could be build successfully. By 20120804: change QEMU_ARCH_UNICORE32 to 0x4000 Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-10virtio-blk: disable write cache if not negotiatedPaolo Bonzini1-0/+14
If the guest does not support flushes, we should run in writethrough mode. The setting is temporary until the next reset, so that for example the BIOS will run in writethrough mode while Linux will run with a writeback cache. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-08-10virtio-blk: support VIRTIO_BLK_F_CONFIG_WCEPaolo Bonzini2-3/+17
Also rename VIRTIO_BLK_F_WCACHE to VIRTIO_BLK_F_WCE for consistency with the spec. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-08-10ahci: Fix sglist memleak in ahci_dma_rw_buf()Jason Baron1-0/+3
I noticed that in hw/ide/ahci:ahci_dma_rw_buf() we do not free the sglist. Thus, I've added a call to qemu_sglist_destroy() to fix this memory leak. In addition, I've adeed a call in qemu_sglist_destroy() to 0 all of the sglist fields, in case there is some other codepath that tries to free the sglist. Signed-off-by: Jason Baron <jbaron@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-08-10ahci: Fix ahci cdrom read corruptions for reads > 128kJason Baron2-7/+35
While testing q35, which has its cdrom attached to the ahci controller, I found that the Fedora 17 install would panic on boot. The panic occurs while squashfs is trying to read from the cdrom. The errors are: [ 8.622711] SQUASHFS error: xz_dec_run error, data probably corrupt [ 8.625180] SQUASHFS error: squashfs_read_data failed to read block 0x20be48a I was also able to produce corrupt data reads using an installed piix based qemu machine, using 'dd'. I found that the corruptions were only occuring when then read size was greater than 128k. For example, the following command results in corrupted reads: dd if=/dev/sr0 of=/tmp/blah bs=256k iflag=direct The > 128k size reads exercise a different code path than 128k and below. In ide_atapi_cmd_read_dma_cb() s->io_buffer_size is capped at 128k. Thus, ide_atapi_cmd_read_dma_cb() is called a second time when the read is > 128k. However, ahci_dma_rw_buf() restart the read from offset 0, instead of at 128k. Thus, resulting in a corrupted read. To fix this, I've introduced 'io_buffer_offset' field in IDEState to keep track of the offset. I've also modified ahci_populate_sglist() to take a new 3rd offset argument, so that the sglist is property initialized. I've tested this patch using 'dd' testing, and Fedora 17 now correctly boots and installs on q35 with the cdrom ahci controller. Signed-off-by: Jason Baron <jbaron@redhat.com> Tested-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-08-10virtio-blk: fix use-after-free while handling scsi commandsAvi Kivity1-0/+1
The scsi passthrough handler falls through after completing a request into the failure path, resulting in a use after free. Reproducible by running a guest with aio=native on a block device. Reported-by: Stefan Priebe <s.priebe@profihost.ag> Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-08-09target-xtensa: make 'sim' to be the default machineMax Filippov1-0/+1
This fixes the following error: $ qemu-system-xtensa -cpu help Segmentation fault Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09target-xtensa: make default CPU depend on target endiannessMax Filippov2-5/+5
This makes usable default for -cpu option both for qemu-system-xtensa and qemu-system-xtensaeb fixing the following error: $ qemu-system-xtensaeb -M sim Unable to find CPU definition Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Tested-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09scsi-bus: remove overlapping entryBlue Swirl1-1/+0
LOAD_UNLOAD and START_STOP have same value, so the table entry is initialized twice. Spotted by Clang compiler. Remove LOAD_UNLOAD entry since START_STOP entry already represents both. Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09xilinx_axienet: avoid useless self-assignmentBlue Swirl1-1/+0
Statement s=s; makes little sense, remove it. Spotted by Clang compiler. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09sparc: fix floppy TC line setupBlue Swirl1-5/+13
The qemu_irq for Terminal Count (TC) line between FDC and Slavio misc device was created only after use, spotted by Clang compiler. Also, it was not created if the FDC didn't exist. Rearrange code to fix order. Always create the TC line. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09esp: add Tekram DC-390 emulation (PC SCSI adapter)Hervé Poussineau1-1/+123
Difference with AMD PCscsi is that DC-390 contains a EEPROM, and that a romfile is available to add INT13 support. This has been successfully tested on: - MS DOS 6.22 (using DC390 ASPI driver) - MS Windows 98 SE (using DC390 driver) - MS Windows NT 3.1 (using DC390 driver) - MS Windows NT 4.0 (using DC390 driver) - hard disk and cdrom boot Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09Revert "pci: add some stubs"Hervé Poussineau1-15/+0
This reverts commit 0883c5159f1df05d8761014f65451c3c3b77ebcf. Those stubs were only used by PCI ESP emulation, which is now not compiled on architectures which have no PCI bus support. Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09esp: move PCI emulation to a new file esp-pci.cHervé Poussineau3-362/+397
sparc machines loose ability to instanciate PCI ESP SCSI adapter, which is not a big loose as they don't have PCI bus support. Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09esp: move some definitions to header fileHervé Poussineau2-117/+127
These will be used by next commits. Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-08-09scsi-disk: add support for the UNMAP commandPaolo Bonzini1-1/+92
The unmap command can reuse the same infrastructure as MODE SELECT for reading the descriptor list into memory. The descriptors are processed sequentially. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-08-09scsi-disk: improve out-of-range LBA detection for WRITE SAMEPaolo Bonzini1-1/+2
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>