]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/riscv: rvv: Provide a fast path using direct access to host ram for unmasked...
authorMax Chou <max.chou@sifive.com>
Wed, 18 Sep 2024 17:14:08 +0000 (01:14 +0800)
committerAlistair Francis <alistair.francis@wdc.com>
Thu, 7 Nov 2024 02:32:10 +0000 (12:32 +1000)
commit338aa15d50b37fa797677d96c091aa81a383e2a1
tree7c361f72515cabb46f60f0346701135ce21e2618
parent2f077842f2b356a086f70e54c831be53c6f0e101
target/riscv: rvv: Provide a fast path using direct access to host ram for unmasked unit-stride load/store

This commit references the sve_ldN_r/sve_stN_r helper functions in ARM
target to optimize the vector unmasked unit-stride load/store
implementation with following optimizations:

* Get the page boundary
* Probing pages/resolving host memory address at the beginning if
  possible
* Provide new interface to direct access host memory
* Switch to the original slow TLB access when cross page element/violate
  page permission/violate pmp/watchpoints in page

The original element load/store interface is replaced by the new element
load/store functions with _tlb & _host postfix that means doing the
element load/store through the original softmmu flow and the direct
access host memory flow.

Signed-off-by: Max Chou <max.chou@sifive.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20240918171412.150107-4-max.chou@sifive.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/vector_helper.c