]> www.infradead.org Git - users/jedix/linux-maple.git/commit
arm64: lib: Use MOPS for copy_page() and clear_page()
authorKristina Martsenko <kristina.martsenko@arm.com>
Mon, 30 Sep 2024 16:10:51 +0000 (17:10 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 17 Oct 2024 15:42:51 +0000 (16:42 +0100)
commitce6b5ff5f16dd9267d62d09b3af3f0c7dc3c24f0
tree6d39cb89756a35b3accf70489c2350d996e3efb0
parent836ed3c4e473fef9e0814a2ba6dd40f9656c03f1
arm64: lib: Use MOPS for copy_page() and clear_page()

Similarly to what was done to the memcpy() routines, make copy_page()
and clear_page() also use the Armv8.8 FEAT_MOPS instructions.

Note: For copy_page() this uses the CPY* instructions instead of CPYF*
as CPYF* doesn't allow src and dst to be equal. It's not clear if
copy_page() needs to allow equal src and dst but it has worked so far
with the current implementation and there is no documentation forbidding
it.

Note, the unoptimized version of copy_page() in assembler.h is left as
it is.

Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
Link: https://lore.kernel.org/r/20240930161051.3777828-6-kristina.martsenko@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/lib/clear_page.S
arch/arm64/lib/copy_page.S