Discussion:
[gem5-users] SPEC CPU2006 for sparc gives error
Aporva Amarnath
2018-07-17 14:30:40 UTC
Permalink
Hi,

I'm trying to run spec cpu2006 for sparc.
When I try to run the benchmarks I get the following error:
*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
Ciro Santilli
2018-07-17 16:58:29 UTC
Permalink
How are you running it? Full gem5 CLI, gem5 git SHA, disk image.

Kernel too old discussed at:
https://stackoverflow.com/questions/48959349/how-to-solve-fatal-kernel-too-old-when-running-gem5-in-syscall-emulation-se-m
Post by Aporva Amarnath
Hi,
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
Aporva Amarnath
2018-07-17 17:44:58 UTC
Permalink
git SHA: 0ee4a543648a4c183a27b7d953317a99f6f30928

gem5 command line:
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
I created the spec06_config file by following this tutorial:
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.

Initially I had got the following error:
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 Santilli
How 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 Amarnath
Hi,
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
Gabe Black
2018-07-17 20:09:08 UTC
Permalink
Can 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 Amarnath
git 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 Santilli
How 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 Amarnath
Hi,
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
Aporva Amarnath
2018-07-17 21:41:01 UTC
Permalink
I have uploaded my scripts, config files and the binary and input files for
bzip2 at https://drive.google.com/open?id=1hII-TyewnHbAve5Ye2gzIdWGwmqINHP5

To reproduce my unimplemented syscall errors:

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

To reproduce the Old Kernel error:

1. Copy the syscalls.cc to src/arch/sparc/linux/
2. Repeat all the steps above

Any help is thankful!
Post by Gabe Black
Can 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 Amarnath
git 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 Santilli
How 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 Amarnath
Hi,
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
Gabe Black
2018-07-19 22:35:10 UTC
Permalink
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 Amarnath
I 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 Black
Can 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 Amarnath
git 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 Santilli
How 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 Amarnath
Hi,
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
Loading...