/* SPDX-License-Identifier: GPL-2.0-or-later */1/*2* Quadword loads and stores3* for use in instruction emulation.4*5* Copyright 2017 Paul Mackerras, IBM Corp. <[email protected]>6*/78#include <asm/processor.h>9#include <asm/ppc_asm.h>10#include <asm/ppc-opcode.h>11#include <asm/reg.h>12#include <asm/asm-offsets.h>13#include <linux/errno.h>1415/* do_lq(unsigned long ea, unsigned long *regs) */16_GLOBAL(do_lq)171: lq r6, 0(r3)18std r6, 0(r4)19std r7, 8(r4)20li r3, 021blr222: li r3, -EFAULT23blr24EX_TABLE(1b, 2b)2526/* do_stq(unsigned long ea, unsigned long val0, unsigned long val1) */27_GLOBAL(do_stq)281: stq r4, 0(r3)29li r3, 030blr312: li r3, -EFAULT32blr33EX_TABLE(1b, 2b)3435/* do_lqarx(unsigned long ea, unsigned long *regs) */36_GLOBAL(do_lqarx)371: PPC_LQARX(6, 0, 3, 0)38std r6, 0(r4)39std r7, 8(r4)40li r3, 041blr422: li r3, -EFAULT43blr44EX_TABLE(1b, 2b)4546/* do_stqcx(unsigned long ea, unsigned long val0, unsigned long val1,47unsigned int *crp) */4849_GLOBAL(do_stqcx)501: PPC_STQCX(4, 0, 3)51mfcr r552stw r5, 0(r6)53li r3, 054blr552: li r3, -EFAULT56blr57EX_TABLE(1b, 2b)585960