aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-12-19target-alpha: Avoid leaking the alarm timer over resetAndreas Färber
Move the timer from CPUAlphaState to AlphaCPU to avoid the pointer being zero'ed once we implement reset. Would cause a segfault in sys_helper.c:helper_set_alarm(). This also simplifies timer initialization in Typhoon. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Richard Henderson <rth@twiddle.net>
2012-12-19alpha: Pass AlphaCPU array to TyphoonAndreas Färber
Also store it in TyphoonCchip. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Richard Henderson <rth@twiddle.net>
2012-12-19target-alpha: Let cpu_alpha_init() return AlphaCPUAndreas Färber
Replace cpu_init() macro with inline function for backwards compatibility. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Richard Henderson <rth@twiddle.net>
2012-12-18Merge remote-tracking branch 'stefanha/trivial-patches' into stagingAnthony Liguori
* stefanha/trivial-patches: configure: Earlier pkg-config probe vmmouse_reset(): remove minimal code duplication linux-user/syscall.c: remove wrong forward decl of setgroups() fix build error on ARM due to wrong glibc check gitignore: Add virtfs-proxy-helper arm_gic: Add cpu nr to Raised IRQ message zynq_slcr: Compile time warning fixes. pflash_cfi0x: Send debug messages to stderr pflash_cfi01: qemu_log_mask "unimplemented" msg net, hub: fix the indent in the comments Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-12-18Merge remote-tracking branch 'amit/master' into stagingAnthony Liguori
* amit/master: virtio-serial-bus: assert port is non-null in remove_port() virtio-serial-bus: send_control_msg() should not deal with cpkts virtio-serial: delete timer if active during exit virtio-serial: allocate post_load only at load-time virtio-serial: move active ports loading to separate function virtio-serial: use uint32_t to count ports Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-12-18Merge remote-tracking branch 'spice/spice.v66' into stagingAnthony Liguori
* spice/spice.v66: docs: add spice-port-fqdn.txt spice-qemu-char: register spicevmc ports during qemu_spice_init() spice-qemu-char: keep a list of spice chardev spice-qemu-char: add spiceport chardev spice-qemu-char: factor out CharDriverState creation spice-qemu-char: write to chardev whatever amount it can read qxl+vnc: register a vm state change handler for dummy spice_server qxl: save qemu_create_displaysurface_from result Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-12-18Merge remote-tracking branch 'sstabellini/xen-20121217' into stagingAnthony Liguori
* sstabellini/xen-20121217: cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than int cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item, write_phys_req_item Fix compile errors when enabling Xen debug logging. xen: fix trivial PCI passthrough MSI-X bug xen: implement support for secondary consoles in the console backend Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-12-18configure: Earlier pkg-config probeStefan Weil
Probe pkg-config before it is used for the first time (libseccomp check). Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18vmmouse_reset(): remove minimal code duplicationLaszlo Ersek
Commit 069ab0eb added a vmmouse_disable() call to vmmouse_reset(). vmmouse_disable() resets the status already. Signed-off-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18linux-user/syscall.c: remove wrong forward decl of setgroups()John Spencer
this declaration is wrong: the correct prototype on linux is: int setgroups(size_t size, const gid_t *list); since by default musl libc exposes this symbol in unistd.h additionally to grp.h, the wrong declaration causes a build error. the proper fix is to simply include the correct header. Signed-off-by: John Spencer <maillist-qemu@barfooze.de> Reviewed-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18fix build error on ARM due to wrong glibc checkJohn Spencer
the test for glibc < 2 "succeeds" wrongly for any non-glibc C library, and breaks the build on musl libc. we must first test if __GLIBC__ is defined at all, before using it unconditionally. Signed-off-by: John Spencer <maillist-qemu@barfooze.de> Reviewed-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18gitignore: Add virtfs-proxy-helperCole Robinson
Signed-off-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18arm_gic: Add cpu nr to Raised IRQ messagePeter Crosthwaite
Add the relevant CPU nr to this debug message to make IRQ debugging more informative. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18zynq_slcr: Compile time warning fixes.Peter Crosthwaite
Few warnings when compiled with debug printfs enabled. Fixed all. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18pflash_cfi0x: Send debug messages to stderrPeter Crosthwaite
These debug info messages should go to stderr rather than stdout. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18pflash_cfi01: qemu_log_mask "unimplemented" msgPeter Crosthwaite
This printf is informing the user of unimplemented functionality. It should be re-directed to qemu_log(LOG_UNIMP, ...) accordingly. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18net, hub: fix the indent in the commentsZhi Yong Wu
Remove some redundant blanks in the comments of net_hub_id_for_client(). Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-18virtio-serial-bus: assert port is non-null in remove_port()Amit Shah
remove_port() is called from qdev's unplug callback, and we're certain the port will be found in our list of ports. Adding an assert() documents this. This was flagged by Coverity, fix suggested by Markus. CC: Markus Armbruster <armbru@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com>
2012-12-18virtio-serial-bus: send_control_msg() should not deal with cpktsAmit Shah
Stuff the cpkt before calling send_control_msg(). This function should not be concerned about contents of the buffer it receives. A few code refactorings recently have made making this change easier than earlier. Coverity and clang have flagged this code several times in the past (cpkt->id not set before send_control_event() passed it on to send_control_msg()). This will finally eliminate the false-positive. CC: Markus Armbruster <armbru@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com>
2012-12-17docs: add spice-port-fqdn.txtMarc-André Lureau
Start a simple org.qemu.* registry of well known name. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-17spice-qemu-char: register spicevmc ports during qemu_spice_init()Marc-André Lureau
Do the delayed registration of spicevmc ports after Spice server is initialized. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-17spice-qemu-char: keep a list of spice chardevMarc-André Lureau
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-17spice-qemu-char: add spiceport chardevMarc-André Lureau
Add a new spice chardev to allow arbitrary communication between the host and the Spice client via the spice server. Examples: This allows the Spice client to have a special port for the qemu monitor: ... -chardev spiceport,name=org.qemu.monitor,id=monitorport -mon chardev=monitorport v2: - remove support for chardev to chardev linking - conditionnaly compile with SPICE_SERVER_VERSION Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-17spice-qemu-char: factor out CharDriverState creationMarc-André Lureau
Make the CharDriverState creation code reusable by spicevmc port. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-17spice-qemu-char: write to chardev whatever amount it can readMarc-André Lureau
The current code waits until the chardev can read MIN(len, VMC_MAX) But some chardev may never reach than amount, in fact some of them will only ever accept write of 1. Fix the min computation and remove the VMC_MAX constant. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-17qxl+vnc: register a vm state change handler for dummy spice_serverUri Lublin
When qxl + vnc are used, a dummy spice_server is initialized. The spice_server has to be told when the VM runstate changes, which is what this patch does. Without it, from qxl_send_events(), the following error message is shown: qxl_send_events: spice-server bug: guest stopped, ignoring Cc: qemu-stable@nongnu.org Signed-off-by: Uri Lublin <uril@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-17qxl: save qemu_create_displaysurface_from resultGerd Hoffmann
Spotted by Coverity. https://bugzilla.redhat.com/show_bug.cgi?id=885644 Cc: qemu-stable@nongnu.org Reported-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-17cpu_ioreq_pio, cpu_ioreq_move: i should be uint32_t rather than intIan Jackson
The current code compare i (int) with req->count (uint32_t) in a for loop, risking an infinite loop if req->count is equal to UINT_MAX. Also i is only used in comparisons or multiplications with unsigned integers. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Cc: Dongxiao Xu <dongxiao.xu@intel.com> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-12-17cpu_ioreq_pio, cpu_ioreq_move: introduce read_phys_req_item, write_phys_req_itemIan Jackson
Replace a lot of formulaic multiplications (containing casts, no less) with calls to a pair of functions. This encapsulates in a single place the operations which require care relating to integer overflow. Cc: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2012-12-17Fix compile errors when enabling Xen debug logging.Sander Eikelenboom
Signed-off-by: Sander Eikelenboom <linux@eikelenboom.it> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2012-12-17xen: fix trivial PCI passthrough MSI-X bugStefano Stabellini
We are currently passing entry->data as address parameter. Pass entry->addr instead. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Tested-by: Sander Eikelenboom <linux@eikelenboom.it> Xen-devel: http://marc.info/?l=xen-devel&m=135515462613715
2012-12-17xen: implement support for secondary consoles in the console backendStefano Stabellini
This patch corresponds to commit 840184a106bc24e745beda5c77e392f6cecd2bc9 from git://xenbits.xensource.com/qemu-xen-unstable.git. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2012-12-16exec: refactor cpu_restore_stateBlue Swirl
Refactor common code around calls to cpu_restore_state(). tb_find_pc() has now no external users, make it static. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-16exec: move TB handling to translate-all.cBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-16exec: extract TB watchpoint checkBlue Swirl
Will be moved by the next patch. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-16exec: fix coding styleBlue Swirl
Fix coding style in areas to be moved by later patches. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-15Merge branch 'ppc-for-upstream' of git://repo.or.cz/qemu/agrafBlue Swirl
* 'ppc-for-upstream' of git://repo.or.cz/qemu/agraf: (40 commits) pseries: Increase default NVRAM size target-ppc: Don't use hwaddr to represent hardware state PPC: e500: pci: Export slot2irq calculation PPC: E500plat: Make a lot of PCI slots available PPC: E500: Move PCI slot information into params PPC: E500: Generate dt pci irq map dynamically PPC: E500: PCI: Make IRQ calculation more generic PPC: E500: PCI: Make first slot qdev settable openpic: Accelerate pending irq search openpic: fix minor coding style issues MSI-X: Fix endianness PPC: e500: Declare pci bridge as bridge PPC: e500: Add MSI support openpic: add Shared MSI support openpic: make brr1 model specific openpic: convert to qdev openpic: remove irq_out openpic: rename openpic_t to OpenPICState openpic: convert simple reg operations to builtin bitops openpic: remove unused type variable ...
2012-12-15target-xtensa: fix ITLB/DTLB page protection flagsMax Filippov
With MMU option xtensa architecture has two TLBs: ITLB and DTLB. ITLB is only used for code access, DTLB is only for data. However TLB entries in both TLBs have attribute field controlling write and exec access. These bits need to be properly masked off depending on TLB type before being used as tlb_set_page prot argument. Otherwise the following happens: (1) ITLB entry for some PFN gets invalidated (2) DTLB entry for the same PFN gets updated, attributes allow code execution (3) code at the page with that PFN is executed (possible due to step 2), entry for the TB is written into the jump cache (4) QEMU TLB entry for the PFN gets replaced with an entry for some other PFN (5) code in the TB from step 3 is executed (possible due to jump cache) and it accesses data, for which there's no DTLB entry, causing DTLB miss exception (6) re-translation of the TB from step 5 is attempted, but there's no QEMU TLB entry nor xtensa ITLB entry for that PFN, which causes ITLB miss exception at the TB start address (7) ITLB miss exception is handled by the guest, but execution is resumed from the beginning of the faulting TB (the point where ITLB miss occured), not from the point where DTLB miss occured, which is wrong. With that fix the above scenario causes ITLB miss exception (that used to be step 7) at step 3, right at the beginning of the TB. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Cc: qemu-stable@nongnu.org Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-14console: clip update rectangleGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-14pixman: fix vnc tight png/jpeg supportGerd Hoffmann
This patch adds an x argument to qemu_pixman_linebuf_fill so it can also be used to convert a partial scanline. Then fix tight + png/jpeg encoding by passing in the x+y offset, so the data is read from the correct screen location instead of the upper left corner. Cc: 1087974@bugs.launchpad.net Cc: qemu-stable@nongnu.org Reported-by: Tim Hardeneck <thardeck@suse.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-14pixman: update internal copy to pixman-0.28.2Gerd Hoffmann
Some w64 fixes by Stefan Weil found their way into 0.28.2, so update the internal copy to that version to improve windows support. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-14Revert "pixman: require 0.18.4 or newer"Gerd Hoffmann
This reverts commit 288fa40736e6eb63132d01aa6dc21ee831b796ae. The only reason old pixman versions didn't work was the missing PIXMAN_TYPE_BGRA, which is properly #ifdef'ed now. So we don't have to require a minimum pixman version. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-14pixman: fix version check for PIXMAN_TYPE_BGRAGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-14pseries: Increase default NVRAM sizeDavid Gibson
If no image file for NVRAM is specified, the pseries machine currently creates a 16K non-persistent NVRAM by default. This basically works, but is not large enough for current firmware and guest kernels to create all the NVRAM partitions they would like to. Increasing the default size to 64K addresses this and stops the guest generating error messages. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
2012-12-14target-ppc: Don't use hwaddr to represent hardware stateDavid Gibson
The hwaddr type is somewhat vaguely defined as being able to contain bus addresses on the widest possible bus in the system. For that reason it's discouraged for representing specific pieces of persistent hardware state, which should instead use an explicit width type that matches the bits available in real hardware. In particular, because of the possibility that the size of hwaddr might change if different buses are added to the target in future, it's not suitable for use in vm state descriptions for savevm and migration. This patch purges such unwise uses of hwaddr from the ppc target code, which turns out to be just one. The ppcemb_tlb_t struct, used on a number of embedded ppc models to represent a TLB entry contains a hwaddr for the real address field. This patch changes it to be a fixed uint64_t which is suitable enough for all machine types which use this structure. Other uses of hwaddr in CPUPPCState turn out not to be problematic: htab_base and htab_mask are just used for the convenience of the TCG code; the underlying machine state is the SDR1 register, which is stored with a suitable type already. Likewise the mpic_cpu_base field is only used internally and does not represent fundamental hardware state which needs to be saved. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
2012-12-14PPC: e500: pci: Export slot2irq calculationAlexander Graf
We need the calculation method to get from a PCI slot ID to its respective interrupt line twice. Once in the internal map function and once when assembling the device tree. So let's extract the calculation to a separate function that can be called by both users. Signed-off-by: Alexander Graf <agraf@suse.de>
2012-12-14PPC: E500plat: Make a lot of PCI slots availableAlexander Graf
The ppce500 machine doesn't have to stick to hardware limitations, as it's defined as being fully device tree based. Thus we can change the initial PCI slot ID to 0x1 which gives us a whopping 31 PCI devices we can support with this machine now! Signed-off-by: Alexander Graf <agraf@suse.de>
2012-12-14PPC: E500: Move PCI slot information into paramsAlexander Graf
We have a params struct that allows us to expose differences between e500 machine models. Include PCI slot information there, so we can have different machines with different PCI slot topology. Signed-off-by: Alexander Graf <agraf@suse.de>
2012-12-14PPC: E500: Generate dt pci irq map dynamicallyAlexander Graf
Today we're hardcoding the PCI interrupt map in the e500 machine file. Instead, let's write it dynamically so that different machine types can have different slot properties. Signed-off-by: Alexander Graf <agraf@suse.de>
2012-12-14PPC: E500: PCI: Make IRQ calculation more genericAlexander Graf
The IRQ line calculation is more or less hardcoded today. Instead, let's write it as an algorithmic function that theoretically allows an arbitrary number of PCI slots. Signed-off-by: Alexander Graf <agraf@suse.de>