cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

check_bcc.s (1752B)


      1	.global	main
      2	.type	main, @function
      3main:
      4	clearf nzvc
      5	setf   nzv
      6	bcc    0f
      7	addq   1, $r3
      8	jump   dofail
      9
     100:
     11	clearf nzvc
     12	setf   nzv
     13	bcs    dofail
     14	addq   1,$r3
     15
     16	clearf nzvc
     17	setf   ncv
     18	bne    1f
     19	addq   1, $r3
     20
     21fail:
     22dofail:
     23	jump	_fail
     24
     251:
     26	clearf nzvc
     27	setf ncv
     28	beq dofail
     29	addq 1,$r3
     30
     31	clearf nzvc
     32	setf ncz
     33	bvc 2f
     34	addq 1,$r3
     35	jump dofail
     36
     372:
     38	clearf nzvc
     39	setf ncz
     40	bvs dofail
     41	addq 1,$r3
     42
     43	clearf	nzvc
     44	setf	vcz
     45	bpl	3f
     46	addq	1,$r3
     47	jump	fail
     483:
     49	clearf	nzvc
     50	setf	vcz
     51	bmi	dofail
     52	addq	1,$r3
     53
     54	clearf	nzvc
     55	setf	nv
     56	bls	dofail
     57	addq	1,$r3
     58
     59	clearf	nzvc
     60	setf	nv
     61	bhi	4f
     62	addq	1,$r3
     63	jump	dofail
     64
     654:
     66	clearf	nzvc
     67	setf	zc
     68	bge	5f
     69	addq	1,$r3
     70	jump	dofail
     71
     725:
     73	clearf	nzvc
     74	setf zc
     75	blt dofail
     76	addq 1,$r3
     77
     78	clearf nzvc
     79	setf c
     80	bgt 6f
     81	addq 1,$r3
     82	jump  fail
     83
     846:
     85 clearf nzvc
     86 setf c
     87 ble dofail
     88 addq 1,$r3
     89
     90;;;;;;;;;;
     91
     92 setf nzvc
     93 clearf nzv
     94 bcc dofail
     95 addq 1,$r3
     96
     97 setf nzvc
     98 clearf nzv
     99 bcs 0f
    100 addq 1,$r3
    101 jump fail
    102
    1030:
    104 setf nzvc
    105 clearf ncv
    106 bne dofail
    107 addq 1,$r3
    108
    109 setf nzvc
    110 clearf ncv
    111 beq 1f
    112 addq 1,$r3
    113 jump fail
    114
    1151:
    116 setf nzvc
    117 clearf ncz
    118 bvc dofail
    119 addq 1,$r3
    120
    121 setf nzvc
    122 clearf ncz
    123 bvs 2f
    124 addq 1,$r3
    125 jump fail
    126
    1272:
    128 setf nzvc
    129 clearf vcz
    130 bpl dofail
    131 addq 1,$r3
    132
    133 setf nzvc
    134 clearf vcz
    135 bmi 3f
    136 addq 1,$r3
    137 jump fail
    138
    1393:
    140 setf nzvc
    141 clearf nv
    142 bls 4f
    143 addq 1,$r3
    144 jump fail
    145
    1464:
    147 setf nzvc
    148 clearf nv
    149 bhi dofail
    150 addq 1,$r3
    151
    152 setf zvc
    153 clearf nzc
    154 bge dofail
    155 addq 1,$r3
    156
    157 setf nzc
    158 clearf vzc
    159 blt 5f
    160 addq 1,$r3
    161 jump fail
    162
    1635:
    164 setf nzvc
    165 clearf c
    166 bgt dofail
    167 addq 1,$r3
    168
    169 setf nzvc
    170 clearf c
    171 ble 6f
    172 addq 1,$r3
    173 jump fail
    174
    1756:
    176	; do a forward branch.
    177	ba   2f
    178	nop
    179	.fill	100
    1801:
    181	ba	3f
    182	nop
    183	.fill	800
    1842:
    185	ba	1b
    186	nop
    187	.fill	1024
    1883:
    189
    190	moveq	31, $r0
    1911:	bne	1b
    192	subq	1, $r0
    193
    194	jsr	pass
    195	moveq	0, $r10
    196	ret
    197	nop