aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-12-12ccid: make threads joinablePaolo Bonzini
Destroying a mutex that another thread might have just unlocked is racy. It usually works, but you cannot do that in general and can lead to deadlocks or segfaults. Change ccid to use joinable threads instead. (Also, qemu_mutex_init/qemu_cond_init were missing). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12qemu-thread: implement joinable threads for Win32Paolo Bonzini
Rewrite the handshaking between qemu_thread_create and the win32_start_routine, so that the thread can be joined without races. Similar handshaking is done now between qemu_thread_exit and qemu_thread_join. This also simplifies how QemuThreads are initialized. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12qemu-thread: implement joinable threads for POSIXJan Kiszka
Allow to control if a QEMU thread is created joinable or not. Make it not joinable by default to avoid that we keep the associated resources around when terminating a thread without joining it (what we couldn't do so far for obvious reasons). The audio subsystem will need the join feature when converting it to QEMU threading/locking abstractions, so provide that service. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12qemu-thread: add API for joinable threadsJan Kiszka
Split from Jan's original qemu-thread-posix.c patch. No semantic change, just introduce the new API that POSIX and Win32 implementations will conform to. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12syborg: drop support for Symbian Virtual PlatformStefan Hajnoczi
The Symbian Virtual Platform was an ARM-based development and debugging board. Since Symbian has been disbanded and the code is no longer being used it can now be removed. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12net: take ownership of fd in socket init functionsStefan Hajnoczi
Today net/socket.c has no consistent policy for closing the socket file descriptor when initialization fails. This means we leak the file descriptor in some cases or we could also try to close it twice. Make error paths consistent by taking ownership of the file descriptor and closing it on error. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12net: expand tabs in net/socket.cStefan Hajnoczi
In order to make later patches sane, expand the tab characters and conform to QEMU coding style now. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12guest agent: add supported command list to guest-info RPCMichael Roth
Not that there is blacklisting functionality we can no longer infer the agent's capabilities via version. This patch extends the current guest-info RPC to also return a list of dictionaries containing the name of each supported RPC, along with a boolean indicating whether or not the command has been disabled by a guest administrator/distro. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12guest agent: add RPC blacklist command-line optionMichael Roth
This adds a command-line option, -b/--blacklist, that accepts a comma-seperated list of RPCs to disable, or prints a list of available RPCs if passed "?". In consequence this also adds general blacklisting and RPC listing facilities to the new QMP dispatch/registry facilities, should the QMP monitor ever have a need for such a thing. Ideally, to avoid support/compatability issues in the future, blacklisting guest agent functionality will be the exceptional case, but we add the functionality here to handle guest administrators with specific requirements. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Add a .mailmap to map pre-git-conversion authors to friendly namesPeter Maydell
Add a .mailmap file so 'git shortlog' can map the unfriendly pre-git-conversion author entries to real names. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12unix_close(): check for close() errors too (v2)Eduardo Habkost
In case close() fails, we want to report the error back. Changes v1 -> v2: - Use braces on if statement to match coding style Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12tcp_close(): check for close() errors too (v2)Eduardo Habkost
In case close() fails, we want to report the error back. Changes v1 -> v2: - Use braces on if statement to match coding style Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12exec_close(): return -errno on errors (v2)Eduardo Habkost
All qemu_fclose() callers were already changed to accept any negative value as error, so we now can change it to return -errno. When the process exits with a non-zero exit code, we return -EIO to as a fake errno value. Changes v1 -> v2: - Don't use "//" comments, to make checkpatch.pl happy Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12stdio_fclose: return -errno on errors (v2)Eduardo Habkost
This is what qemu_fclose() expects. Changes v1 -> v2: - Add braces to if statement to match coding style Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12stdio_pclose: return -errno on error (v3)Eduardo Habkost
This is what qemu_fclose() expects. Changes v1 -> v2: - On success, keep returning pclose() return value, instead of always 0. Changes v2 -> v3: - Add braces on if statements to match coding style Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12qemu_fclose: return last_error if set (v3)Eduardo Habkost
This will make sure no error will be missed as long as callers always check for qemu_fclose() return value. For reference, this is the complete list of qemu_fclose() callers: - exec_close(): already fixed to check for negative values, not -1 - migrate_fd_cleanup(): already fixed to consider only negative values as error, not any non-zero value - exec_accept_incoming_migration(): no return value check (yet) - fd_accept_incoming_migration(): no return value check (yet) - tcp_accept_incoming_migration(): no return value check (yet) - unix_accept_incoming_migration(): no return value check (yet) - do_savevm(): no return value check (yet) - load_vmstate(): no return value check (yet) Changes v1 -> v2: - Add small comment about the need to return previously-spotted errors Changes v2 -> v3: - Add braces to "if" statements to match coding style Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12migrate_fd_cleanup: accept any negative qemu_fclose() value as errorEduardo Habkost
Also, we now return the qemu_fclose() value unchanged to the caller. For reference, the migrate_fd_cleanup() callers are the following: - migrate_fd_completed(): any negative value is considered an error, so the change is OK. - migrate_fd_error(): doesn't check the migrate_fd_cleanup() return value - migrate_fd_cancel(): doesn't check the migrate_fd_cleanup() return value Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12exec_close(): accept any negative value as qemu_fclose() errorEduardo Habkost
Note that we don't return the unchanged return value back yet, because we need to change all qemu_fclose() callers to accept any positive value as success. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12QEMUFileCloseFunc: add return value documentation (v2)Eduardo Habkost
qemu_fclose() and QEMUFile->close will return -errno on error, and any positive value on success. We need the positive non-zero success values because migration-exec.c:exec_close() relies on non-zero return values to get the process exit code. Changes v1 -> v2: - Cosmetic spelling change on comment text Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12savevm: use qemu_file_set_error() instead of setting last_error directlyEduardo Habkost
Some code uses qemu_file_set_error() already, so use it everywhere when setting last_error, for consistency. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12hw/usb-net.c: Fix precedence bug when checking rndis_statePeter Maydell
"!X == 2" is always false (spotted by Coverity), so the checks for whether rndis is in the correct state would never fire. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Remove unnecessary casts from PCI DMA code in usb-uhciDavid Gibson
This patch removes some unnecessary casts in the usb-uhci device, introduced by commit fff23ee9a5de74ab111b3cea9eec56782e7d7c50 'usb-uhci: Use PCI DMA stub functions'. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Remove unnecessary casts from PCI DMA code in usb-ehciDavid Gibson
This patch removes some unnecessary casts in the usb-ehci device, introduced by commit 68d553587c0aa271c3eb2902921b503740d775b6 'usb-ehci: Use PCI DMA stub functions'. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Remove unnecessary casts from PCI DMA code in rtl8139David Gibson
This patch removes some unnecessary casts in the rtl8139 device, introduced by commit 3ada003aee2004d24f23b9cd6f4eda87d9601ddb 'rtl8139: Use PCI DMA stub functions'. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Remove unnecessary casts from PCI DMA code in lsi53c895aDavid Gibson
This patch removes some unnecessary casts in the lsi53c895a device, introduced by commit 9ba4524cda1348cbe741535f77815dca6a57da05 'lsi53c895a: Use PCI DMA stub functions'. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Remove unnecessary casts from PCI DMA code in PCI IDEDavid Gibson
This patch removes some unnecessary casts in the PCI IDE device, introduced by commit 552908fef5b67ad9d96b76d7cb8371ebc26c9bc8 'PCI IDE: Use PCI DMA stub functions'. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Remove unnecessary casts from PCI DMA code in e1000David Gibson
This patch removes some unnecessary casts in the e1000 device, introduced by commit 62ecbd353d25e62c4a6c327ea88ba5404e13507a 'e1000: Use PCI DMA stub functions'. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Remove unnecessary casts from PCI DMA code in eepro100David Gibson
This patch removes some unnecessary casts in the eepro100 device, introduced by commit 16ef60c9a8eeee269f7cbc95219a431b1d7cbf29 'eepro100: Use PCI DMA stub functions'. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into stagingAnthony Liguori
2011-12-12Merge remote-tracking branch 'qmp/queue/qmp' into stagingAnthony Liguori
2011-12-12cris: Handle conditional stores on CRISv10Stefan Sandstrom
Signed-off-by: Stefan Sandstrom <Stefan.Sandstrom@axis.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2011-12-12hw/mpcore.c: Merge with hw/arm11mpcore.cPeter Maydell
hw/mpcore.c is now implementing only ARM11MPCore specific peripherals, and is #included only from hw/arm11mpcore.c, so just merge it into that file. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-12-12hw/a9mpcore.c: Implement A9MP peripherals rather than 11MPcore onesPeter Maydell
Implement the A9MP private peripheral region correctly, rather than piggybacking on the 11MPCore code; the two CPUs are not the same in this area. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-12-12hw/mpcore: Clean up mpcore_priv_read/write as they are now SCU onlyPeter Maydell
The only code left in mpcore_priv_read and mpcore_priv_write is now the implementation of the SCU registers. Clean up by renaming functions and removing some unnecessary conditionals to make this clearer. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-12-12hw/realview_gic: Use GIC memory region for the CPU interfacePeter Maydell
Use the GIC provided memory region for the CPU interface rather than implementing our own. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-12-12hw/mpcore.c: Use the GIC memory regions for the CPU interfacePeter Maydell
Switch to using the GIC memory regions for the CPU interface rather than hand implementing them as a subcase of mpcore_priv_read() and mpcore_priv_write(). Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-12-12hw/arm_gic: Expose GIC CPU interfaces as sysbus memory regionsPeter Maydell
Expose the ARM GIC CPU interfaces as memory regions, rather than just providing read and write functions for them. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-12-12hw/arm_mptimer.c: Turn ARM MPcore private timers into qdev devicesPeter Maydell
Turn the ARM MPcore private timer/watchdog blocks into separate qdev devices. This will allow us to share them neatly between 11MPCore and A9MPcore. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-12-12Fix sp804 dual-timerPeter Chubb
Properly implement dual-timer read/write for the sp804 dual timer module. Based on ARM specs at http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0271d/index.html Signed-off-by: Hans Jang <hsjang@ok-labs.com> Signed-off-by: David Mirabito <david.mirabito@nicta.com.au> Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2011-12-12Merge branch 'master' of git://git.qemu.org/qemumalc
2011-12-11Update READMEAnthony Liguori
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-12-12Merge branch 'master' of git://git.qemu.org/qemumalc
2011-12-12target-i386: fix cmpxchg instruction emulationAndreas Gustafsson
When the i386 cmpxchg instruction is executed with a memory operand and the comparison result is "unequal", do the memory write before changing the accumulator instead of the other way around, because otherwise the new accumulator value will incorrectly be used in the comparison when the instruction is restarted after a page fault. This bug was originally reported on 2010-04-25 as https://bugs.launchpad.net/qemu/+bug/569760 Signed-off-by: Andreas Gustafsson <gson@gson.org>
2011-12-10w32: Disable buffering for log fileStefan Weil
W32 does not support line buffering, but it supports unbuffered output. Unbuffered output is better for writing to qemu.log than fully buffered output because it also shows the latest log messages when an application crash occurs. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-12-10w32: QEMU applications with SDL are always GUI applicationsStefan Weil
Since commit 1d14ffa97eacd3cb722271eaf6f093038396eac4 (in 2005), QEMU applications on W32 don't use the default SDL compiler flags: Instead of a GUI application, a console application is created. This has disadvantages (there is always an empty console window) and no obvious reason, so this patch removes the strange flag modification. The SDL GUI applications still can be run from a console window and even send stdout and stderr to that console by setting environment variable SDL_STDIO_REDIRECT=no. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-12-10configure: Enable build by default PIE / read-only relocation sections on ↵Brad
OpenBSD amd64/i386. Enable build by default PIE / read-only relocation sections for the QEMU binaries on OpenBSD amd64/i386. Signed-off-by: Brad Smith <brad@comstyle.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-12-10bsd_user: Fix potential null pointer dereferenceStefan Weil
This bug was spotted by cppcheck. Using g_try_malloc0 (as does the linux-user code) fixes this. v2: Use g_free in bsdload.c, too. Thanks to Peter Maydell for this hint. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2011-12-06qapi: Convert migrate_set_speedLuiz Capitulino
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2011-12-06qapi: Convert migrate_set_downtimeLuiz Capitulino
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2011-12-06qapi: Convert migrate_cancelLuiz Capitulino
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>