All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] target/arm: Support for Data Cache Clean up to PoP
@ 2019-11-21  0:08 Beata Michalska
  2019-11-21  0:08 ` [PATCH v3 1/4] tcg: cputlb: Add probe_read Beata Michalska
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Beata Michalska @ 2019-11-21  0:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: peter.maydell, quintela, richard.henderson, dgilbert,
	shameerali.kolothum.thodi, eric.auger, qemu-arm, pbonzini,
	alex.bennee

ARMv8.2 introduced support for Data Cache Clean instructions to PoP
(point-of-persistence) and PoDP (point-of-deep-persistence):
ARMv8.2-DCCVAP &  ARMv8.2-DCCVADP respectively.
This patch set adds support for emulating both, though there is no
distinction between the two points: the PoDP is assumed to represent
the same point of persistence as PoP. Case there is no such point specified
for the considered memory system both will fall back to the DV CVAC inst
(clean up to the point of coherency).
The changes introduced include adding probe_read for validating read memory
access to allow verification for mandatory read access for both cache
clean instructions, along with support for writeback for requested memory
regions through msync, if one is available, based otherwise on fsyncdata.

As currently the virt platform is missing support for NVDIMM,
the changes have been tested  with [1] & [2]


[1] https://patchwork.kernel.org/cover/10830237/
[2] https://patchwork.kernel.org/project/qemu-devel/list/?series=159441

v3:
    - Assert on invalid sync range for ram block
    - Drop alignment handling from qemu_msync

v2:
    - Moved the msync into a qemu wrapper with
      CONFIG_POSIX switch + additional comments
    - Fixed length alignment
    - Dropped treating the DC CVAP/CVADP as special case
      and moved those to conditional registration
    - Dropped needless locking for grabbing mem region


Beata Michalska (4):
  tcg: cputlb: Add probe_read
  Memory: Enable writeback for given memory region
  migration: ram: Switch to ram block writeback
  target/arm: Add support for DC CVAP & DC CVADP ins

 exec.c                  | 36 +++++++++++++++++++++++++++++++
 include/exec/exec-all.h |  6 ++++++
 include/exec/memory.h   |  6 ++++++
 include/exec/ram_addr.h |  8 +++++++
 include/qemu/cutils.h   |  1 +
 linux-user/elfload.c    |  2 ++
 memory.c                | 12 +++++++++++
 migration/ram.c         |  5 +----
 target/arm/cpu.h        | 10 +++++++++
 target/arm/cpu64.c      |  1 +
 target/arm/helper.c     | 56 +++++++++++++++++++++++++++++++++++++++++++++++++
 util/cutils.c           | 38 +++++++++++++++++++++++++++++++++
 12 files changed, 177 insertions(+), 4 deletions(-)

-- 
2.7.4



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-12-06 16:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-21  0:08 [PATCH v3 0/4] target/arm: Support for Data Cache Clean up to PoP Beata Michalska
2019-11-21  0:08 ` [PATCH v3 1/4] tcg: cputlb: Add probe_read Beata Michalska
2019-11-22  8:16   ` Richard Henderson
2019-11-21  0:08 ` [PATCH v3 2/4] Memory: Enable writeback for given memory region Beata Michalska
2019-11-22  8:22   ` Richard Henderson
2019-11-21  0:08 ` [PATCH v3 3/4] migration: ram: Switch to ram block writeback Beata Michalska
2019-11-21  0:08 ` [PATCH v3 4/4] target/arm: Add support for DC CVAP & DC CVADP ins Beata Michalska
2019-12-06 14:59 ` [PATCH v3 0/4] target/arm: Support for Data Cache Clean up to PoP Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.