qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/3] Add ldn_*_p() and stn_*_p() and use them in


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH 0/3] Add ldn_*_p() and stn_*_p() and use them in exec.c
Date: Fri, 15 Jun 2018 11:17:21 +0100

On 11 June 2018 at 18:10, Peter Maydell <address@hidden> wrote:
> There's a common pattern in QEMU where a function needs to perform
> a data load or store of an N byte integer in a particular endianness.
> At the moment this is handled by doing a switch() on the size and
> calling the appropriate ld*_p or st*_p function for each size.
>
> This patchset provides a new family of functions ldn_*_p() and stn_*_p()
> which take the size as an argument and do the switch() themselves,
> and uses them in 5 callsites in exec.c.
>
> If people like the idea, naming convention, etc, we can look for
> and convert other callsites, extend this to eg an address_space_ldn()
> and address_space_stn() (sample use cases in watch_mem_read(),
> watch_mem_write(), dino_chip_write_with_attrs(), tx_ppc_read(),
> tx_ppc_write()...)
>
> Patch 2 here fixes an apparently unintentional sign-extension in
> subpage_read(), so that patch 3 is a no-behaviour-change patch.
>
> thanks
> -- PMM
>
> Peter Maydell (3):
>   bswap: Add new stn_*_p() and ldn_*_p() memory access functions
>   exec.c: Don't accidentally sign-extend 4-byte loads in subpage_read()
>   exec.c: Use stn_p() and ldn_p() instead of explicit switches

Thanks for the review; I plan to put these into target-arm.next
(with the silly typo fixed). I have another series brewing which
depends on this one, so having them in-tree will reduce the
dependencies there.

thanks
-- PMM



reply via email to

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