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

testutils.inc (1379B)


      1	.syntax	no_register_prefix
      2
      3	.macro	start
      4	.text
      5	.global	main
      6main:
      7	.endm
      8
      9	.macro	quit
     10	jump	pass
     11	nop
     12	.endm
     13
     14	.macro	pass
     15	jump	pass
     16	nop
     17	.endm
     18
     19	.macro	startnostack
     20	start
     21	.endm
     22
     23	.macro	fail
     24	.data
     2599:
     26	.asciz " checkr3 failed\n"
     27	.text
     28	move.d	99b, $r10
     29	jsr	_fail
     30	nop
     31	.endm
     32
     33	.macro	checkr3 val
     34	cmp.d	0x\val, $r3
     35	beq	100f
     36	nop
     37	.data
     3899:
     39	.asciz "checkr3 failed\n"
     40	.text
     41	move.d	99b, $r10
     42	jsr	_fail
     43	nop
     44100:
     45	.endm
     46
     47; Test the condition codes
     48        .macro test_cc N Z V C
     49        .if \N
     50        bpl 9f
     51        nop
     52        .else
     53        bmi 9f
     54        nop
     55        .endif
     56        .if \Z
     57        bne 9f
     58        nop
     59        .else
     60        beq 9f
     61        nop
     62        .endif
     63        .if \V
     64        bvc 9f
     65        nop
     66        .else
     67        bvs 9f
     68        nop
     69        .endif
     70        .if \C
     71        bcc 9f
     72        nop
     73        .else
     74        bcs 9f
     75        nop
     76        .endif
     77        ba 8f
     78        nop
     799:
     80	.data
     8199:
     82	.asciz "test_move_cc failed\n"
     83	.text
     84	move.d	99b, $r10
     85	jsr	_fail
     86	nop
     878:
     88        .endm
     89
     90
     91        .macro test_move_cc N Z V C
     92        .if \N
     93        bpl 9f
     94        nop
     95        .else
     96        bmi 9f
     97        nop
     98        .endif
     99        .if \Z
    100        bne 9f
    101        nop
    102        .else
    103        beq 9f
    104        nop
    105        .endif
    106        ba 8f
    107        nop
    1089:
    109	.data
    11099:
    111	.asciz "test_move_cc failed\n"
    112	.text
    113	move.d	99b, $r10
    114	jsr	_fail
    115	nop
    1168:
    117        .endm