1
The following changes since commit d147f7e815f97cb477e223586bcb80c316ae10ea:
1
The following changes since commit 15ef89d2a1a7b93845a6b09c2ee8e1979f6eb30b:
2
2
3
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging (2017-10-03 16:27:24 +0100)
3
Update version for v7.0.0-rc1 release (2022-03-22 22:58:44 +0000)
4
4
5
are available in the git repository at:
5
are available in the Git repository at:
6
6
7
git://github.com/stefanha/qemu.git tags/block-pull-request
7
https://gitlab.com/stefanha/qemu.git tags/block-pull-request
8
8
9
for you to fetch changes up to f708a5e71cba0d784e307334c07ade5f56f827ab:
9
for you to fetch changes up to 2539eade4f689eda7e9fe45486f18334bfbafaf0:
10
10
11
aio: fix assert when remove poll during destroy (2017-10-03 14:36:19 -0400)
11
hw: Fix misleading hexadecimal format (2022-03-24 10:38:42 +0000)
12
13
----------------------------------------------------------------
14
Pull request
15
16
Philippe found cases where the 0x%d format string was used, leading to
17
misleading output. The patches look harmless and could save people time, so I
18
think it's worth including them in 7.0.
12
19
13
----------------------------------------------------------------
20
----------------------------------------------------------------
14
21
15
----------------------------------------------------------------
22
Philippe Mathieu-Daudé (2):
23
block: Fix misleading hexadecimal format
24
hw: Fix misleading hexadecimal format
16
25
17
Peter Xu (4):
26
block/parallels-ext.c | 2 +-
18
qom: provide root container for internal objs
27
hw/i386/sgx.c | 2 +-
19
iothread: provide helpers for internal use
28
hw/i386/trace-events | 6 +++---
20
iothread: export iothread_stop()
29
hw/misc/trace-events | 4 ++--
21
iothread: delay the context release to finalize
30
hw/scsi/trace-events | 4 ++--
22
31
5 files changed, 9 insertions(+), 9 deletions(-)
23
Stefan Hajnoczi (1):
24
aio: fix assert when remove poll during destroy
25
26
include/qom/object.h | 11 +++++++++++
27
include/sysemu/iothread.h | 9 +++++++++
28
iothread.c | 46 ++++++++++++++++++++++++++++++++++++----------
29
qom/object.c | 11 +++++++++++
30
util/aio-posix.c | 9 ++++++++-
31
5 files changed, 75 insertions(+), 11 deletions(-)
32
32
33
--
33
--
34
2.13.6
34
2.35.1
35
35
36
diff view generated by jsdifflib
Deleted patch
1
From: Peter Xu <peterx@redhat.com>
2
1
3
We have object_get_objects_root() to keep user created objects, however
4
no place for objects that will be used internally. Create such a
5
container for internal objects.
6
7
CC: Andreas Färber <afaerber@suse.de>
8
CC: Markus Armbruster <armbru@redhat.com>
9
CC: Paolo Bonzini <pbonzini@redhat.com>
10
Suggested-by: Daniel P. Berrange <berrange@redhat.com>
11
Signed-off-by: Peter Xu <peterx@redhat.com>
12
Reviewed-by: Fam Zheng <famz@redhat.com>
13
Message-id: 20170928025958.1420-2-peterx@redhat.com
14
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
15
---
16
include/qom/object.h | 11 +++++++++++
17
qom/object.c | 11 +++++++++++
18
2 files changed, 22 insertions(+)
19
20
diff --git a/include/qom/object.h b/include/qom/object.h
21
index XXXXXXX..XXXXXXX 100644
22
--- a/include/qom/object.h
23
+++ b/include/qom/object.h
24
@@ -XXX,XX +XXX,XX @@ Object *object_get_root(void);
25
Object *object_get_objects_root(void);
26
27
/**
28
+ * object_get_internal_root:
29
+ *
30
+ * Get the container object that holds internally used object
31
+ * instances. Any object which is put into this container must not be
32
+ * user visible, and it will not be exposed in the QOM tree.
33
+ *
34
+ * Returns: the internal object container
35
+ */
36
+Object *object_get_internal_root(void);
37
+
38
+/**
39
* object_get_canonical_path_component:
40
*
41
* Returns: The final component in the object's canonical path. The canonical
42
diff --git a/qom/object.c b/qom/object.c
43
index XXXXXXX..XXXXXXX 100644
44
--- a/qom/object.c
45
+++ b/qom/object.c
46
@@ -XXX,XX +XXX,XX @@ Object *object_get_objects_root(void)
47
return container_get(object_get_root(), "/objects");
48
}
49
50
+Object *object_get_internal_root(void)
51
+{
52
+ static Object *internal_root;
53
+
54
+ if (!internal_root) {
55
+ internal_root = object_new("container");
56
+ }
57
+
58
+ return internal_root;
59
+}
60
+
61
static void object_get_child_property(Object *obj, Visitor *v,
62
const char *name, void *opaque,
63
Error **errp)
64
--
65
2.13.6
66
67
diff view generated by jsdifflib
Deleted patch
1
From: Peter Xu <peterx@redhat.com>
2
1
3
IOThread is a general framework that contains IO loop environment and a
4
real thread behind. It's also good to be used internally inside qemu.
5
Provide some helpers for it to create iothreads to be used internally.
6
7
Put all the internal used iothreads into the internal object container.
8
9
Reviewed-by: Fam Zheng <famz@redhat.com>
10
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
11
Signed-off-by: Peter Xu <peterx@redhat.com>
12
Message-id: 20170928025958.1420-3-peterx@redhat.com
13
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
14
---
15
include/sysemu/iothread.h | 8 ++++++++
16
iothread.c | 16 ++++++++++++++++
17
2 files changed, 24 insertions(+)
18
19
diff --git a/include/sysemu/iothread.h b/include/sysemu/iothread.h
20
index XXXXXXX..XXXXXXX 100644
21
--- a/include/sysemu/iothread.h
22
+++ b/include/sysemu/iothread.h
23
@@ -XXX,XX +XXX,XX @@ AioContext *iothread_get_aio_context(IOThread *iothread);
24
void iothread_stop_all(void);
25
GMainContext *iothread_get_g_main_context(IOThread *iothread);
26
27
+/*
28
+ * Helpers used to allocate iothreads for internal use. These
29
+ * iothreads will not be seen by monitor clients when query using
30
+ * "query-iothreads".
31
+ */
32
+IOThread *iothread_create(const char *id, Error **errp);
33
+void iothread_destroy(IOThread *iothread);
34
+
35
#endif /* IOTHREAD_H */
36
diff --git a/iothread.c b/iothread.c
37
index XXXXXXX..XXXXXXX 100644
38
--- a/iothread.c
39
+++ b/iothread.c
40
@@ -XXX,XX +XXX,XX @@ GMainContext *iothread_get_g_main_context(IOThread *iothread)
41
42
return iothread->worker_context;
43
}
44
+
45
+IOThread *iothread_create(const char *id, Error **errp)
46
+{
47
+ Object *obj;
48
+
49
+ obj = object_new_with_props(TYPE_IOTHREAD,
50
+ object_get_internal_root(),
51
+ id, errp, NULL);
52
+
53
+ return IOTHREAD(obj);
54
+}
55
+
56
+void iothread_destroy(IOThread *iothread)
57
+{
58
+ object_unparent(OBJECT(iothread));
59
+}
60
--
61
2.13.6
62
63
diff view generated by jsdifflib
Deleted patch
1
From: Peter Xu <peterx@redhat.com>
2
1
3
So that internal iothread users can explicitly stop one iothread without
4
destroying it.
5
6
Since at it, fix iothread_stop() to allow it to be called multiple
7
times. Before this patch we may call iothread_stop() more than once on
8
single iothread, while that may not be correct since qemu_thread_join()
9
is not allowed to run twice. From manual of pthread_join():
10
11
Joining with a thread that has previously been joined results in
12
undefined behavior.
13
14
Reviewed-by: Fam Zheng <famz@redhat.com>
15
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
16
Signed-off-by: Peter Xu <peterx@redhat.com>
17
Message-id: 20170928025958.1420-4-peterx@redhat.com
18
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
19
---
20
include/sysemu/iothread.h | 1 +
21
iothread.c | 24 ++++++++++++++++--------
22
2 files changed, 17 insertions(+), 8 deletions(-)
23
24
diff --git a/include/sysemu/iothread.h b/include/sysemu/iothread.h
25
index XXXXXXX..XXXXXXX 100644
26
--- a/include/sysemu/iothread.h
27
+++ b/include/sysemu/iothread.h
28
@@ -XXX,XX +XXX,XX @@ GMainContext *iothread_get_g_main_context(IOThread *iothread);
29
* "query-iothreads".
30
*/
31
IOThread *iothread_create(const char *id, Error **errp);
32
+void iothread_stop(IOThread *iothread);
33
void iothread_destroy(IOThread *iothread);
34
35
#endif /* IOTHREAD_H */
36
diff --git a/iothread.c b/iothread.c
37
index XXXXXXX..XXXXXXX 100644
38
--- a/iothread.c
39
+++ b/iothread.c
40
@@ -XXX,XX +XXX,XX @@ static void *iothread_run(void *opaque)
41
return NULL;
42
}
43
44
-static int iothread_stop(Object *object, void *opaque)
45
+void iothread_stop(IOThread *iothread)
46
{
47
- IOThread *iothread;
48
-
49
- iothread = (IOThread *)object_dynamic_cast(object, TYPE_IOTHREAD);
50
- if (!iothread || !iothread->ctx || iothread->stopping) {
51
- return 0;
52
+ if (!iothread->ctx || iothread->stopping) {
53
+ return;
54
}
55
iothread->stopping = true;
56
aio_notify(iothread->ctx);
57
@@ -XXX,XX +XXX,XX @@ static int iothread_stop(Object *object, void *opaque)
58
g_main_loop_quit(iothread->main_loop);
59
}
60
qemu_thread_join(&iothread->thread);
61
+}
62
+
63
+static int iothread_stop_iter(Object *object, void *opaque)
64
+{
65
+ IOThread *iothread;
66
+
67
+ iothread = (IOThread *)object_dynamic_cast(object, TYPE_IOTHREAD);
68
+ if (!iothread) {
69
+ return 0;
70
+ }
71
+ iothread_stop(iothread);
72
return 0;
73
}
74
75
@@ -XXX,XX +XXX,XX @@ static void iothread_instance_finalize(Object *obj)
76
{
77
IOThread *iothread = IOTHREAD(obj);
78
79
- iothread_stop(obj, NULL);
80
+ iothread_stop(iothread);
81
qemu_cond_destroy(&iothread->init_done_cond);
82
qemu_mutex_destroy(&iothread->init_done_lock);
83
if (!iothread->ctx) {
84
@@ -XXX,XX +XXX,XX @@ void iothread_stop_all(void)
85
aio_context_release(ctx);
86
}
87
88
- object_child_foreach(container, iothread_stop, NULL);
89
+ object_child_foreach(container, iothread_stop_iter, NULL);
90
}
91
92
static gpointer iothread_g_main_context_init(gpointer opaque)
93
--
94
2.13.6
95
96
diff view generated by jsdifflib
1
After iothread is enabled internally inside QEMU with GMainContext, we
1
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
2
may encounter this warning when destroying the iothread:
3
2
4
(qemu-system-x86_64:19925): GLib-CRITICAL **: g_source_remove_poll:
3
"0x%u" format is very misleading, replace by "0x%x".
5
assertion '!SOURCE_DESTROYED (source)' failed
6
4
7
The problem is that g_source_remove_poll() does not allow to remove one
5
Found running:
8
source from array if the source is detached from its owner
9
context. (peterx: which IMHO does not make much sense)
10
6
11
Fix it on QEMU side by avoid calling g_source_remove_poll() if we know
7
$ git grep -E '0x%[0-9]*([lL]*|" ?PRI)[dDuU]' block/
12
the object is during destruction, and we won't leak anything after all
13
since the array will be gone soon cleanly even with that fd.
14
8
15
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
9
Inspired-by: Richard Henderson <richard.henderson@linaro.org>
16
Reviewed-by: Fam Zheng <famz@redhat.com>
10
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
17
Signed-off-by: Peter Xu <peterx@redhat.com>
11
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
18
Message-id: 20170928025958.1420-6-peterx@redhat.com
12
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
19
[peterx: write the commit message]
13
Reviewed-by: Denis V. Lunev <den@openvz.org>
20
Signed-off-by: Peter Xu <peterx@redhat.com>
14
Message-id: 20220323114718.58714-2-philippe.mathieu.daude@gmail.com
21
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
15
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
22
---
16
---
23
util/aio-posix.c | 9 ++++++++-
17
block/parallels-ext.c | 2 +-
24
1 file changed, 8 insertions(+), 1 deletion(-)
18
1 file changed, 1 insertion(+), 1 deletion(-)
25
19
26
diff --git a/util/aio-posix.c b/util/aio-posix.c
20
diff --git a/block/parallels-ext.c b/block/parallels-ext.c
27
index XXXXXXX..XXXXXXX 100644
21
index XXXXXXX..XXXXXXX 100644
28
--- a/util/aio-posix.c
22
--- a/block/parallels-ext.c
29
+++ b/util/aio-posix.c
23
+++ b/block/parallels-ext.c
30
@@ -XXX,XX +XXX,XX @@ void aio_set_fd_handler(AioContext *ctx,
24
@@ -XXX,XX +XXX,XX @@ static int parallels_parse_format_extension(BlockDriverState *bs,
31
return;
25
break;
26
27
default:
28
- error_setg(errp, "Unknown feature: 0x%" PRIu64, fh.magic);
29
+ error_setg(errp, "Unknown feature: 0x%" PRIx64, fh.magic);
30
goto fail;
32
}
31
}
33
32
34
- g_source_remove_poll(&ctx->source, &node->pfd);
35
+ /* If the GSource is in the process of being destroyed then
36
+ * g_source_remove_poll() causes an assertion failure. Skip
37
+ * removal in that case, because glib cleans up its state during
38
+ * destruction anyway.
39
+ */
40
+ if (!g_source_is_destroyed(&ctx->source)) {
41
+ g_source_remove_poll(&ctx->source, &node->pfd);
42
+ }
43
44
/* If the lock is held, just mark the node as deleted */
45
if (qemu_lockcnt_count(&ctx->list_lock)) {
46
--
33
--
47
2.13.6
34
2.35.1
48
35
49
36
diff view generated by jsdifflib
1
From: Peter Xu <peterx@redhat.com>
1
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
2
2
3
When gcontext is used with iothread, the context will be destroyed
3
"0x%u" format is very misleading, replace by "0x%x".
4
during iothread_stop(). That's not good since sometimes we would like
5
to keep the resources until iothread is destroyed, but we may want to
6
stop the thread before that point.
7
4
8
Delay the destruction of gcontext to iothread finalize. Then we can do:
5
Found running:
9
6
10
iothread_stop(thread);
7
$ git grep -E '0x%[0-9]*([lL]*|" ?PRI)[dDuU]' hw/
11
some_cleanup_on_resources();
12
iothread_destroy(thread);
13
8
14
We may need this patch if we want to run chardev IOs in iothreads and
9
Inspired-by: Richard Henderson <richard.henderson@linaro.org>
15
hopefully clean them up correctly. For more specific information,
10
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
16
please see 2b316774f6 ("qemu-char: do not operate on sources from
11
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
17
finalize callbacks").
12
Message-id: 20220323114718.58714-3-philippe.mathieu.daude@gmail.com
18
19
Reviewed-by: Fam Zheng <famz@redhat.com>
20
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
21
Signed-off-by: Peter Xu <peterx@redhat.com>
22
Message-id: 20170928025958.1420-5-peterx@redhat.com
23
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
13
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
24
---
14
---
25
iothread.c | 6 ++++--
15
hw/i386/sgx.c | 2 +-
26
1 file changed, 4 insertions(+), 2 deletions(-)
16
hw/i386/trace-events | 6 +++---
17
hw/misc/trace-events | 4 ++--
18
hw/scsi/trace-events | 4 ++--
19
4 files changed, 8 insertions(+), 8 deletions(-)
27
20
28
diff --git a/iothread.c b/iothread.c
21
diff --git a/hw/i386/sgx.c b/hw/i386/sgx.c
29
index XXXXXXX..XXXXXXX 100644
22
index XXXXXXX..XXXXXXX 100644
30
--- a/iothread.c
23
--- a/hw/i386/sgx.c
31
+++ b/iothread.c
24
+++ b/hw/i386/sgx.c
32
@@ -XXX,XX +XXX,XX @@ static void *iothread_run(void *opaque)
25
@@ -XXX,XX +XXX,XX @@ void pc_machine_init_sgx_epc(PCMachineState *pcms)
33
g_main_loop_unref(loop);
34
35
g_main_context_pop_thread_default(iothread->worker_context);
36
- g_main_context_unref(iothread->worker_context);
37
- iothread->worker_context = NULL;
38
}
39
}
26
}
40
27
41
@@ -XXX,XX +XXX,XX @@ static void iothread_instance_finalize(Object *obj)
28
if ((sgx_epc->base + sgx_epc->size) < sgx_epc->base) {
42
IOThread *iothread = IOTHREAD(obj);
29
- error_report("Size of all 'sgx-epc' =0x%"PRIu64" causes EPC to wrap",
43
30
+ error_report("Size of all 'sgx-epc' =0x%"PRIx64" causes EPC to wrap",
44
iothread_stop(iothread);
31
sgx_epc->size);
45
+ if (iothread->worker_context) {
32
exit(EXIT_FAILURE);
46
+ g_main_context_unref(iothread->worker_context);
33
}
47
+ iothread->worker_context = NULL;
34
diff --git a/hw/i386/trace-events b/hw/i386/trace-events
48
+ }
35
index XXXXXXX..XXXXXXX 100644
49
qemu_cond_destroy(&iothread->init_done_cond);
36
--- a/hw/i386/trace-events
50
qemu_mutex_destroy(&iothread->init_done_lock);
37
+++ b/hw/i386/trace-events
51
if (!iothread->ctx) {
38
@@ -XXX,XX +XXX,XX @@ vtd_fault_disabled(void) "Fault processing disabled for context entry"
39
vtd_replay_ce_valid(const char *mode, uint8_t bus, uint8_t dev, uint8_t fn, uint16_t domain, uint64_t hi, uint64_t lo) "%s: replay valid context device %02"PRIx8":%02"PRIx8".%02"PRIx8" domain 0x%"PRIx16" hi 0x%"PRIx64" lo 0x%"PRIx64
40
vtd_replay_ce_invalid(uint8_t bus, uint8_t dev, uint8_t fn) "replay invalid context device %02"PRIx8":%02"PRIx8".%02"PRIx8
41
vtd_page_walk_level(uint64_t addr, uint32_t level, uint64_t start, uint64_t end) "walk (base=0x%"PRIx64", level=%"PRIu32") iova range 0x%"PRIx64" - 0x%"PRIx64
42
-vtd_page_walk_one(uint16_t domain, uint64_t iova, uint64_t gpa, uint64_t mask, int perm) "domain 0x%"PRIu16" iova 0x%"PRIx64" -> gpa 0x%"PRIx64" mask 0x%"PRIx64" perm %d"
43
+vtd_page_walk_one(uint16_t domain, uint64_t iova, uint64_t gpa, uint64_t mask, int perm) "domain 0x%"PRIx16" iova 0x%"PRIx64" -> gpa 0x%"PRIx64" mask 0x%"PRIx64" perm %d"
44
vtd_page_walk_one_skip_map(uint64_t iova, uint64_t mask, uint64_t translated) "iova 0x%"PRIx64" mask 0x%"PRIx64" translated 0x%"PRIx64
45
vtd_page_walk_one_skip_unmap(uint64_t iova, uint64_t mask) "iova 0x%"PRIx64" mask 0x%"PRIx64
46
vtd_page_walk_skip_read(uint64_t iova, uint64_t next) "Page walk skip iova 0x%"PRIx64" - 0x%"PRIx64" due to unable to read"
47
vtd_page_walk_skip_reserve(uint64_t iova, uint64_t next) "Page walk skip iova 0x%"PRIx64" - 0x%"PRIx64" due to rsrv set"
48
vtd_switch_address_space(uint8_t bus, uint8_t slot, uint8_t fn, bool on) "Device %02x:%02x.%x switching address space (iommu enabled=%d)"
49
vtd_as_unmap_whole(uint8_t bus, uint8_t slot, uint8_t fn, uint64_t iova, uint64_t size) "Device %02x:%02x.%x start 0x%"PRIx64" size 0x%"PRIx64
50
-vtd_translate_pt(uint16_t sid, uint64_t addr) "source id 0x%"PRIu16", iova 0x%"PRIx64
51
-vtd_pt_enable_fast_path(uint16_t sid, bool success) "sid 0x%"PRIu16" %d"
52
+vtd_translate_pt(uint16_t sid, uint64_t addr) "source id 0x%"PRIx16", iova 0x%"PRIx64
53
+vtd_pt_enable_fast_path(uint16_t sid, bool success) "sid 0x%"PRIx16" %d"
54
vtd_irq_generate(uint64_t addr, uint64_t data) "addr 0x%"PRIx64" data 0x%"PRIx64
55
vtd_reg_read(uint64_t addr, uint64_t size) "addr 0x%"PRIx64" size 0x%"PRIx64
56
vtd_reg_write(uint64_t addr, uint64_t size, uint64_t val) "addr 0x%"PRIx64" size 0x%"PRIx64" value 0x%"PRIx64
57
diff --git a/hw/misc/trace-events b/hw/misc/trace-events
58
index XXXXXXX..XXXXXXX 100644
59
--- a/hw/misc/trace-events
60
+++ b/hw/misc/trace-events
61
@@ -XXX,XX +XXX,XX @@
62
# See docs/devel/tracing.rst for syntax documentation.
63
64
# allwinner-cpucfg.c
65
-allwinner_cpucfg_cpu_reset(uint8_t cpu_id, uint32_t reset_addr) "id %u, reset_addr 0x%" PRIu32
66
+allwinner_cpucfg_cpu_reset(uint8_t cpu_id, uint32_t reset_addr) "id %u, reset_addr 0x%" PRIx32
67
allwinner_cpucfg_read(uint64_t offset, uint64_t data, unsigned size) "offset 0x%" PRIx64 " data 0x%" PRIx64 " size %" PRIu32
68
allwinner_cpucfg_write(uint64_t offset, uint64_t data, unsigned size) "offset 0x%" PRIx64 " data 0x%" PRIx64 " size %" PRIu32
69
70
@@ -XXX,XX +XXX,XX @@ imx7_gpr_write(uint64_t offset, uint64_t value) "addr 0x%08" PRIx64 "value 0x%08
71
72
# mos6522.c
73
mos6522_set_counter(int index, unsigned int val) "T%d.counter=%d"
74
-mos6522_get_next_irq_time(uint16_t latch, int64_t d, int64_t delta) "latch=%d counter=0x%"PRId64 " delta_next=0x%"PRId64
75
+mos6522_get_next_irq_time(uint16_t latch, int64_t d, int64_t delta) "latch=%d counter=0x%"PRIx64 " delta_next=0x%"PRIx64
76
mos6522_set_sr_int(void) "set sr_int"
77
mos6522_write(uint64_t addr, const char *name, uint64_t val) "reg=0x%"PRIx64 " [%s] val=0x%"PRIx64
78
mos6522_read(uint64_t addr, const char *name, unsigned val) "reg=0x%"PRIx64 " [%s] val=0x%x"
79
diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events
80
index XXXXXXX..XXXXXXX 100644
81
--- a/hw/scsi/trace-events
82
+++ b/hw/scsi/trace-events
83
@@ -XXX,XX +XXX,XX @@ lsi_bad_phase_interrupt(void) "Phase mismatch interrupt"
84
lsi_bad_selection(uint32_t id) "Selected absent target %"PRIu32
85
lsi_do_dma_unavailable(void) "DMA no data available"
86
lsi_do_dma(uint64_t addr, int len) "DMA addr=0x%"PRIx64" len=%d"
87
-lsi_queue_command(uint32_t tag) "Queueing tag=0x%"PRId32
88
+lsi_queue_command(uint32_t tag) "Queueing tag=0x%"PRIx32
89
lsi_add_msg_byte_error(void) "MSG IN data too long"
90
lsi_add_msg_byte(uint8_t data) "MSG IN 0x%02x"
91
lsi_reselect(int id) "Reselected target %d"
92
@@ -XXX,XX +XXX,XX @@ lsi_do_msgout_noop(void) "MSG: No Operation"
93
lsi_do_msgout_extended(uint8_t msg, uint8_t len) "Extended message 0x%x (len %d)"
94
lsi_do_msgout_ignored(const char *msg) "%s (ignored)"
95
lsi_do_msgout_simplequeue(uint8_t select_tag) "SIMPLE queue tag=0x%x"
96
-lsi_do_msgout_abort(uint32_t tag) "MSG: ABORT TAG tag=0x%"PRId32
97
+lsi_do_msgout_abort(uint32_t tag) "MSG: ABORT TAG tag=0x%"PRIx32
98
lsi_do_msgout_clearqueue(uint32_t tag) "MSG: CLEAR QUEUE tag=0x%"PRIx32
99
lsi_do_msgout_busdevicereset(uint32_t tag) "MSG: BUS DEVICE RESET tag=0x%"PRIx32
100
lsi_do_msgout_select(int id) "Select LUN %d"
52
--
101
--
53
2.13.6
102
2.35.1
54
103
55
104
diff view generated by jsdifflib