Hello! My query consists of two parts. The first one being "How do I build gem5.opt for a RISC-V 32 simulation". The build I have done now is following a stack overflow solution wherein I made the following replacements:
RiscvISA.py 95: riscv_type = Param.RiscvType("RV32","RV32 or RV64") # RV64 --> RV32RiscvISA.py 103: elen = Param.RiscvVectorElementLength(32, ....... ) # 64 --> 32 Following this replacement and build ( correct me if the build process was wrong ), I had cross-compiled a dhrystone benchmark (src: Fleker's Dhrystone benchmark <https://github.com/Fleker/memristor-research/blob/master/experiments/dhrystone.c>) using riscv32-unknown-elf-gcc 13.1.0 as follows: riscv32-unknown-elf-gcc -march=rv32gc -mabi=ilp32d -static -o dhrystone_rv32 dhrystone.c -lm -g The *simple-riscv.py* config file in the learning_gem/part1 directory was updated with the new binary's location and was simulated. The simulation abruptly stops with a "*fatal: Syscall 403 out of range*" error [image: Screenshot from 2024-07-06 11-14-14] <https://private-user-images.githubusercontent.com/96340698/346254200-23e4a5b8-4a89-424a-bdb2-f8a9e3975ece.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAyNDcxMDMsIm5iZiI6MTcyMDI0NjgwMywicGF0aCI6Ii85NjM0MDY5OC8zNDYyNTQyMDAtMjNlNGE1YjgtNGE4OS00MjRhLWJkYjItZjhhOWUzOTc1ZWNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA2VDA2MjAwM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNjOGQyMDcyZmY4ZjlmMWIxNzUxYWVlNTFmMmE5YTA1MTM3OTYxOTZkOTFhMGIyZWQ3YjUwMTFlMGUwYjc0YTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-dM3bAaP532J06dL68uiWST7mdwJEFjLE90rjwiERBM> An observation I made was that the config file was setting up an SEWorkload which led me to look into the se_workload.cc file which had a SyscallDescTable for SEWorkload::SyscallABI32 containing many ID's and their respective command. The ID 403 was not present in this Table as well: [image: Screenshot from 2024-07-06 11-19-30] <https://private-user-images.githubusercontent.com/96340698/346254397-cd64799b-8727-4e17-abeb-55846d68cffe.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAyNDcxMDMsIm5iZiI6MTcyMDI0NjgwMywicGF0aCI6Ii85NjM0MDY5OC8zNDYyNTQzOTctY2Q2NDc5OWItODcyNy00ZTE3LWFiZWItNTU4NDZkNjhjZmZlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzA2VDA2MjAwM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBlMDZmMzk3ZWMwYTU5ZmQ2ODJlZjdhMjk1ZDJkYTczZDdiZjc3MzdkZTdlZTA1MjRiYjVhNmJhMDhhOTI5MTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.tBy0tZ67BHOhKSUJRqAAzKQxaZhNfNDCN8nwqB1bIrw> My objective is to run an RV32 simulation for the dhrystone benchmark. Please correct me on the build method if its incorrect and also information on the syscall error. Any help on this would be very helpful! Thank you in advance!
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org