cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

copy_page.S (620B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * arch/alpha/lib/copy_page.S
      4 *
      5 * Copy an entire page.
      6 */
      7#include <asm/export.h>
      8	.text
      9	.align 4
     10	.global copy_page
     11	.ent copy_page
     12copy_page:
     13	.prologue 0
     14
     15	lda	$18,128
     16	nop
     17	unop
     18	nop
     19
     201:	ldq	$0,0($17)
     21	ldq	$1,8($17)
     22	ldq	$2,16($17)
     23	ldq	$3,24($17)
     24
     25	ldq	$4,32($17)
     26	ldq	$5,40($17)
     27	ldq	$6,48($17)
     28	ldq	$7,56($17)
     29
     30	stq	$0,0($16)
     31	subq	$18,1,$18
     32	stq	$1,8($16)
     33	addq	$17,64,$17
     34
     35	stq	$2,16($16)
     36	stq	$3,24($16)
     37	stq	$4,32($16)
     38	stq	$5,40($16)
     39
     40	stq	$6,48($16)
     41	stq	$7,56($16)
     42	addq	$16,64,$16
     43	bne	$18, 1b
     44
     45	ret
     46	nop
     47	unop
     48	nop
     49
     50	.end copy_page
     51	EXPORT_SYMBOL(copy_page)