mirror of https://gitee.com/openkylin/qemu.git
trivial patches for 2017-07-31
-----BEGIN PGP SIGNATURE----- iQFDBAABCAAtFiEEe3O61ovnosKJMUsicBtPaxppPlkFAll/BBEPHG1qdEB0bHMu bXNrLnJ1AAoJEHAbT2saaT5ZYU8IAJesHjleie9NI33FipPpUYf5Inocwkq9KD/3 b1ibSuDiCrtJYHncL1c5M+th2Rrst7QGrFhji+pjgdz89PzP5B28xt3PvrLAQG6v uvvQX5ZcBM01nJtbxZxjdOnpTNZ5GueuUbDPDtgk5ld3UPUTe1mY9r/qKv7hpE2e RYKTMmGNQbI2J02P2N2iQ7y2xmLynNhI5R8aXRDfzOB263BsDhtRT2h3gNnDsJn8 RWzBD8rAhthKN9SmhdYQjmoaKlAvbDn+DaH21/QoNtThVbLjcaHTpMZqQQ+2i/oX 9musfZG8zxMl8matWHhX8TLwj3iq2BrJq4spwQ70L2eWMbIc+eQ= =aXae -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-fetch' into staging trivial patches for 2017-07-31 # gpg: Signature made Mon 31 Jul 2017 11:18:57 BST # gpg: using RSA key 0x701B4F6B1A693E59 # gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>" # gpg: aka "Michael Tokarev <mjt@corpit.ru>" # gpg: aka "Michael Tokarev <mjt@debian.org>" # Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D 4324 457C E0A0 8044 65C5 # Subkey fingerprint: 7B73 BAD6 8BE7 A2C2 8931 4B22 701B 4F6B 1A69 3E59 * remotes/mjt/tags/trivial-patches-fetch: (25 commits) docs: fix broken paths to docs/specs/ivshmem-spec.txt docs: fix broken paths to docs/config/ich9-ehci-uhci.cfg docs: fix broken paths to docs/devel/tracing.txt docs: fix broken paths to docs/devel/atomics.txt docs: fix broken paths to docs/devel/qapi-code-gen.txt docs: fix broken paths to docs/interop/qcow2.txt docs: fix broken paths to docs/interop dir thunk: assert nb_fields is valid syscall: check inotify() and eventfd() return value syscall: fix use of uninitialized values syscall: fix dereference of undefined pointer linux-user/sh4: fix incorrect memory write m68k/translate: fix incorrect copy/paste net/eth: fix incorrect check of iov_to_buf() return value ui/vnc: fix leak of SocketAddress ** qcow2: fix null pointer dereference ivshmem: fix incorrect error handling in ivshmem_recv_msg() loader: check get_image_size() return value tests: add missing dependency to build QTEST_QEMU_BINARY qemu-system-tricore: segfault when entering "x 0" on the monitor ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
25dd0e7789
|
@ -353,7 +353,7 @@ NETBSD
|
|||
L: qemu-devel@nongnu.org
|
||||
M: Kamil Rytarowski <kamil@netbsd.org>
|
||||
S: Maintained
|
||||
K: (?i)NetBSD
|
||||
K: ^Subject:.*(?i)NetBSD
|
||||
|
||||
W32, W64
|
||||
L: qemu-devel@nongnu.org
|
||||
|
|
2
Makefile
2
Makefile
|
@ -443,7 +443,7 @@ $(qapi-modules) $(SRC_PATH)/scripts/qapi-introspect.py $(qapi-py)
|
|||
"GEN","$@")
|
||||
|
||||
QGALIB_GEN=$(addprefix qga/qapi-generated/, qga-qapi-types.h qga-qapi-visit.h qga-qmp-commands.h)
|
||||
$(qga-obj-y) qemu-ga.o: $(QGALIB_GEN)
|
||||
$(qga-obj-y): $(QGALIB_GEN)
|
||||
|
||||
qemu-ga$(EXESUF): $(qga-obj-y) $(COMMON_LDADDS)
|
||||
$(call LINK, $^)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# audio/alsaaudio.c
|
||||
alsa_revents(int revents) "revents = %d"
|
||||
|
|
|
@ -2189,6 +2189,8 @@ write_refblocks:
|
|||
* this will leak that range, but we can easily fix that by running
|
||||
* a leak-fixing check after this rebuild operation */
|
||||
reftable_offset = -1;
|
||||
} else {
|
||||
assert(on_disk_reftable);
|
||||
}
|
||||
on_disk_reftable[refblock_index] = refblock_offset;
|
||||
|
||||
|
@ -2258,8 +2260,6 @@ write_refblocks:
|
|||
goto write_refblocks;
|
||||
}
|
||||
|
||||
assert(on_disk_reftable);
|
||||
|
||||
for (refblock_index = 0; refblock_index < reftable_size; refblock_index++) {
|
||||
cpu_to_be64s(&on_disk_reftable[refblock_index]);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# block.c
|
||||
bdrv_open_common(void *bs, const char *filename, int flags, const char *format_name) "bs %p filename \"%s\" flags %#x format_name \"%s\""
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# chardev/wctablet.c
|
||||
wct_init(void) ""
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# crypto/tlscreds.c
|
||||
qcrypto_tls_creds_load_dh(void *creds, const char *filename) "TLS creds load DH creds=%p filename=%s"
|
||||
|
|
|
@ -145,7 +145,7 @@ can also be more efficient in two ways:
|
|||
- on some platforms, one can implement QemuLockCnt to hold the lock
|
||||
and the mutex in a single word, making the fast path no more expensive
|
||||
than simply managing a counter using atomic operations (see
|
||||
docs/atomics.txt). This can be very helpful if concurrent access to
|
||||
docs/devel/atomics.txt). This can be very helpful if concurrent access to
|
||||
the data structure is expected to be rare.
|
||||
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ This document doesn't discuss QMP protocol level details, nor does it dive
|
|||
into the QAPI framework implementation.
|
||||
|
||||
For an in-depth introduction to the QAPI framework, please refer to
|
||||
docs/qapi-code-gen.txt. For documentation about the QMP protocol,
|
||||
start with docs/qmp-intro.txt.
|
||||
docs/devel/qapi-code-gen.txt. For documentation about the QMP protocol,
|
||||
start with docs/interop/qmp-intro.txt.
|
||||
|
||||
== Overview ==
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ not a straightforward operation.
|
|||
This document attempts to give an overview of the L2 and refcount
|
||||
caches, and how to configure them.
|
||||
|
||||
Please refer to the docs/specs/qcow2.txt file for an in-depth
|
||||
Please refer to the docs/interop/qcow2.txt file for an in-depth
|
||||
technical description of the qcow2 file format.
|
||||
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ maintained as part of the virtio specification.
|
|||
1af4:1100 Used as PCI Subsystem ID for existing hardware devices emulated
|
||||
by qemu.
|
||||
|
||||
1af4:1110 ivshmem device (shared memory, docs/specs/ivshmem_device_spec.txt)
|
||||
1af4:1110 ivshmem device (shared memory, docs/specs/ivshmem-spec.txt)
|
||||
|
||||
All other device IDs are reserved.
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ companion controllers with two ports each.
|
|||
There is a config file in docs which will do all this for you, just
|
||||
try ...
|
||||
|
||||
qemu -readconfig docs/ich9-ehci-uhci.cfg
|
||||
qemu -readconfig docs/config/ich9-ehci-uhci.cfg
|
||||
|
||||
... then use "bus=ehci.0" to assign your usb devices to that bus.
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/9pfs/virtio-9p.c
|
||||
v9fs_rerror(uint16_t tag, uint8_t id, int err) "tag %d id %d err %d"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/acpi/memory_hotplug.c
|
||||
mhp_acpi_invalid_slot_selected(uint32_t slot) "0x%"PRIx32
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/alpha/pci.c
|
||||
alpha_pci_iack_write(void) ""
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/arm/virt-acpi-build.c
|
||||
virt_acpi_setup(void) "No fw cfg or ACPI disabled. Bailing out."
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/audio/cs4231.c
|
||||
cs4231_mem_readl_dreg(uint32_t reg, uint32_t ret) "read dreg %d: 0x%02x"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/block/dataplane/virtio-blk.c
|
||||
virtio_blk_data_plane_start(void *s) "dataplane %p"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/block/virtio-blk.c
|
||||
virtio_blk_req_complete(void *vdev, void *req, int status) "vdev %p req %p status %d"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/char/virtio-serial-bus.c
|
||||
virtio_serial_send_control_event(unsigned int port, uint16_t event, uint16_t value) "port %u, event %u, value %u"
|
||||
|
|
|
@ -146,7 +146,7 @@ int load_image_targphys_as(const char *filename,
|
|||
int size;
|
||||
|
||||
size = get_image_size(filename);
|
||||
if (size > max_sz) {
|
||||
if (size < 0 || size > max_sz) {
|
||||
return -1;
|
||||
}
|
||||
if (size > 0) {
|
||||
|
@ -168,7 +168,7 @@ int load_image_mr(const char *filename, MemoryRegion *mr)
|
|||
|
||||
size = get_image_size(filename);
|
||||
|
||||
if (size > memory_region_size(mr)) {
|
||||
if (size < 0 || size > memory_region_size(mr)) {
|
||||
return -1;
|
||||
}
|
||||
if (size > 0) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/display/jazz_led.c
|
||||
jazz_led_read(uint64_t addr, uint8_t val) "read addr=0x%"PRIx64": 0x%x"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/dma/rc4030.c
|
||||
jazzio_read(uint64_t addr, uint32_t ret) "read reg[0x%"PRIx64"] = 0x%x"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/i386/x86-iommu.c
|
||||
x86_iommu_iec_notify(bool global, uint32_t index, uint32_t mask) "Notify IEC invalidation: global=%d index=%" PRIu32 " mask=%" PRIu32
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/input/ps2.c
|
||||
ps2_put_keycode(void *opaque, int keycode) "%p keycode %d"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/intc/apic_common.c
|
||||
cpu_set_apic_base(uint64_t val) "%016"PRIx64
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/isa/pc87312.c
|
||||
pc87312_io_read(uint32_t addr, uint32_t val) "read addr=%x val=%x"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/trace-events.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/mem/pc-dimm.c
|
||||
mhp_pc_dimm_assigned_slot(int slot) "%d"
|
||||
|
|
|
@ -642,7 +642,10 @@ static int64_t ivshmem_recv_msg(IVShmemState *s, int *pfd, Error **errp)
|
|||
do {
|
||||
ret = qemu_chr_fe_read_all(&s->server_chr, (uint8_t *)&msg + n,
|
||||
sizeof(msg) - n);
|
||||
if (ret < 0 && ret != -EINTR) {
|
||||
if (ret < 0) {
|
||||
if (ret == -EINTR) {
|
||||
continue;
|
||||
}
|
||||
error_setg_errno(errp, -ret, "read from server failed");
|
||||
return INT64_MIN;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/misc/eccmemctl.c
|
||||
ecc_mem_writel_mer(uint32_t val) "Write memory enable %08x"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/net/lance.c
|
||||
lance_mem_readw(uint64_t addr, uint32_t ret) "addr=%"PRIx64"val=0x%04x"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/nvram/ds1225y.c
|
||||
nvram_read(uint32_t addr, uint32_t ret) "read addr %d: 0x%02x"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/pci/pci.c
|
||||
pci_update_mappings_del(void *d, uint32_t bus, uint32_t slot, uint32_t func, int bar, uint64_t addr, uint64_t size) "d=%p %02x:%02x.%x %d,%#"PRIx64"+%#"PRIx64
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/ppc/spapr_pci.c
|
||||
spapr_pci_msi(const char *msg, uint32_t ca) "%s (cfg=%x)"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/s390x/css.c
|
||||
css_enable_facility(const char *facility) "CSS: enable %s"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/scsi/scsi-bus.c
|
||||
scsi_req_alloc(int target, int lun, int tag) "target %d lun %d tag %d"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/sd/milkymist-memcard.c
|
||||
milkymist_memcard_memory_read(uint32_t addr, uint32_t value) "addr %08x value %08x"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/sparc/sun4m.c
|
||||
sun4m_cpu_interrupt(unsigned int level) "Set CPU IRQ %d"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/timer/slavio_timer.c
|
||||
slavio_timer_get_out(uint64_t limit, uint32_t counthigh, uint32_t count) "limit %"PRIx64" count %x%08x"
|
||||
|
|
|
@ -92,7 +92,10 @@ static void puv3_load_kernel(const char *kernel_filename)
|
|||
if (kernel_filename == NULL && qtest_enabled()) {
|
||||
return;
|
||||
}
|
||||
assert(kernel_filename != NULL);
|
||||
if (kernel_filename == NULL) {
|
||||
error_report("kernel parameter cannot be empty");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* only zImage format supported */
|
||||
size = load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/usb/core.c
|
||||
usb_packet_state_change(int bus, const char *port, int ep, void *p, const char *o, const char *n) "bus %d, port %s, ep %d, packet %p, state %s -> %s"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/vfio/pci.c
|
||||
vfio_intx_interrupt(const char *name, char line) " (%s) Pin %c"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# hw/virtio/virtio.c
|
||||
virtqueue_alloc_element(void *elem, size_t sz, unsigned in_num, unsigned out_num) "elem %p size %zd in_num %u out_num %u"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# include/hw/xen/xen_common.h
|
||||
xen_default_ioreq_server(void) ""
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
* QemuOpts, and clone visitors have some implementation limitations;
|
||||
* see the documentation for each visitor for more details on what it
|
||||
* supports. Also, see visitor-impl.h for the callback contracts
|
||||
* implemented by each visitor, and docs/qapi-code-gen.txt for more
|
||||
* implemented by each visitor, and docs/devel/qapi-code-gen.txt for more
|
||||
* about the QAPI code generator.
|
||||
*
|
||||
* All of the visitors are created via:
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||
* See the COPYING file in the top-level directory.
|
||||
*
|
||||
* See docs/atomics.txt for discussion about the guarantees each
|
||||
* See docs/devel/atomics.txt for discussion about the guarantees each
|
||||
* atomic primitive is meant to provide.
|
||||
*/
|
||||
|
||||
|
@ -427,7 +427,7 @@
|
|||
* sequentially consistent operations.
|
||||
*
|
||||
* As long as they are used as paired operations they are safe to
|
||||
* use. See docs/atomic.txt for more discussion.
|
||||
* use. See docs/devel/atomics.txt for more discussion.
|
||||
*/
|
||||
|
||||
#ifndef atomic_mb_read
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# io/task.c
|
||||
qio_task_new(void *task, void *source, void *func, void *opaque) "Task new task=%p source=%p func=%p opaque=%p"
|
||||
|
|
|
@ -1099,7 +1099,7 @@ static inline void elf_core_copy_regs(target_elf_gregset_t *regs,
|
|||
int i;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
(*regs[i]) = tswapreg(env->gregs[i]);
|
||||
(*regs)[i] = tswapreg(env->gregs[i]);
|
||||
}
|
||||
|
||||
(*regs)[TARGET_REG_PC] = tswapreg(env->pc);
|
||||
|
|
|
@ -1622,6 +1622,7 @@ static inline abi_long host_to_target_sockaddr(abi_ulong target_addr,
|
|||
if (len == 0) {
|
||||
return 0;
|
||||
}
|
||||
assert(addr);
|
||||
|
||||
target_saddr = lock_user(VERIFY_WRITE, target_addr, len, 0);
|
||||
if (!target_saddr)
|
||||
|
@ -5573,6 +5574,7 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp,
|
|||
field_types, THUNK_HOST);
|
||||
}
|
||||
unlock_user(argptr, arg, 0);
|
||||
assert(host_rt_dev_ptr);
|
||||
|
||||
ret = get_errno(safe_ioctl(fd, ie->host_cmd, buf_temp));
|
||||
if (*host_rt_dev_ptr != 0) {
|
||||
|
@ -11740,7 +11742,9 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|||
#if defined(TARGET_NR_inotify_init) && defined(__NR_inotify_init)
|
||||
case TARGET_NR_inotify_init:
|
||||
ret = get_errno(sys_inotify_init());
|
||||
fd_trans_register(ret, &target_inotify_trans);
|
||||
if (ret >= 0) {
|
||||
fd_trans_register(ret, &target_inotify_trans);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#ifdef CONFIG_INOTIFY1
|
||||
|
@ -11748,7 +11752,9 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|||
case TARGET_NR_inotify_init1:
|
||||
ret = get_errno(sys_inotify_init1(target_to_host_bitmask(arg1,
|
||||
fcntl_flags_tbl)));
|
||||
fd_trans_register(ret, &target_inotify_trans);
|
||||
if (ret >= 0) {
|
||||
fd_trans_register(ret, &target_inotify_trans);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#endif
|
||||
|
@ -11914,7 +11920,9 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|||
#if defined(TARGET_NR_eventfd)
|
||||
case TARGET_NR_eventfd:
|
||||
ret = get_errno(eventfd(arg1, 0));
|
||||
fd_trans_register(ret, &target_eventfd_trans);
|
||||
if (ret >= 0) {
|
||||
fd_trans_register(ret, &target_eventfd_trans);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#if defined(TARGET_NR_eventfd2)
|
||||
|
@ -11928,7 +11936,9 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|||
host_flags |= O_CLOEXEC;
|
||||
}
|
||||
ret = get_errno(eventfd(arg1, host_flags));
|
||||
fd_trans_register(ret, &target_eventfd_trans);
|
||||
if (ret >= 0) {
|
||||
fd_trans_register(ret, &target_eventfd_trans);
|
||||
}
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# linux-user/signal.c
|
||||
user_setup_frame(void *env, uint64_t frame_addr) "env=%p frame_addr=%"PRIx64
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# migration/savevm.c
|
||||
qemu_loadvm_state_section(unsigned int section_type) "%d"
|
||||
|
|
|
@ -423,7 +423,7 @@ _eth_get_rss_ex_dst_addr(const struct iovec *pkt, int pkt_frags,
|
|||
rthdr_offset + sizeof(*ext_hdr),
|
||||
dst_addr, sizeof(*dst_addr));
|
||||
|
||||
return bytes_read == sizeof(dst_addr);
|
||||
return bytes_read == sizeof(*dst_addr);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -472,7 +472,7 @@ _eth_get_rss_ex_src_addr(const struct iovec *pkt, int pkt_frags,
|
|||
opt_offset + sizeof(opthdr),
|
||||
src_addr, sizeof(*src_addr));
|
||||
|
||||
return bytes_read == sizeof(src_addr);
|
||||
return bytes_read == sizeof(*src_addr);
|
||||
}
|
||||
|
||||
opt_offset += optlen;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# net/vhost-user.c
|
||||
vhost_user_event(const char *chr, int event) "chr: %s got event: %d"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
# | -> data issued by the Client
|
||||
# | <- Server data response
|
||||
#
|
||||
# Please, refer to the QMP specification (docs/qmp-spec.txt) for
|
||||
# Please, refer to the QMP specification (docs/interop/qmp-spec.txt) for
|
||||
# detailed information on the Server command and response formats.
|
||||
#
|
||||
# = Stability Considerations
|
||||
|
@ -108,7 +108,7 @@
|
|||
#
|
||||
# Notes: This command is valid exactly when first connecting: it must be
|
||||
# issued before any other command will be accepted, and will fail once the
|
||||
# monitor is accepting other commands. (see qemu docs/qmp-spec.txt)
|
||||
# monitor is accepting other commands. (see qemu docs/interop/qmp-spec.txt)
|
||||
#
|
||||
# Since: 0.13
|
||||
#
|
||||
|
|
|
@ -226,7 +226,7 @@
|
|||
#
|
||||
# @members: the alternate type's members, in no particular order.
|
||||
# The members' wire encoding is distinct, see
|
||||
# docs/qapi-code-gen.txt section Alternate types.
|
||||
# docs/devel/qapi-code-gen.txt section Alternate types.
|
||||
#
|
||||
# On the wire, this can be any of the members.
|
||||
#
|
||||
|
|
|
@ -40,7 +40,7 @@ int qapi_enum_parse(const char * const lookup[], const char *buf,
|
|||
* It may be prefixed by __RFQDN_ (downstream extension), where RFQDN
|
||||
* may contain only letters, digits, hyphen and period.
|
||||
* The special exception for enumeration names is not implemented.
|
||||
* See docs/qapi-code-gen.txt for more on QAPI naming rules.
|
||||
* See docs/devel/qapi-code-gen.txt for more on QAPI naming rules.
|
||||
* Keep this consistent with scripts/qapi.py!
|
||||
* If @complete, the parse fails unless it consumes @str completely.
|
||||
* Return its length on success, -1 on failure.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# qom/object.c
|
||||
object_dynamic_cast_assert(const char *type, const char *target, const char *file, int line, const char *func) "%s->%s (%s:%d:%s)"
|
||||
|
|
|
@ -91,7 +91,7 @@ def texi_format(doc):
|
|||
# doesn't.
|
||||
#
|
||||
# Make sure to update section "Documentation markup" in
|
||||
# docs/qapi-code-gen.txt when fixing this.
|
||||
# docs/devel/qapi-code-gen.txt when fixing this.
|
||||
if line.startswith('| '):
|
||||
line = EXAMPLE_FMT(code=line[2:])
|
||||
elif line.startswith('= '):
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# This work is licensed under the terms of the GNU GPL, version 2. See
|
||||
# the COPYING file in the top-level directory.
|
||||
#
|
||||
# For help see docs/tracing.txt
|
||||
# For help see docs/devel/tracing.txt
|
||||
|
||||
import struct
|
||||
import re
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# target/arm/helper.c
|
||||
arm_gt_recalc(int timer, int irqstate, uint64_t nexttick) "gt recalc: timer %d irqstate %d next tick %" PRIx64
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# target/i386/kvm.c
|
||||
kvm_x86_fixup_msi_error(uint32_t gsi) "VT-d failed to remap interrupt for GSI %" PRIu32
|
||||
|
|
|
@ -1321,7 +1321,7 @@ static void gen_cc_cond(DisasCompare *c, DisasContext *s, int cond)
|
|||
case 5: /* CS (C) */
|
||||
/* Some cases fold C into X. */
|
||||
if (op == CC_OP_ADDB || op == CC_OP_ADDW || op == CC_OP_ADDL ||
|
||||
op == CC_OP_ADDB || op == CC_OP_ADDW || op == CC_OP_ADDL) {
|
||||
op == CC_OP_SUBB || op == CC_OP_SUBW || op == CC_OP_SUBL) {
|
||||
tcond = TCG_COND_NE;
|
||||
c->v1 = QREG_CC_X;
|
||||
goto done;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# target/mips/translate.c
|
||||
mips_translate_c0(const char *instr, const char *rn, int reg, int sel) "%s %s (reg %d sel %d)"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# target/ppc/kvm.c
|
||||
kvm_failed_spr_set(int str, const char *msg) "Warning: Unable to set SPR %d to KVM: %s"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# target/s390x/mmu_helper.c
|
||||
get_skeys_nonzero(int rc) "SKEY: Call to get_skeys unexpectedly returned %d"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# target/sparc/mmu_helper.c
|
||||
mmu_helper_dfault(uint64_t address, uint64_t context, int mmu_idx, uint32_t tl) "DFAULT at %"PRIx64" context %"PRIx64" mmu_idx=%d tl=%d"
|
||||
|
|
|
@ -22,6 +22,15 @@
|
|||
#include "cpu.h"
|
||||
#include "qemu-common.h"
|
||||
#include "exec/exec-all.h"
|
||||
#include "qemu/error-report.h"
|
||||
|
||||
static hwaddr tricore_cpu_get_phys_page_attrs_debug(CPUState *cpu, vaddr addr,
|
||||
MemTxAttrs *attrs)
|
||||
{
|
||||
error_report("function cpu_get_phys_page_attrs_debug not "
|
||||
"implemented, aborting");
|
||||
return -1;
|
||||
}
|
||||
|
||||
static inline void set_feature(CPUTriCoreState *env, int feature)
|
||||
{
|
||||
|
@ -176,6 +185,7 @@ static void tricore_cpu_class_init(ObjectClass *c, void *data)
|
|||
cc->dump_state = tricore_cpu_dump_state;
|
||||
cc->set_pc = tricore_cpu_set_pc;
|
||||
cc->synchronize_from_tb = tricore_cpu_synchronize_from_tb;
|
||||
cc->get_phys_page_attrs_debug = tricore_cpu_get_phys_page_attrs_debug;
|
||||
}
|
||||
|
||||
static void cpu_register(const TriCoreCPUInfo *info)
|
||||
|
|
|
@ -446,7 +446,7 @@ when MTTCG is enabled.
|
|||
The guest translators should generate this opcode for all guest instructions
|
||||
which have ordering side effects.
|
||||
|
||||
Please see docs/atomics.txt for more information on memory barriers.
|
||||
Please see docs/devel/atomics.txt for more information on memory barriers.
|
||||
|
||||
********* 64-bit guest on 32-bit host support
|
||||
|
||||
|
|
|
@ -219,7 +219,7 @@ gcov-files-i386-y += hw/block/hd-geometry.c
|
|||
check-qtest-i386-y += tests/boot-order-test$(EXESUF)
|
||||
check-qtest-i386-y += tests/bios-tables-test$(EXESUF)
|
||||
check-qtest-i386-y += tests/boot-serial-test$(EXESUF)
|
||||
check-qtest-i386-y += tests/pxe-test$(EXESUF)
|
||||
check-qtest-i386-$(CONFIG_SLIRP) += tests/pxe-test$(EXESUF)
|
||||
check-qtest-i386-y += tests/rtc-test$(EXESUF)
|
||||
check-qtest-i386-y += tests/ipmi-kcs-test$(EXESUF)
|
||||
check-qtest-i386-y += tests/ipmi-bt-test$(EXESUF)
|
||||
|
@ -259,7 +259,7 @@ check-qtest-i386-$(CONFIG_VHOST_NET_TEST_i386) += tests/vhost-user-test$(EXESUF)
|
|||
ifeq ($(CONFIG_VHOST_NET_TEST_i386),)
|
||||
check-qtest-x86_64-$(CONFIG_VHOST_NET_TEST_x86_64) += tests/vhost-user-test$(EXESUF)
|
||||
endif
|
||||
check-qtest-i386-y += tests/test-netfilter$(EXESUF)
|
||||
check-qtest-i386-$(CONFIG_SLIRP) += tests/test-netfilter$(EXESUF)
|
||||
check-qtest-i386-y += tests/test-filter-mirror$(EXESUF)
|
||||
check-qtest-i386-y += tests/test-filter-redirector$(EXESUF)
|
||||
check-qtest-i386-y += tests/postcopy-test$(EXESUF)
|
||||
|
@ -293,7 +293,7 @@ check-qtest-ppc64-y += tests/drive_del-test$(EXESUF)
|
|||
check-qtest-ppc64-y += tests/postcopy-test$(EXESUF)
|
||||
check-qtest-ppc64-y += tests/boot-serial-test$(EXESUF)
|
||||
check-qtest-ppc64-y += tests/rtas-test$(EXESUF)
|
||||
check-qtest-ppc64-y += tests/pxe-test$(EXESUF)
|
||||
check-qtest-ppc64-$(CONFIG_SLIRP) += tests/pxe-test$(EXESUF)
|
||||
check-qtest-ppc64-y += tests/usb-hcd-ohci-test$(EXESUF)
|
||||
gcov-files-ppc64-y += hw/usb/hcd-ohci.c
|
||||
check-qtest-ppc64-y += tests/usb-hcd-uhci-test$(EXESUF)
|
||||
|
@ -301,7 +301,7 @@ gcov-files-ppc64-y += hw/usb/hcd-uhci.c
|
|||
check-qtest-ppc64-y += tests/usb-hcd-xhci-test$(EXESUF)
|
||||
gcov-files-ppc64-y += hw/usb/hcd-xhci.c
|
||||
check-qtest-ppc64-y += $(check-qtest-virtio-y)
|
||||
check-qtest-ppc64-y += tests/test-netfilter$(EXESUF)
|
||||
check-qtest-ppc64-$(CONFIG_SLIRP) += tests/test-netfilter$(EXESUF)
|
||||
check-qtest-ppc64-y += tests/test-filter-mirror$(EXESUF)
|
||||
check-qtest-ppc64-y += tests/test-filter-redirector$(EXESUF)
|
||||
check-qtest-ppc64-y += tests/display-vga-test$(EXESUF)
|
||||
|
@ -830,7 +830,7 @@ GCOV_OPTIONS = -n $(if $(V),-f,)
|
|||
# gtester tests, possibly with verbose output
|
||||
|
||||
.PHONY: $(patsubst %, check-qtest-%, $(QTEST_TARGETS))
|
||||
$(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: $(check-qtest-y)
|
||||
$(patsubst %, check-qtest-%, $(QTEST_TARGETS)): check-qtest-%: subdir-%-softmmu $(check-qtest-y)
|
||||
$(if $(CONFIG_GCOV),@rm -f *.gcda */*.gcda */*/*.gcda */*/*/*.gcda,)
|
||||
$(call quiet-command,QTEST_QEMU_BINARY=$*-softmmu/qemu-system-$* \
|
||||
QTEST_QEMU_IMG=qemu-img$(EXESUF) \
|
||||
|
|
|
@ -428,6 +428,8 @@ static void test_dummy_createcmdl(void)
|
|||
g_assert(err == NULL);
|
||||
error_free(err);
|
||||
|
||||
object_unref(OBJECT(dobj));
|
||||
|
||||
/*
|
||||
* cmdline-parsing via qemu_opts_parse() results in a QemuOpts entry
|
||||
* corresponding to the Object's ID to be added to the QemuOptsList
|
||||
|
|
3
thunk.c
3
thunk.c
|
@ -67,7 +67,6 @@ void thunk_register_struct(int id, const char *name, const argtype *types)
|
|||
int nb_fields, offset, max_align, align, size, i, j;
|
||||
|
||||
assert(id < max_struct_entries);
|
||||
se = struct_entries + id;
|
||||
|
||||
/* first we count the number of fields */
|
||||
type_ptr = types;
|
||||
|
@ -76,6 +75,8 @@ void thunk_register_struct(int id, const char *name, const argtype *types)
|
|||
type_ptr = thunk_type_next(type_ptr);
|
||||
nb_fields++;
|
||||
}
|
||||
assert(nb_fields > 0);
|
||||
se = struct_entries + id;
|
||||
se->field_types = types;
|
||||
se->nb_fields = nb_fields;
|
||||
se->name = name;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# ui/console.c
|
||||
console_gfx_new(void) ""
|
||||
|
|
36
ui/vnc.c
36
ui/vnc.c
|
@ -3521,6 +3521,20 @@ static int vnc_display_get_address(const char *addrstr,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void vnc_free_addresses(SocketAddress ***retsaddr,
|
||||
size_t *retnsaddr)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < *retnsaddr; i++) {
|
||||
qapi_free_SocketAddress((*retsaddr)[i]);
|
||||
}
|
||||
g_free(*retsaddr);
|
||||
|
||||
*retsaddr = NULL;
|
||||
*retnsaddr = 0;
|
||||
}
|
||||
|
||||
static int vnc_display_get_addresses(QemuOpts *opts,
|
||||
bool reverse,
|
||||
SocketAddress ***retsaddr,
|
||||
|
@ -3538,7 +3552,6 @@ static int vnc_display_get_addresses(QemuOpts *opts,
|
|||
bool has_ipv6 = qemu_opt_get(opts, "ipv6");
|
||||
bool ipv4 = qemu_opt_get_bool(opts, "ipv4", false);
|
||||
bool ipv6 = qemu_opt_get_bool(opts, "ipv6", false);
|
||||
size_t i;
|
||||
int displaynum = -1;
|
||||
int ret = -1;
|
||||
|
||||
|
@ -3614,16 +3627,8 @@ static int vnc_display_get_addresses(QemuOpts *opts,
|
|||
ret = 0;
|
||||
cleanup:
|
||||
if (ret < 0) {
|
||||
for (i = 0; i < *retnsaddr; i++) {
|
||||
qapi_free_SocketAddress((*retsaddr)[i]);
|
||||
}
|
||||
g_free(*retsaddr);
|
||||
for (i = 0; i < *retnwsaddr; i++) {
|
||||
qapi_free_SocketAddress((*retwsaddr)[i]);
|
||||
}
|
||||
g_free(*retwsaddr);
|
||||
*retsaddr = *retwsaddr = NULL;
|
||||
*retnsaddr = *retnwsaddr = 0;
|
||||
vnc_free_addresses(retsaddr, retnsaddr);
|
||||
vnc_free_addresses(retwsaddr, retnwsaddr);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -3772,7 +3777,6 @@ void vnc_display_open(const char *id, Error **errp)
|
|||
int acl = 0;
|
||||
int lock_key_sync = 1;
|
||||
int key_delay_ms;
|
||||
size_t i;
|
||||
|
||||
if (!vd) {
|
||||
error_setg(errp, "VNC display not active");
|
||||
|
@ -3993,12 +3997,8 @@ void vnc_display_open(const char *id, Error **errp)
|
|||
}
|
||||
|
||||
cleanup:
|
||||
for (i = 0; i < nsaddr; i++) {
|
||||
qapi_free_SocketAddress(saddr[i]);
|
||||
}
|
||||
for (i = 0; i < nwsaddr; i++) {
|
||||
qapi_free_SocketAddress(wsaddr[i]);
|
||||
}
|
||||
vnc_free_addresses(&saddr, &nsaddr);
|
||||
vnc_free_addresses(&wsaddr, &nwsaddr);
|
||||
return;
|
||||
|
||||
fail:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# See docs/tracing.txt for syntax documentation.
|
||||
# See docs/devel/tracing.txt for syntax documentation.
|
||||
|
||||
# util/aio-posix.c
|
||||
run_poll_handlers_begin(void *ctx, int64_t max_ns) "ctx %p max_ns %"PRId64
|
||||
|
|
Loading…
Reference in New Issue