qemu-devel
[Top][All Lists]
Advanced

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

Re: [RFC PATCH v2 0/2] cputlb: implement load_helper_unaligned() for una


From: Mark Cave-Ayland
Subject: Re: [RFC PATCH v2 0/2] cputlb: implement load_helper_unaligned() for unaligned loads
Date: Wed, 9 Jun 2021 17:09:04 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 09/06/2021 15:10, Philippe Mathieu-Daudé wrote:

(Added gitlab issue email)

Reposting Mark's patch:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg814227.html
but split in 2 patches for easier review.

Mark Cave-Ayland (1):
   cputlb: implement load_helper_unaligned() for unaligned loads

Philippe Mathieu-Daudé (1):
   accel/tcg/cputlb: Extract load_helper_unaligned() from load_helper()

  accel/tcg/cputlb.c | 106 ++++++++++++++++++++++++++++++++++++---------
  1 file changed, 85 insertions(+), 21 deletions(-)

Thanks Phil. I'm replying to this to keep track of a few thoughts that came up in our discussion on IRC:

- Should these unaligned accesses be handled by the memory API?

- There is an overlap with Andrew Jeffrey's unaligned access patchset for the memory API at http://patchwork.ozlabs.org/project/qemu-devel/patch/20170630030058.28943-1-andrew@aj.id.au/. This would certainly benefit devices which currently handle unaligned accesses themselves.

- Currently there aren't any qtests to cover the unaligned access cputlb path

- How would using the memory API implementation interact with MemoryRegionOps .valid.unaligned and .impl.unaligned?

- The current cputlb store_helper_unaligned() and also load_helper_unaligned() proposed by this patchset always use byte accesses, i.e they do not honour the target MemoryRegion min_access_size. Switching to the memory API could therefore cause some existing cases to break, although -d guest_errors should now log these.

- Phil thinks that using the memory API could break ISA bus accesses


ATB,

Mark.



reply via email to

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