/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *  This file contains arm architecture specific defines
 *  for the different processors.
 *
 *  Adapted from Linux arch/arm/include/assembler.h
 *
 *  Do not include any C declarations in this file - it is included by
 *  assembler source.
 */

/*
 * WARNING: This file is *only* meant for memcpy.S and friends which were copied
 * from Linux and require some weird macros. It does unspeakable things like
 * redefining "push", so do *not* try to turn it into a general assembly macro
 * file, and keep it out of global include directories.
 */

#ifndef __ARM_ASMLIB_H__
#define __ARM_ASMLIB_H__

/*
 * Endian independent macros for shifting bytes within registers.
 */
#ifndef __ARMEB__
#define pull		lsr
#define push		lsl
#define get_byte_0	lsl #0
#define get_byte_1	lsr #8
#define get_byte_2	lsr #16
#define get_byte_3	lsr #24
#define put_byte_0	lsl #0
#define put_byte_1	lsl #8
#define put_byte_2	lsl #16
#define put_byte_3	lsl #24
#else
#define pull		lsl
#define push		lsr
#define get_byte_0	lsr #24
#define get_byte_1	lsr #16
#define get_byte_2	lsr #8
#define get_byte_3      lsl #0
#define put_byte_0	lsl #24
#define put_byte_1	lsl #16
#define put_byte_2	lsl #8
#define put_byte_3      lsl #0
#endif

/*
 * Data preload for architectures that support it
 */
#if __COREBOOT_ARM_ARCH__ >= 5
#define PLD(code...)	code
#else
#define PLD(code...)
#endif

/*
 * This can be used to enable code to cacheline align the destination
 * pointer when bulk writing to memory. Linux doesn't enable this except
 * for the "Feroceon" processor, so we better just leave it out.
 */
#define CALGN(code...)

#endif /* __ARM_ASMLIB_H__ */
