Sorry, I have just realized you specified where you got the kernel ( https://www.rico.cat/files/ICS18-gem5-sve-tutorial.pdf )
As far as I can see from the slides it is suggesting to clone git clone -b gem5/v4.4 https://github.com/gem5/linux-arm-gem5 This is an old kernel version from a deprecated repository (it states: Deprecated Linux kernel for ARMv7 with gem5-specific tweaks. Use https://gem5.googlesource.com/arm/linux instead). If I inspect the gem5_defconfig I cannot see any mention of SVE enablement https://github.com/gem5/linux-arm-gem5-legacy/blob/gem5/v4.4/arch/arm64/configs/gem5_defconfig So I think you have two options here: 1) If you want to build Linux yourself I suggest you to clone a newer version from https://gem5.googlesource.com/arm/linux arm/linux - Git at Google<https://gem5.googlesource.com/arm/linux> Linux kernel (Aarch32 & Aarch64) with patches for gem5 and Arm. gem5.googlesource.com making sure to enable CONFIG_ARM64_SVE (with menuconfig) 2) If you don't care about building it yourself you could download a prebuilt kernel image: wget http://dist.gem5.org/dist/current/arm/aarch-system-201901106.tar.bz2 You could also automatically download the kernel by running regressions: ./tests/main.py -j`nproc` -t`nproc` --isa ARM Let me know if you have any problem Giacomo ________________________________ From: gem5-users <[email protected]> on behalf of Giacomo Travaglini <[email protected]> Sent: 03 February 2020 13:56 To: gem5 users mailing list <[email protected]> Subject: Re: [gem5-users] Illegal Instruction when running FS with SVE code Hi Jeckson. Out of curiosity, where did you find that kernel image? My assumption is that the kernel is not supporting SVE instructions (might be an old one?) The reason for my guess is that the kernel is not recognizing the exception class: "0x66000000 -- UNRECOGNIZED EC" Which is the EC_TRAPPED_SVE exception code. So gem5 is enabling SVE instructions (this is why you are not getting an undefined instruction fault) but since EL1 (Linux) is not doing it the instruction gets trapped (To avoid this you should enable SVE in the kernel so that it is properly setting the CPACR_EL1.ZEN bits) Kind Regards Giacomo ________________________________ From: gem5-users <[email protected]> on behalf of Jeckson Souza <[email protected]> Sent: 03 February 2020 13:20 To: gem5 users mailing list <[email protected]> Subject: [gem5-users] Illegal Instruction when running FS with SVE code Hi all, I am trying to run an application compiled using gcc generated SVE code (march=armv8-a+sve) using a full system simulation. This is the command line I am using to run the simulation: build/ARM/gem5.opt -d /path/to/output/ configs/example/arm/fs_bigLITTLE.py --cpu-type atomic --kernel /path/to/kernel/vmlinux.arm64 --disk /path/to/disk/linaro-minimal-aarch64.img --big-cpus 2 --little-cpus 0 --param 'system.sve_vl = 1' --bootscript /path/to/script/Script.rcS The simulation starts up just fine but when I try to run the application I get: [ 2355.819013] Bad mode in Synchronous Abort handler detected, code 0x66000000 -- UNRECOGNIZED EC [ 2355.819068] CPU: 0 PID: 997 Comm: atax_sve_omp Not tainted 4.4.0+ #1 [ 2355.819109] Hardware name: V2P-CA15 (DT) [ 2355.819136] task: ffffffc077d68000 ti: ffffffc0785f0000 task.ti: ffffffc0785f0000 [ 2355.819183] PC is at 0x4030f4 [ 2355.819204] LR is at 0x4030c4 [ 2355.819225] pc : [<00000000004030f4>] lr : [<00000000004030c4>] pstate: 80000000 [ 2355.819271] sp : 0000007ffffffa60 [ 2355.819294] x29: 0000007ffffffa60 x28: 0000000000000000 [ 2355.819333] x27: 00000fa000000fa0 x26: 0000007ffffffce8 [ 2355.819371] x25: 0000000000000001 x24: 0000007ffffffb30 [ 2355.819410] x23: 0000000000000002 x22: 0000007fb05ec040 [ 2355.819448] x21: 0000000000000000 x20: 0000000000000fa0 [ 2355.819486] x19: 0000000000000fa0 x18: 0000000000000000 [ 2355.819525] x17: 0000000000433c00 x16: 00000000004b4018 [ 2355.819563] x15: 00000000004bc7c8 x14: 0000000000000027 [ 2355.819601] x13: 00000000004b5b10 x12: 0000007fb05eb010 [ 2355.819640] x11: 00000000003d0f00 x10: 0000000000418490 [ 2355.819678] x9 : 0000007fb05ea910 x8 : 0000000000000062 [ 2355.819716] x7 : 00000000004bc448 x6 : 00000000004bc448 [ 2355.819755] x5 : 0000007fb05eb0e0 x4 : 0000007fb05eb710 [ 2355.819793] x3 : 00000000000007d0 x2 : 0000000000000000 [ 2355.819831] x1 : 00000000004bc700 x0 : 00000000004bdae0 [ 2355.819869] Illegal instruction Running the same application compiled without SVE code works with no problems. I believe the SVE code in the application is also working, as I was able to run it using system call emulation (although a single-threaded version) with the SVE instructions. I have compiled the kernel using the guide in this tutorial https://www.rico.cat/files/ICS18-gem5-sve-tutorial.pdf and I am using the latest gem5 revision in the master branch (4ae8d1c0ed18f351b52f421553b28fe109f87665). Has anybody gone through this problem or have any suggestions? Regards, Jeckson Dellagostin Souza PhD Candidate Instituto de Informática Universidade Federal do Rio Grande do Sul IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
