1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2012 ARM Ltd.
6 #include <linux/linkage.h>
7 #include <linux/const.h>
8 #include <asm/assembler.h>
17 SYM_FUNC_START(__pi_clear_page)
19 tbnz x1, #4, 2f /* Branch if DC ZVA is prohibited */
26 tst x0, #(PAGE_SIZE - 1)
30 2: stnp xzr, xzr, [x0]
31 stnp xzr, xzr, [x0, #16]
32 stnp xzr, xzr, [x0, #32]
33 stnp xzr, xzr, [x0, #48]
35 tst x0, #(PAGE_SIZE - 1)
38 SYM_FUNC_END(__pi_clear_page)
39 SYM_FUNC_ALIAS(clear_page, __pi_clear_page)
40 EXPORT_SYMBOL(clear_page)