[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.