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

ev6-clear_page.S (691B)


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