It looks like you built your binary with gcc version 5.4, and that requires
a minimum kernel version of 3.2 on non-x86 systems (if the internet is to
be believed). You can just bump the version reported by uname up in
syscalls.cc and that should get you past the error. I then ran into a NULL
pointer dereference pretty early on in __libc_start_main + 588, but since I
don't have a cross compilation toolchain available it's hard for me to see
what it's trying to do there (other than loading a byte from somewhere) and
why it's not getting the answer it expects. It is very shortly after
__libc_setup_tls returns, so it could be something to do with thread local
storage and that not being fully or perhaps correctly implemented on SPARC.
Gabe
Post by Aporva AmarnathI have uploaded my scripts, config files and the binary and input files
for bzip2 at
https://drive.google.com/open?id=1hII-TyewnHbAve5Ye2gzIdWGwmqINHP5
1. Build gem5: scons build/SPARC/gem5.opt -j9
CPU_MODELS=AtomicSimpleCPU,TimingSimpleCPU
2. Copy the the python files into configs/example/
3. Modify run_gem5_sparc_spec06_benchmark.sh:24 to provide path to
where 401.bzip2 is. (Or just place sparc_gem5 into your gem5 folder
(default))
4. Run the script: ./run_gem5_sparc_spec06_benchmark.sh bzip2
/full/path/to/output/dir
1. Copy the syscalls.cc to src/arch/sparc/linux/
2. Repeat all the steps above
Any help is thankful!
Post by Gabe BlackCan you put the files needed to reproduce the problem (config script,
binary, etc) somewhere accessible? I can't make any promises, but if I have
a chance to dig into it I'll take a look. I'd like to keep SPARC as
functional and useful as time allows.
Gabe
Post by Aporva Amarnathgit SHA: 0ee4a543648a4c183a27b7d953317a99f6f30928
build/SPARC/gem5.opt --outdir=temp configs/example/spec06_config.py
--cpu-type TimingSimpleCPU --benchmark=bzip2
--benchmark_stdout=temp/bzip2.out --benchmark_stderr=temp/bzip2.err
https://markgottscho.wordpress.com/2014/09/20/tutorial-easily-running-spec-cpu2006-benchmarks-in-the-gem5-simulator/
I didn't use a disk image. I tried to run this in SE mode.
warn: open: cannot decode flags 0x4
fatal: syscall writev (#121) unimplemented.
I tried implementing the syscalls: writev, tgkill and gettid. But I
don't think I did it successfully, leading to the Kernel too old error.
Any ideas on how to implement these syscall functions for
SparcLinux32/64?
Post by Ciro SantilliHow are you running it? Full gem5 CLI, gem5 git SHA, disk image.
https://stackoverflow.com/questions/48959349/how-to-solve-fatal-kernel-too-old-when-running-gem5-in-syscall-emulation-se-m
Post by Aporva AmarnathHi,
I'm trying to run spec cpu2006 for sparc.
*AtomicSimpleCPU:*
panic: panic condition !pte occurred: Tried to access unmapped address
0xffffffffffffffd0.
*TimingSimpleCPU:*
FATAL: kernel too old
gem5.opt: build/SPARC/mem/dram_ctrl.cc:412: void
DRAMCtrl::addToReadQueue(PacketPtr, unsigned int): Assertion
`!pkt->isWrite()' failed.
I have tested out the binary on an actual system and it works.
However, when trying to run it on SPARC_SE mode it gives the above error.
Any help would be useful.
Regards,
Aporva
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users