- 18 Sep, 2017 7 commits
-
-
John Snow authored
Remove the DEBUG_IDE preprocessor definition with something more appropriately flexible, using the trace-events subsystem. This will be less prone to bitrot and will more effectively allow us to target just the functions we care about. Signed-off-by:
John Snow <jsnow@redhat.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Message-id: 20170901001502.29915-2-jsnow@redhat.com Signed-off-by:
John Snow <jsnow@redhat.com>
-
Thomas Huth authored
QEMU currently aborts with an assertion message when the user is trying to remove a dscm1xxxx again: $ aarch64-softmmu/qemu-system-aarch64 -S -M integratorcp -nographic QEMU 2.9.93 monitor - type 'help' for more information (qemu) device_add dscm1xxxx,id=xyz (qemu) device_del xyz ** ERROR:qemu/qdev-monitor.c:872:qdev_unplug: assertion failed: (hotplug_ctrl) Aborted (core dumped) Looks like this device has to be wired up in code and is not meant to be hot-pluggable, so let's mark it with user_creatable = false. Signed-off-by:
Thomas Huth <thuth@redhat.com> Reviewed-by:
John Snow <jsnow@redhat.com> Message-id: 1503543783-17192-1-git-send-email-thuth@redhat.com Signed-off-by:
John Snow <jsnow@redhat.com>
-
Igor Mammedov authored
Fixes read after freeing error reported https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg04243.html Message-Id: <59a56959-ca12-ea75-33fa-ff07eba1b090@redhat.com> ich9-ahci device creates ide buses and attaches them as QOM children at realize time, however it forgets to properly clean them up at unrealize time and frees memory containing these children, with following call-chain: qdev_device_add() object_property_set_bool('realized', true) device_set_realized() ... pci_qdev_realize() -> pci_ich9_ahci_realize() -> ahci_realize() ... s->dev = g_new0(AHCIDevice, ports); ... AHCIDevice *ad = &s->dev[i]; ide_bus_new(&ad->port, sizeof(ad->port), qdev, i, 1); ^^^ creates bus in memory allocated by above gnew() and adds it as child propety to ahci device ... hotplug_handler_plug(); -> goto post_realize_fail; pci_qdev_unrealize() -> pci_ich9_uninit() -> ahci_uninit() ... g_free(s->dev); ^^^ free memory that holds children busses return with error from device_set_realized() As result later when qdev_device_add() tries to unparent ich9-ahci after failed device_set_realized(), object_unparent() -> object_property_del_child() iterates over existing QOM children including buses added by ide_bus_new() and tries to unparent them, which causes access to freed memory where they where located. Reported-by:
Thomas Huth <thuth@redhat.com> Signed-off-by:
Igor Mammedov <imammedo@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Tested-by:
Thomas Huth <thuth@redhat.com> Reviewed-by:
John Snow <jsnow@redhat.com> Message-id: 1503938085-169486-1-git-send-email-imammedo@redhat.com Signed-off-by:
John Snow <jsnow@redhat.com>
-
Peter Maydell authored
audio: bugfixes for wm8750 and intel-hda. # gpg: Signature made Mon 18 Sep 2017 12:15:26 BST # gpg: using RSA key 0x4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/audio-20170918-pull-request: audio: intel-hda: do not use old_mmio accesses wm8750: add record buffer underrun check Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Matt Parker authored
intel-hda is currently using the old_mmio accessors for io. This updates the device to use .read and .write accessors instead. Signed-off-by:
Matt Parker <mtparkr@gmail.com> Message-id: 20170827192038.28930-1-mtparkr@gmail.com Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com>
-
Gerd Hoffmann authored
Reported-by: niuguoxiang@huawei.com Signed-off-by:
Gerd Hoffmann <kraxel@redhat.com> Message-id: 20170901131409.6712-1-kraxel@redhat.com
-
Kevin Wolf authored
Python requires parentheses around multiline expression. This fixes the breakage of all Python-based qemu-iotests cases that was introduced in commit dab91d9a. Signed-off-by:
Kevin Wolf <kwolf@redhat.com> Message-id: 20170918052524.4045-1-kwolf@redhat.com Reviewed-by:
Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Tested-by:
Alex Bennée <alex.bennee@linaro.org> Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
- 17 Sep, 2017 18 commits
-
-
Peter Maydell authored
tcg queued patches # gpg: Signature made Sun 17 Sep 2017 16:03:28 BST # gpg: using RSA key 0x64DF38E8AF7E215F # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F * remotes/rth/tags/pull-tcg-20170917: tcg/mips: Fully convert tcg_target_op_def tcg/sparc: Fully convert tcg_target_op_def tcg/ppc: Fully convert tcg_target_op_def tcg/arm: Fully convert tcg_target_op_def tcg/aarch64: Fully convert tcg_target_op_def tcg: Fix types in tcg_regset_{set,reset}_reg tcg: Remove tcg_regset_set32 tcg: Remove tcg_regset_{or,and,andnot,not} tcg: Remove tcg_regset_set tcg: Remove tcg_regset_clear tcg: Add tcg_op_supported accel/tcg: move USER code to user-exec.c accel/tcg: move atomic_template.h to accel/tcg/ accel/tcg: move tcg-runtime to accel/tcg/ accel/tcg: move user-exec to accel/tcg/ accel/tcg: move softmmu_template.h to accel/tcg/ tcg/ppc: disable atomic write check on ppc32 Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Richard Henderson authored
Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
There was a potential problem here with an ILP32 host with 64 host registers. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
It's not even clear what the interface REG and VAL32 were supposed to mean. All uses had REG = 0 and VAL32 was the bitset assigned to the destination. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Philippe Mathieu-Daudé authored
Suggested-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20170912211934.20919-1-f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Philippe Mathieu-Daudé authored
Signed-off-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20170911213328.9701-5-f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Philippe Mathieu-Daudé authored
Suggested-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20170911213328.9701-4-f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Philippe Mathieu-Daudé authored
Suggested-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20170911213328.9701-3-f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Thomas Huth authored
The header is only used by accel/tcg/cputlb.c so we can move it to the accel/tcg/ folder, too. Signed-off-by:
Thomas Huth <thuth@redhat.com> [PMD: reword commit title to match series] Signed-off-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20170911213328.9701-2-f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Philippe Mathieu-Daudé authored
This fixes building for ppc64 on ppc32 (changed in 5964fca8): tcg/ppc/tcg-target.inc.c: In function 'tb_target_set_jmp_target': include/qemu/compiler.h:86:30: error: static assertion failed: \ "not expecting: sizeof(*(uint64_t *)jmp_addr) > ATOMIC_REG_SIZE" QEMU_BUILD_BUG_ON(sizeof(*ptr) > ATOMIC_REG_SIZE); \ ^ tcg/ppc/tcg-target.inc.c:1377:9: note: in expansion of macro 'atomic_set' atomic_set((uint64_t *)jmp_addr, pair); ^ Suggested-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20170911204936.5020-1-f4bug@amsat.org> [rth: Added commentary requested by pmm.] Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
- 16 Sep, 2017 2 commits
-
-
Peter Maydell authored
Python queue, 2017-09-15 # gpg: Signature made Sat 16 Sep 2017 00:14:01 BST # gpg: using RSA key 0x2807936F984DC5A6 # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * remotes/ehabkost/tags/python-next-pull-request: qemu.py: include debug information on launch error qemu.py: improve message on negative exit code qemu.py: use os.path.null instead of /dev/null qemu.py: avoid writing to stdout/stderr qemu.py: fix is_running() return before first launch() qtest.py: Few pylint/style fixes qmp.py: Avoid overriding a builtin object qmp.py: Avoid "has_key" usage qmp.py: Use object-based class for QEMUMonitorProtocol qmp.py: Couple of pylint/style fixes qemu.py: Use custom exceptions rather than Exception qemu.py: Simplify QMP key-conversion qemu.py: Use iteritems rather than keys() qemu|qtest: Avoid dangerous arguments qemu.py: Pylint/style fixes Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Peter Maydell authored
# gpg: Signature made Fri 15 Sep 2017 18:39:41 BST # gpg: using RSA key 0x9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * remotes/stefanha/tags/tracing-pull-request: trace: Immediately apply per-vCPU state changes if a vCPU is being created Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
- 15 Sep, 2017 13 commits
-
-
Amador Pahim authored
When launching a VM, if an exception happens and the VM is not initiated, it might be useful to see the qemu command line and the qemu command output. This patch creates that message. Notice that self._iolog needs to be cleaned up in the beginning of the launch() to make sure we will not expose the qemu log from a previous launch if the current one fails. Signed-off-by:
Amador Pahim <apahim@redhat.com> Message-Id: <20170901112829.2571-6-apahim@redhat.com> Reviewed-by:
Fam Zheng <famz@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Amador Pahim authored
The current message shows 'self._args', which contains only part of the options used in the Qemu command line. This patch makes the qemu full args list an instance variable and then uses it in the negative exit code message. Message was moved outside the 'if is_running' block to make sure it will be logged if the VM finishes before the call to shutdown(). Signed-off-by:
Amador Pahim <apahim@redhat.com> Message-Id: <20170901112829.2571-5-apahim@redhat.com> [ehabkost: removed superfluous parenthesis] Reviewed-by:
Fam Zheng <famz@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Amador Pahim authored
For increased portability, let's use os.path.devnull. Signed-off-by:
Amador Pahim <apahim@redhat.com> Message-Id: <20170901112829.2571-4-apahim@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by:
Fam Zheng <famz@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Amador Pahim authored
This module should not write directly to stdout/stderr. Instead, it should either raise exceptions or just log the messages and let the callers handle them and decide what to do. For example, scripts could choose to send the log messages stderr or/and write them to a file if verbose or debugging mode is enabled. This patch replaces the writes to stderr by an exception in the send_fd_scm() when _socket_scm_helper is not set or not present. In the same method, the subprocess Popen will now redirect the stdout/stderr to logging.debug instead of writing to system stderr. As consequence, since the Popen.communicate() is now used (in order to get the stdout), the further call to wait() became redundant and was replaced by Popen.returncode. The shutdown() message on negative exit code will now be logged to logging.warn instead of written to system stderr. Signed-off-by:
Amador Pahim <apahim@redhat.com> Message-Id: <20170901112829.2571-3-apahim@redhat.com> Reviewed-by:
Fam Zheng <famz@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Amador Pahim authored
is_running() returns None when called before the first time we call launch(): >>> import qemu >>> vm = qemu.QEMUMachine('qemu-system-x86_64') >>> vm.is_running() >>> It should return False instead. This patch fixes that. For consistence, this patch removes the parenthesis from the second clause as it's not really needed. Signed-off-by:
Amador Pahim <apahim@redhat.com> Message-Id: <20170901112829.2571-2-apahim@redhat.com> Reviewed-by:
Fam Zheng <famz@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Lukáš Doktor authored
No actual code changes, just few pylint/style fixes. Signed-off-by:
Lukáš Doktor <ldoktor@redhat.com> Reviewed-by:
John Snow <jsnow@redhat.com> Message-Id: <20170818142613.32394-11-ldoktor@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Lukáš Doktor authored
The "id" is a builtin method to get object's identity and should not be overridden. This might bring some issues in case someone was directly calling "cmd(..., id=id)" but I haven't found such usage on brief search for "cmd\(.*id=". Signed-off-by:
Lukáš Doktor <ldoktor@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20170818142613.32394-10-ldoktor@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Lukáš Doktor authored
The "has_key" is deprecated in favor of "__in__" operator. Signed-off-by:
Lukáš Doktor <ldoktor@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20170818142613.32394-9-ldoktor@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Lukáš Doktor authored
There is no need to define QEMUMonitorProtocol as old-style class. Signed-off-by:
Lukáš Doktor <ldoktor@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20170818142613.32394-8-ldoktor@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Lukáš Doktor authored
No actual code changes, just initializing attributes earlier to avoid AttributeError on early introspection, a few pylint/style fixes and docstring clarifications. Signed-off-by:
Lukáš Doktor <ldoktor@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20170818142613.32394-7-ldoktor@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Lukáš Doktor authored
The naked Exception should not be widely used. It makes sense to be a bit more specific and use better-suited custom exceptions. As a benefit we can store the full reply in the exception in case someone needs it when catching the exception. Signed-off-by:
Lukáš Doktor <ldoktor@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20170818142613.32394-6-ldoktor@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Lukáš Doktor authored
The QMP key conversion consist of '_'s to be replaced with '-'s, which can easily be done by a single `str.replace` method which is faster and does not require `string` module import. Signed-off-by:
Lukáš Doktor <ldoktor@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20170818142613.32394-5-ldoktor@redhat.com> Reviewed-by:
Cleber Rosa <crosa@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Lukáš Doktor authored
Let's avoid creating an in-memory list of keys and query for each value and use `iteritems` which is an iterator of key-value pairs. Signed-off-by:
Lukáš Doktor <ldoktor@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20170818142613.32394-4-ldoktor@redhat.com> Reviewed-by:
Cleber Rosa <crosa@redhat.com> Signed-off-by:
Eduardo Habkost <ehabkost@redhat.com>
-