* [Qemu-devel] [PATCH] migration: Don't use *_to_cpup()
@ 2016-06-10 15:01 Peter Maydell
2016-06-10 15:05 ` Eric Blake
0 siblings, 1 reply; 3+ messages in thread
From: Peter Maydell @ 2016-06-10 15:01 UTC (permalink / raw)
To: qemu-devel; +Cc: patches, Juan Quintela, Amit Shah
The *_to_cpup() functions just compose a pointer dereference with
a *_to_cpu() byteswap. Instead use ld*_p(), which handles potential
pointer misaligment and avoids the need to cast the pointer.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
The motivation here is that I'd like to get rid of _to_cpup()
entirely: we don't have many places that use it.
---
migration/migration.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index 7ecbade..551da0a 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1381,7 +1381,7 @@ static void *source_return_path_thread(void *opaque)
/* OK, we have the message and the data */
switch (header_type) {
case MIG_RP_MSG_SHUT:
- sibling_error = be32_to_cpup((uint32_t *)buf);
+ sibling_error = ldl_be_p(buf);
trace_source_return_path_thread_shut(sibling_error);
if (sibling_error) {
error_report("RP: Sibling indicated error %d", sibling_error);
@@ -1395,13 +1395,13 @@ static void *source_return_path_thread(void *opaque)
goto out;
case MIG_RP_MSG_PONG:
- tmp32 = be32_to_cpup((uint32_t *)buf);
+ tmp32 = ldl_be_p(buf);
trace_source_return_path_thread_pong(tmp32);
break;
case MIG_RP_MSG_REQ_PAGES:
- start = be64_to_cpup((uint64_t *)buf);
- len = be32_to_cpup((uint32_t *)(buf + 8));
+ start = ldq_be_p(buf);
+ len = ldl_be_p(buf + 8);
migrate_handle_rp_req_pages(ms, NULL, start, len);
break;
@@ -1409,8 +1409,8 @@ static void *source_return_path_thread(void *opaque)
expected_len = 12 + 1; /* header + termination */
if (header_len >= expected_len) {
- start = be64_to_cpup((uint64_t *)buf);
- len = be32_to_cpup((uint32_t *)(buf + 8));
+ start = ldq_be_p(buf);
+ len = ldl_be_p(buf + 8);
/* Now we expect an idstr */
tmp32 = buf[12]; /* Length of the following idstr */
buf[13 + tmp32] = '\0';
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] migration: Don't use *_to_cpup()
2016-06-10 15:01 [Qemu-devel] [PATCH] migration: Don't use *_to_cpup() Peter Maydell
@ 2016-06-10 15:05 ` Eric Blake
2016-06-10 16:02 ` Peter Maydell
0 siblings, 1 reply; 3+ messages in thread
From: Eric Blake @ 2016-06-10 15:05 UTC (permalink / raw)
To: Peter Maydell, qemu-devel; +Cc: Amit Shah, Juan Quintela, patches
[-- Attachment #1: Type: text/plain, Size: 735 bytes --]
On 06/10/2016 09:01 AM, Peter Maydell wrote:
> The *_to_cpup() functions just compose a pointer dereference with
> a *_to_cpu() byteswap. Instead use ld*_p(), which handles potential
> pointer misaligment and avoids the need to cast the pointer.
s/misaligment/misalignment/
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> The motivation here is that I'd like to get rid of _to_cpup()
> entirely: we don't have many places that use it.
> ---
> migration/migration.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] migration: Don't use *_to_cpup()
2016-06-10 15:05 ` Eric Blake
@ 2016-06-10 16:02 ` Peter Maydell
0 siblings, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2016-06-10 16:02 UTC (permalink / raw)
To: Eric Blake; +Cc: QEMU Developers, Amit Shah, Juan Quintela, Patch Tracking
On 10 June 2016 at 16:05, Eric Blake <eblake@redhat.com> wrote:
> On 06/10/2016 09:01 AM, Peter Maydell wrote:
>> The *_to_cpup() functions just compose a pointer dereference with
>> a *_to_cpu() byteswap. Instead use ld*_p(), which handles potential
>> pointer misaligment and avoids the need to cast the pointer.
>
> s/misaligment/misalignment/
>
>>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>> The motivation here is that I'd like to get rid of _to_cpup()
>> entirely: we don't have many places that use it.
>> ---
>> migration/migration.c | 12 ++++++------
>> 1 file changed, 6 insertions(+), 6 deletions(-)
>>
>
> Reviewed-by: Eric Blake <eblake@redhat.com>
Thanks. I just noticed that I missed the use of cpu_to_be64w()
for loads, so I'll send a v2.
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-06-10 16:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-10 15:01 [Qemu-devel] [PATCH] migration: Don't use *_to_cpup() Peter Maydell
2016-06-10 15:05 ` Eric Blake
2016-06-10 16:02 ` Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).