| /* SPDX-License-Identifier: GPL-2.0-only */ |
| #include <linux/linkage.h> |
| * Most CPUs support enhanced REP MOVSB/STOSB instructions. It is |
| * recommended to use this when possible and we do use them by default. |
| * If enhanced REP MOVSB/STOSB is not available, try to use fast string. |
| * Otherwise, use original. |
| SYM_FUNC_START(clear_page_rep) |
| SYM_FUNC_END(clear_page_rep) |
| EXPORT_SYMBOL_GPL(clear_page_rep) |
| SYM_FUNC_START(clear_page_orig) |
| #define PUT(x) movq %rax,x*8(%rdi) |
| SYM_FUNC_END(clear_page_orig) |
| EXPORT_SYMBOL_GPL(clear_page_orig) |
| SYM_FUNC_START(clear_page_erms) |
| SYM_FUNC_END(clear_page_erms) |
| EXPORT_SYMBOL_GPL(clear_page_erms) |