qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] softmmu/memory: use memcpy for multi-byte accesses


From: Patrick Venture
Subject: Re: [PATCH] softmmu/memory: use memcpy for multi-byte accesses
Date: Tue, 14 Nov 2023 13:39:08 -0800



On Tue, Nov 14, 2023 at 1:18 PM Richard Henderson <richard.henderson@linaro.org> wrote:
On 11/14/23 12:55, Patrick Venture wrote:
> Avoids unaligned pointer issues.
>
> Reviewed-by: Chris Rauer <crauer@google.com>
> Reviewed-by: Peter Foley <pefoley@google.com>
> Signed-off-by: Patrick Venture <venture@google.com>
> ---
>   system/memory.c | 16 ++++++++--------
>   1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/system/memory.c b/system/memory.c
> index 304fa843ea..02c97d5187 100644
> --- a/system/memory.c
> +++ b/system/memory.c
> @@ -1343,16 +1343,16 @@ static uint64_t memory_region_ram_device_read(void *opaque,
>   
>       switch (size) {
>       case 1:
> -        data = "" *)(mr->ram_block->host + addr);
> +        memcpy(&data, mr->ram_block->host + addr, sizeof(uint8_t));


This is incorrect, especially for big-endian hosts.

You want to use "qemu/bswap.h", ld*_he_p(), st*_he_p().

Thanks, I'll take a look.
 


r~

reply via email to

[Prev in Thread] Current Thread [Next in Thread]