OpenCloudOS-Kernel/arch/arm64/lib/clear_page.S

30 lines
463 B
ArmAsm

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (C) 2012 ARM Ltd.
*/
#include <linux/linkage.h>
#include <linux/const.h>
#include <asm/assembler.h>
#include <asm/page.h>
/*
* Clear page @dest
*
* Parameters:
* x0 - dest
*/
SYM_FUNC_START_PI(clear_page)
mrs x1, dczid_el0
and w1, w1, #0xf
mov x2, #4
lsl x1, x2, x1
1: dc zva, x0
add x0, x0, x1
tst x0, #(PAGE_SIZE - 1)
b.ne 1b
ret
SYM_FUNC_END_PI(clear_page)
EXPORT_SYMBOL(clear_page)