aboutsummaryrefslogtreecommitdiff
path: root/isa/rv64mi
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2016-04-30 20:45:27 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2016-04-30 20:45:27 -0700
commit22742246287feda0be2666ba14ca6f4a6bc73bb2 (patch)
treea15d7df63f796e13e6c28a2ec82a36f68af5c3a5 /isa/rv64mi
parent8dda7b2034197109a2387ac3dd03c7ad1e8c0b65 (diff)
downloadriscv-tests-22742246287feda0be2666ba14ca6f4a6bc73bb2.zip
riscv-tests-22742246287feda0be2666ba14ca6f4a6bc73bb2.tar.gz
riscv-tests-22742246287feda0be2666ba14ca6f4a6bc73bb2.tar.bz2
ERET -> xRET; new memory map
For now, we no longer build hex files, because the programs don't start at address 0. This decision will likely be revisited.
Diffstat (limited to 'isa/rv64mi')
-rw-r--r--isa/rv64mi/Makefrag4
-rw-r--r--isa/rv64mi/dirty.S16
-rw-r--r--isa/rv64mi/illegal.S2
-rw-r--r--isa/rv64mi/ma_addr.S2
-rw-r--r--isa/rv64mi/mcsr.S8
-rw-r--r--isa/rv64mi/timer.S1103
6 files changed, 17 insertions, 1118 deletions
diff --git a/isa/rv64mi/Makefrag b/isa/rv64mi/Makefrag
index b8b1da0..ed973db 100644
--- a/isa/rv64mi/Makefrag
+++ b/isa/rv64mi/Makefrag
@@ -12,12 +12,10 @@ rv64mi_sc_tests = \
scall \
wfi \
sbreak \
- timer \
rv64mi_mc_tests = \
ipi \
rv64mi_p_tests = $(addprefix rv64mi-p-, $(rv64mi_sc_tests))
-rv64mi_pm_tests = $(addprefix rv64mi-pm-, $(rv64mi_mc_tests))
-spike_tests += $(rv64mi_p_tests) $(rv64mi_pm_tests)
+spike_tests += $(rv64mi_p_tests)
diff --git a/isa/rv64mi/dirty.S b/isa/rv64mi/dirty.S
index 73d6c6c..5228129 100644
--- a/isa/rv64mi/dirty.S
+++ b/isa/rv64mi/dirty.S
@@ -16,13 +16,17 @@ RVTEST_CODE_BEGIN
# Turn on VM with superpage identity mapping
la a1, page_table_1
srl a1, a1, RISCV_PGSHIFT
+ la a2, page_table_2
+ srl a2, a2, RISCV_PGSHIFT
csrw sptbr, a1
sfence.vm
li a1, ((MSTATUS_VM & ~(MSTATUS_VM<<1)) * VM_SV39) | ((MSTATUS_MPP & ~(MSTATUS_MPP<<1)) * PRV_S)
csrs mstatus, a1
- la a1, 1f
+ la a1, 1f - DRAM_BASE
csrw mepc, a1
- eret
+ la a1, stvec_handler - DRAM_BASE
+ csrw stvec, a1
+ mret
1:
# Try a faulting store to make sure dirty bit is not set
@@ -32,9 +36,7 @@ RVTEST_CODE_BEGIN
# Load new page table
li TESTNUM, 3
- la t0, page_table_2
- srl t0, t0, RISCV_PGSHIFT
- csrw sptbr, t0
+ csrw sptbr, a2
sfence.vm
# Try a non-faulting store to make sure dirty bit is set
@@ -76,9 +78,9 @@ die:
.data
.align 12
-page_table_1: .dword PTE_V | PTE_TYPE_URX_SRX
+page_table_1: .dword (DRAM_BASE/RISCV_PGSIZE << PTE_PPN_SHIFT) | PTE_V | PTE_TYPE_URX_SRX
dummy: .dword 0
.align 12
-page_table_2: .dword PTE_V | PTE_TYPE_URWX_SRWX
+page_table_2: .dword (DRAM_BASE/RISCV_PGSIZE << PTE_PPN_SHIFT) | PTE_V | PTE_TYPE_URWX_SRWX
RVTEST_CODE_END
diff --git a/isa/rv64mi/illegal.S b/isa/rv64mi/illegal.S
index ecb3088..30c22b2 100644
--- a/isa/rv64mi/illegal.S
+++ b/isa/rv64mi/illegal.S
@@ -28,7 +28,7 @@ mtvec_handler:
csrr t0, mepc
addi t0, t0, 8
csrw mepc, t0
- sret
+ mret
RVTEST_CODE_END
diff --git a/isa/rv64mi/ma_addr.S b/isa/rv64mi/ma_addr.S
index aa5dd85..ed177f5 100644
--- a/isa/rv64mi/ma_addr.S
+++ b/isa/rv64mi/ma_addr.S
@@ -72,7 +72,7 @@ mtvec_handler:
csrr t0, mepc
addi t0, t0, 8
csrw mepc, t0
- sret
+ mret
RVTEST_CODE_END
diff --git a/isa/rv64mi/mcsr.S b/isa/rv64mi/mcsr.S
index 4bb0445..f704827 100644
--- a/isa/rv64mi/mcsr.S
+++ b/isa/rv64mi/mcsr.S
@@ -23,13 +23,15 @@ RVTEST_CODE_BEGIN
# Check that mhartid reports 0
TEST_CASE(3, a0, 0x0, csrr a0, mhartid)
- # Check that reading mimpid, marchid, and mvendorid doesn't cause exceptions
+ # Check that reading the following CSRs doesn't cause an exception
csrr a0, mimpid
csrr a0, marchid
csrr a0, mvendorid
- # Check that mtvec reports DEFAULT_MTVEC
- TEST_CASE(5, a0, DEFAULT_MTVEC, csrr a0, mtvec)
+ # Check that writing hte following CSRs doesn't cause an exception
+ li t0, 0
+ csrs mtvec, t0
+ csrs mepc, t0
TEST_PASSFAIL
diff --git a/isa/rv64mi/timer.S b/isa/rv64mi/timer.S
deleted file mode 100644
index 4697793..0000000
--- a/isa/rv64mi/timer.S
+++ /dev/null
@@ -1,1103 +0,0 @@
-# See LICENSE for license details.
-
-#*****************************************************************************
-# timer.S
-#-----------------------------------------------------------------------------
-#
-# Test timer interrupts.
-#
-
-#include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV64M
-RVTEST_CODE_BEGIN
-
-#define DELTA_T 5
-
- li s8, 0 # number of taken timer interrupts
- li s9, 10 # how many interrupts to run for
-
- .align 4
- csrr a0, mtime
- add a0, a0, DELTA_T
- csrw mtimecmp, a0
- li a0, MIP_MTIP
- csrs mie, a0
- csrs mstatus, MSTATUS_MIE
-
- # advance an LFSR until the timer has fired enough times
- li s0, 1023
- li s4, 0
-1:srl s2,s0,3
- xor s2,s2,s0
- and s2,s2,1
- srl s0,s0,1
- sll s2,s2,9
- or s0,s2,s0
- and s0, s0, 0x3FF
- add s4, s4, 1
- bltu s8, s9, 1b
-
- # compute iteration count % 1023 without using REMU
- li s1, 1023
- bltu s4, s1, 2f
-1:sub s4, s4, s1
- bgeu s4, s1, 1b
-2:
-
- # make sure the LFSR was computed correctly
- la s1, lfsr
- sll s4, s4, 2
- add s1, s1, s4
- lw s1, (s1)
- li TESTNUM, 2
- bne s0, s1, fail
-
- RVTEST_PASS
-
- TEST_PASSFAIL
-
-mtvec_handler:
- li TESTNUM, 3
- csrr t0, mcause
- bgez t0, fail
-
- sll t0, t0, 1
- addi t0, t0, -2*IRQ_M_TIMER
- bnez t0, fail
-
- csrr t0, mtime
- addi t0, t0, DELTA_T
- csrw mtimecmp, t0
-
- add s8, s8, 1
- eret
-
-.data
-lfsr:
-.word 1023
-.word 511
-.word 255
-.word 127
-.word 63
-.word 31
-.word 15
-.word 7
-.word 515
-.word 769
-.word 896
-.word 448
-.word 224
-.word 112
-.word 56
-.word 540
-.word 782
-.word 903
-.word 963
-.word 993
-.word 1008
-.word 504
-.word 764
-.word 894
-.word 959
-.word 479
-.word 239
-.word 119
-.word 571
-.word 285
-.word 142
-.word 583
-.word 803
-.word 913
-.word 968
-.word 996
-.word 498
-.word 249
-.word 124
-.word 574
-.word 799
-.word 399
-.word 199
-.word 611
-.word 817
-.word 920
-.word 972
-.word 998
-.word 499
-.word 761
-.word 380
-.word 702
-.word 863
-.word 431
-.word 215
-.word 619
-.word 309
-.word 666
-.word 845
-.word 422
-.word 211
-.word 617
-.word 308
-.word 154
-.word 589
-.word 294
-.word 147
-.word 585
-.word 292
-.word 146
-.word 73
-.word 36
-.word 18
-.word 9
-.word 4
-.word 2
-.word 1
-.word 512
-.word 256
-.word 128
-.word 64
-.word 32
-.word 16
-.word 8
-.word 516
-.word 258
-.word 129
-.word 576
-.word 288
-.word 144
-.word 72
-.word 548
-.word 274
-.word 137
-.word 68
-.word 34
-.word 17
-.word 520
-.word 772
-.word 386
-.word 193
-.word 608
-.word 304
-.word 152
-.word 588
-.word 806
-.word 403
-.word 713
-.word 356
-.word 178
-.word 89
-.word 44
-.word 534
-.word 267
-.word 133
-.word 578
-.word 289
-.word 656
-.word 328
-.word 676
-.word 338
-.word 169
-.word 84
-.word 42
-.word 533
-.word 778
-.word 901
-.word 962
-.word 481
-.word 752
-.word 376
-.word 700
-.word 862
-.word 943
-.word 471
-.word 747
-.word 373
-.word 698
-.word 861
-.word 430
-.word 727
-.word 875
-.word 437
-.word 730
-.word 877
-.word 438
-.word 219
-.word 109
-.word 54
-.word 27
-.word 13
-.word 6
-.word 3
-.word 513
-.word 768
-.word 384
-.word 192
-.word 96
-.word 48
-.word 24
-.word 524
-.word 774
-.word 387
-.word 705
-.word 864
-.word 432
-.word 216
-.word 620
-.word 822
-.word 411
-.word 205
-.word 102
-.word 51
-.word 537
-.word 268
-.word 646
-.word 323
-.word 673
-.word 848
-.word 424
-.word 724
-.word 362
-.word 693
-.word 858
-.word 941
-.word 470
-.word 235
-.word 117
-.word 570
-.word 797
-.word 398
-.word 711
-.word 867
-.word 945
-.word 984
-.word 1004
-.word 1014
-.word 507
-.word 253
-.word 126
-.word 575
-.word 287
-.word 143
-.word 71
-.word 547
-.word 785
-.word 904
-.word 964
-.word 482
-.word 241
-.word 632
-.word 828
-.word 926
-.word 975
-.word 487
-.word 755
-.word 889
-.word 444
-.word 734
-.word 879
-.word 439
-.word 731
-.word 365
-.word 182
-.word 91
-.word 45
-.word 22
-.word 11
-.word 5
-.word 514
-.word 257
-.word 640
-.word 320
-.word 160
-.word 80
-.word 40
-.word 532
-.word 266
-.word 645
-.word 834
-.word 417
-.word 720
-.word 360
-.word 692
-.word 346
-.word 685
-.word 342
-.word 171
-.word 85
-.word 554
-.word 789
-.word 906
-.word 965
-.word 994
-.word 497
-.word 760
-.word 892
-.word 958
-.word 991
-.word 495
-.word 247
-.word 635
-.word 317
-.word 158
-.word 591
-.word 295
-.word 659
-.word 841
-.word 420
-.word 210
-.word 105
-.word 52
-.word 26
-.word 525
-.word 262
-.word 131
-.word 577
-.word 800
-.word 400
-.word 200
-.word 612
-.word 306
-.word 153
-.word 76
-.word 550
-.word 275
-.word 649
-.word 324
-.word 162
-.word 81
-.word 552
-.word 788
-.word 394
-.word 709
-.word 866
-.word 433
-.word 728
-.word 876
-.word 950
-.word 475
-.word 237
-.word 118
-.word 59
-.word 29
-.word 14
-.word 519
-.word 771
-.word 897
-.word 960
-.word 480
-.word 240
-.word 120
-.word 572
-.word 798
-.word 911
-.word 455
-.word 739
-.word 881
-.word 952
-.word 988
-.word 1006
-.word 1015
-.word 1019
-.word 509
-.word 254
-.word 639
-.word 319
-.word 159
-.word 79
-.word 39
-.word 531
-.word 777
-.word 388
-.word 194
-.word 97
-.word 560
-.word 280
-.word 652
-.word 838
-.word 419
-.word 721
-.word 872
-.word 948
-.word 474
-.word 749
-.word 374
-.word 187
-.word 93
-.word 46
-.word 535
-.word 779
-.word 389
-.word 706
-.word 353
-.word 688
-.word 344
-.word 684
-.word 854
-.word 427
-.word 213
-.word 618
-.word 821
-.word 922
-.word 973
-.word 486
-.word 243
-.word 633
-.word 316
-.word 670
-.word 847
-.word 423
-.word 723
-.word 873
-.word 436
-.word 218
-.word 621
-.word 310
-.word 155
-.word 77
-.word 38
-.word 19
-.word 521
-.word 260
-.word 130
-.word 65
-.word 544
-.word 272
-.word 136
-.word 580
-.word 290
-.word 145
-.word 584
-.word 804
-.word 402
-.word 201
-.word 100
-.word 50
-.word 25
-.word 12
-.word 518
-.word 259
-.word 641
-.word 832
-.word 416
-.word 208
-.word 104
-.word 564
-.word 282
-.word 653
-.word 326
-.word 163
-.word 593
-.word 808
-.word 916
-.word 458
-.word 741
-.word 882
-.word 441
-.word 220
-.word 622
-.word 823
-.word 923
-.word 461
-.word 230
-.word 115
-.word 569
-.word 284
-.word 654
-.word 839
-.word 931
-.word 977
-.word 1000
-.word 1012
-.word 506
-.word 765
-.word 382
-.word 703
-.word 351
-.word 175
-.word 87
-.word 555
-.word 277
-.word 650
-.word 837
-.word 930
-.word 465
-.word 744
-.word 884
-.word 442
-.word 733
-.word 366
-.word 695
-.word 859
-.word 429
-.word 214
-.word 107
-.word 53
-.word 538
-.word 781
-.word 390
-.word 195
-.word 609
-.word 816
-.word 408
-.word 716
-.word 870
-.word 435
-.word 729
-.word 364
-.word 694
-.word 347
-.word 173
-.word 86
-.word 43
-.word 21
-.word 522
-.word 773
-.word 898
-.word 449
-.word 736
-.word 368
-.word 184
-.word 604
-.word 814
-.word 919
-.word 971
-.word 485
-.word 754
-.word 377
-.word 188
-.word 606
-.word 815
-.word 407
-.word 715
-.word 357
-.word 690
-.word 345
-.word 172
-.word 598
-.word 299
-.word 149
-.word 586
-.word 805
-.word 914
-.word 457
-.word 228
-.word 114
-.word 57
-.word 28
-.word 526
-.word 775
-.word 899
-.word 961
-.word 992
-.word 496
-.word 248
-.word 636
-.word 830
-.word 927
-.word 463
-.word 231
-.word 627
-.word 825
-.word 412
-.word 718
-.word 871
-.word 947
-.word 985
-.word 492
-.word 758
-.word 379
-.word 189
-.word 94
-.word 559
-.word 279
-.word 651
-.word 325
-.word 674
-.word 337
-.word 680
-.word 852
-.word 426
-.word 725
-.word 874
-.word 949
-.word 986
-.word 1005
-.word 502
-.word 251
-.word 125
-.word 62
-.word 543
-.word 271
-.word 135
-.word 579
-.word 801
-.word 912
-.word 456
-.word 740
-.word 370
-.word 185
-.word 92
-.word 558
-.word 791
-.word 907
-.word 453
-.word 738
-.word 369
-.word 696
-.word 860
-.word 942
-.word 983
-.word 1003
-.word 501
-.word 762
-.word 893
-.word 446
-.word 735
-.word 367
-.word 183
-.word 603
-.word 301
-.word 150
-.word 75
-.word 37
-.word 530
-.word 265
-.word 132
-.word 66
-.word 33
-.word 528
-.word 264
-.word 644
-.word 322
-.word 161
-.word 592
-.word 296
-.word 660
-.word 330
-.word 677
-.word 850
-.word 425
-.word 212
-.word 106
-.word 565
-.word 794
-.word 909
-.word 454
-.word 227
-.word 625
-.word 824
-.word 924
-.word 974
-.word 999
-.word 1011
-.word 1017
-.word 508
-.word 766
-.word 895
-.word 447
-.word 223
-.word 111
-.word 55
-.word 539
-.word 269
-.word 134
-.word 67
-.word 545
-.word 784
-.word 392
-.word 708
-.word 354
-.word 177
-.word 600
-.word 812
-.word 918
-.word 459
-.word 229
-.word 626
-.word 313
-.word 156
-.word 590
-.word 807
-.word 915
-.word 969
-.word 484
-.word 242
-.word 121
-.word 60
-.word 542
-.word 783
-.word 391
-.word 707
-.word 865
-.word 944
-.word 472
-.word 748
-.word 886
-.word 443
-.word 221
-.word 110
-.word 567
-.word 795
-.word 397
-.word 198
-.word 99
-.word 561
-.word 792
-.word 908
-.word 966
-.word 483
-.word 753
-.word 888
-.word 956
-.word 990
-.word 1007
-.word 503
-.word 763
-.word 381
-.word 190
-.word 607
-.word 303
-.word 151
-.word 587
-.word 293
-.word 658
-.word 329
-.word 164
-.word 82
-.word 41
-.word 20
-.word 10
-.word 517
-.word 770
-.word 385
-.word 704
-.word 352
-.word 176
-.word 88
-.word 556
-.word 790
-.word 395
-.word 197
-.word 610
-.word 305
-.word 664
-.word 844
-.word 934
-.word 467
-.word 745
-.word 372
-.word 186
-.word 605
-.word 302
-.word 663
-.word 843
-.word 421
-.word 722
-.word 361
-.word 180
-.word 90
-.word 557
-.word 278
-.word 139
-.word 69
-.word 546
-.word 273
-.word 648
-.word 836
-.word 418
-.word 209
-.word 616
-.word 820
-.word 410
-.word 717
-.word 358
-.word 179
-.word 601
-.word 300
-.word 662
-.word 331
-.word 165
-.word 594
-.word 297
-.word 148
-.word 74
-.word 549
-.word 786
-.word 393
-.word 196
-.word 98
-.word 49
-.word 536
-.word 780
-.word 902
-.word 451
-.word 737
-.word 880
-.word 440
-.word 732
-.word 878
-.word 951
-.word 987
-.word 493
-.word 246
-.word 123
-.word 61
-.word 30
-.word 527
-.word 263
-.word 643
-.word 833
-.word 928
-.word 464
-.word 232
-.word 628
-.word 314
-.word 669
-.word 334
-.word 679
-.word 851
-.word 937
-.word 468
-.word 234
-.word 629
-.word 826
-.word 925
-.word 462
-.word 743
-.word 883
-.word 953
-.word 476
-.word 750
-.word 887
-.word 955
-.word 477
-.word 238
-.word 631
-.word 827
-.word 413
-.word 206
-.word 615
-.word 819
-.word 921
-.word 460
-.word 742
-.word 371
-.word 697
-.word 348
-.word 686
-.word 855
-.word 939
-.word 469
-.word 746
-.word 885
-.word 954
-.word 989
-.word 494
-.word 759
-.word 891
-.word 445
-.word 222
-.word 623
-.word 311
-.word 667
-.word 333
-.word 166
-.word 83
-.word 553
-.word 276
-.word 138
-.word 581
-.word 802
-.word 401
-.word 712
-.word 868
-.word 434
-.word 217
-.word 108
-.word 566
-.word 283
-.word 141
-.word 70
-.word 35
-.word 529
-.word 776
-.word 900
-.word 450
-.word 225
-.word 624
-.word 312
-.word 668
-.word 846
-.word 935
-.word 979
-.word 1001
-.word 500
-.word 250
-.word 637
-.word 318
-.word 671
-.word 335
-.word 167
-.word 595
-.word 809
-.word 404
-.word 202
-.word 613
-.word 818
-.word 409
-.word 204
-.word 614
-.word 307
-.word 665
-.word 332
-.word 678
-.word 339
-.word 681
-.word 340
-.word 170
-.word 597
-.word 810
-.word 917
-.word 970
-.word 997
-.word 1010
-.word 505
-.word 252
-.word 638
-.word 831
-.word 415
-.word 207
-.word 103
-.word 563
-.word 793
-.word 396
-.word 710
-.word 355
-.word 689
-.word 856
-.word 940
-.word 982
-.word 491
-.word 245
-.word 634
-.word 829
-.word 414
-.word 719
-.word 359
-.word 691
-.word 857
-.word 428
-.word 726
-.word 363
-.word 181
-.word 602
-.word 813
-.word 406
-.word 203
-.word 101
-.word 562
-.word 281
-.word 140
-.word 582
-.word 291
-.word 657
-.word 840
-.word 932
-.word 466
-.word 233
-.word 116
-.word 58
-.word 541
-.word 270
-.word 647
-.word 835
-.word 929
-.word 976
-.word 488
-.word 756
-.word 378
-.word 701
-.word 350
-.word 687
-.word 343
-.word 683
-.word 341
-.word 682
-.word 853
-.word 938
-.word 981
-.word 1002
-.word 1013
-.word 1018
-.word 1021
-.word 510
-.word 767
-.word 383
-.word 191
-.word 95
-.word 47
-.word 23
-.word 523
-.word 261
-.word 642
-.word 321
-.word 672
-.word 336
-.word 168
-.word 596
-.word 298
-.word 661
-.word 842
-.word 933
-.word 978
-.word 489
-.word 244
-.word 122
-.word 573
-.word 286
-.word 655
-.word 327
-.word 675
-.word 849
-.word 936
-.word 980
-.word 490
-.word 757
-.word 890
-.word 957
-.word 478
-.word 751
-.word 375
-.word 699
-.word 349
-.word 174
-.word 599
-.word 811
-.word 405
-.word 714
-.word 869
-.word 946
-.word 473
-.word 236
-.word 630
-.word 315
-.word 157
-.word 78
-.word 551
-.word 787
-.word 905
-.word 452
-.word 226
-.word 113
-.word 568
-.word 796
-.word 910
-.word 967
-.word 995
-.word 1009
-.word 1016
-.word 1020
-.word 1022
-
-RVTEST_CODE_END