2021-09-27 17:10:08 +05:30
/* SPDX-License-Identifier: GPL-2.0 */
/ *
* Copyright ( C ) 2 0 1 9 W e s t e r n D i g i t a l C o r p o r a t i o n o r i t s a f f i l i a t e s .
*
* Authors :
* Anup P a t e l < a n u p . p a t e l @wdc.com>
* /
# include < l i n u x / l i n k a g e . h >
# include < a s m / a s m . h >
.text
.altmacro
.option norelax
/ *
* Instruction e n c o d i n g o f h f e n c e . g v m a i s :
* HFENCE. G V M A r s1 , r s2
* HFENCE. G V M A z e r o , r s2
* HFENCE. G V M A r s1
* HFENCE. G V M A
*
* rs1 ! =zero a n d r s2 ! =zero = = > H F E N C E . G V M A r s1 , r s2
* rs1 = =zero a n d r s2 ! =zero = = > H F E N C E . G V M A z e r o , r s2
* rs1 ! =zero a n d r s2 = =zero = = > H F E N C E . G V M A r s1
* rs1 = =zero a n d r s2 = =zero = = > H F E N C E . G V M A
*
* Instruction e n c o d i n g o f H F E N C E . G V M A i s :
* 0 1 1 0 0 0 1 rs2 ( 5 ) r s1 ( 5 ) 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1
* /
ENTRY( _ _ k v m _ r i s c v _ h f e n c e _ g v m a _ v m i d _ g p a )
/ *
2021-10-26 22:31:36 +05:30
* rs1 = a0 ( G P A > > 2 )
2021-09-27 17:10:08 +05:30
* rs2 = a1 ( V M I D )
* HFENCE. G V M A a0 , a1
* 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1
* /
.word 0x62b50073
ret
ENDPROC( _ _ k v m _ r i s c v _ h f e n c e _ g v m a _ v m i d _ g p a )
ENTRY( _ _ k v m _ r i s c v _ h f e n c e _ g v m a _ v m i d )
/ *
* rs1 = z e r o
* rs2 = a0 ( V M I D )
* HFENCE. G V M A z e r o , a0
* 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1
* /
.word 0x62a00073
ret
ENDPROC( _ _ k v m _ r i s c v _ h f e n c e _ g v m a _ v m i d )
ENTRY( _ _ k v m _ r i s c v _ h f e n c e _ g v m a _ g p a )
/ *
2021-10-26 22:31:36 +05:30
* rs1 = a0 ( G P A > > 2 )
2021-09-27 17:10:08 +05:30
* rs2 = z e r o
* HFENCE. G V M A a0
* 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1
* /
.word 0x62050073
ret
ENDPROC( _ _ k v m _ r i s c v _ h f e n c e _ g v m a _ g p a )
ENTRY( _ _ k v m _ r i s c v _ h f e n c e _ g v m a _ a l l )
/ *
* rs1 = z e r o
* rs2 = z e r o
* HFENCE. G V M A
* 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1
* /
.word 0x62000073
ret
ENDPROC( _ _ k v m _ r i s c v _ h f e n c e _ g v m a _ a l l )