assembler.h (fcb89863d1b798565db6bdaf8f97f65823c2fd1b) assembler.h (c0317210012e3b985779ddd92a7c5db8424e1e97)
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (C) 2023 StarFive Technology Co., Ltd.
4 *
5 * Author: Jee Heng Sia <jeeheng.sia@starfivetech.com>
6 */
7
8#ifndef __ASSEMBLY__

--- 45 unchanged lines hidden (view full) ---

54 REG_L s6, (SUSPEND_CONTEXT_REGS + PT_S6)(a0)
55 REG_L s7, (SUSPEND_CONTEXT_REGS + PT_S7)(a0)
56 REG_L s8, (SUSPEND_CONTEXT_REGS + PT_S8)(a0)
57 REG_L s9, (SUSPEND_CONTEXT_REGS + PT_S9)(a0)
58 REG_L s10, (SUSPEND_CONTEXT_REGS + PT_S10)(a0)
59 REG_L s11, (SUSPEND_CONTEXT_REGS + PT_S11)(a0)
60 .endm
61
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (C) 2023 StarFive Technology Co., Ltd.
4 *
5 * Author: Jee Heng Sia <jeeheng.sia@starfivetech.com>
6 */
7
8#ifndef __ASSEMBLY__

--- 45 unchanged lines hidden (view full) ---

54 REG_L s6, (SUSPEND_CONTEXT_REGS + PT_S6)(a0)
55 REG_L s7, (SUSPEND_CONTEXT_REGS + PT_S7)(a0)
56 REG_L s8, (SUSPEND_CONTEXT_REGS + PT_S8)(a0)
57 REG_L s9, (SUSPEND_CONTEXT_REGS + PT_S9)(a0)
58 REG_L s10, (SUSPEND_CONTEXT_REGS + PT_S10)(a0)
59 REG_L s11, (SUSPEND_CONTEXT_REGS + PT_S11)(a0)
60 .endm
61
62/*
63 * copy_page - copy 1 page (4KB) of data from source to destination
64 * @a0 - destination
65 * @a1 - source
66 */
67 .macro copy_page a0, a1
68 lui a2, 0x1
69 add a2, a2, a0
701 :
71 REG_L t0, 0(a1)
72 REG_L t1, SZREG(a1)
73
74 REG_S t0, 0(a0)
75 REG_S t1, SZREG(a0)
76
77 addi a0, a0, 2 * SZREG
78 addi a1, a1, 2 * SZREG
79 bne a2, a0, 1b
80 .endm
81
62#endif /* __ASM_ASSEMBLER_H */
82#endif /* __ASM_ASSEMBLER_H */