Home | History | Annotate | Line # | Download | only in rv-n-cris
      1 #progos: nowhere:disabled-due-to-randomness
      2 #mach: crisv10 crisv32
      3 #sim(crisv10): --hw-device "/rv/trace? true"
      4 #sim(crisv32): --hw-device "/rv/trace? true"
      5 #output: /rv: WD\n
      6 #output: /rv: REG R 0xd0000032\n
      7 #output: /rv: := 0xabcdef01\n
      8 #output: /rv: IRQ 0x4\n
      9 #output: /rv: REG R 0xd0000036\n
     10 #output: /rv: := 0x76543210\n
     11 #output: /rv: REG R 0xd0000036\n
     12 #output: /rv: := 0x76543211\n
     13 #output: /rv: REG R 0xd0000030\n
     14 #output: /rv: IRQ 0x0\n
     15 #output: /rv: := 0xeeff4455\n
     16 #output: pass\n
     17 
     18 # Trivial test of interrupts.
     19 # Locations of IRQ notifiers above depend on when the simulator is
     20 # polled; adjustments may be needed (after checking that no poll is
     21 # gone due to a bug!)
     22 
     23 #r W,
     24 #r r,a8832,abcdef01
     25 #r I,4
     26 #r r,a8836,76543210
     27 #r r,a8836,76543211
     28 #r I,0
     29 #r r,a8830,eeff4455
     30 
     31  .lcomm dummy,4
     32 
     33  .include "testutils.inc"
     34  start
     35  .if ..asm.arch.cris.v32
     36  move irqvec1,$ebp
     37  .else
     38  move irqvec1,$ibr
     39  .endif
     40  test_h_mem 0xabcdef01 0xd0000032
     41  nop
     42  nop
     43  test_h_mem 0x76543210 0xd0000036
     44  ei
     45  test_h_mem 0,dummy
     46 wouldreturnhere:
     47  nop
     48 killme:
     49  fail
     50 
     51 returnhere:
     52  test_h_mem 0x76543211 0xd0000036
     53  test_h_mem 0xeeff4455 0xd0000030
     54  pass
     55 
     56 irq0x33:
     57  .if ..asm.arch.cris.v32
     58  test_h_dr wouldreturnhere,$erp
     59  move returnhere,$erp
     60  rete
     61  rfe
     62  .else
     63  move $dccr,$r0
     64  test_h_dr wouldreturnhere,$irp
     65  move returnhere,$irp
     66  reti
     67  move $r0,$dccr
     68  .endif
     69 
     70  singlevec irqvec1,0x33,irq0x33
     71