Hi Ben, See below.
On Nov 7, 2012, at 1:57 PM, Payne, Benjamin wrote: > Hello, > > I'm interested in running the RAMSpeed benchmark > http://alasir.com/software/ramspeed/ > http://www.alasir.com/software/ramspeed/ramspeed-2.6.0.tar.gz > for x86, ideally for both syscall emulation mode and full system mode. > > # I installed gem5 > cd ~ > hg clone http://repo.gem5.org/gem5 > cd ~/gem5 > scons build/X86/gem5.opt > > # then I grabbed ramspeed: > cd > wget http://www.alasir.com/software/ramspeed/ramspeed-2.6.0.tar.gz > tar xvzf ramspeed-2.6.0.tar.gz > cd ~/ramspeed-2.6.0/ > # I created a static binary, > gcc -Wl,-O2 -Wl,-s -static -o ramspeed temp/ramspeed.o temp/intmark.o > temp/intmem.o temp/fltmark.o temp/fltmem.o temp/mmxmark.o temp/mmxmem.o > temp/ssemark.o temp/ssemem.o > > # trying syscall emulation mode, it fails due to "gettimeofday" being > unimplemented It should be trivial to implement gettimeofday. See src/arch/x86/linux/syscalls.cc and src/sim/syscall_emul.* It's implemented for Alpha and SPARC, so it should be trival to add the implementation for x86. > > bpayne@bpayne-VirtualBox64:~/gem5$ build/X86/gem5.opt configs/example/se.py > -c ~/ramspeed-2.6.0/ramspeed -o "-b1" > warning: No header file specified for SimObject: Switch > gem5 Simulator System. http://gem5.org > gem5 is copyrighted software; use the --copyright option for details. > gem5 compiled Nov 7 2012 13:26:33 > gem5 started Nov 7 2012 14:51:06 > gem5 executing on bpayne-VirtualBox64 > command line: build/X86/gem5.opt configs/example/se.py -c > /home/bpayne/ramspeed-2.6.0/ramspeed -o -b1 > Global frequency set at 1000000000000 ticks per second > 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000 > **** REAL SIMULATION **** > info: Entering event queue @ 0. Starting simulation... > warn: instruction 'fnstcw_Mw' unimplemented > warn: instruction 'fldcw_Mw' unimplemented > RAMspeed (Linux) v2.6.0 by Rhett M. Hollander and Paul V. Bolotoff, 2002-09 > 8Gb per pass mode > fatal: syscall gettimeofday (#96) unimplemented. > @ cycle 9162000 > [unimplementedFunc:build/X86/sim/syscall_emul.cc, line 83] > Memory Usage: 624768 KBytes > > # since "time" is a central metric in ramspeed.c, I decided to try full > system mode > > # When I use the full system files (img+kernel) available from > # http://gem5.org/Download > # for x86, > # http://www.m5sim.org/dist/current/x86/x86-system.tar.bz2 > # http://www.m5sim.org/dist/current/x86/config-x86.tar.bz2 > # the kernel is "too old" when ramspeed is run within full system mode: > ./ramspeed -b1 > FATAL: kernel too old > ramspeed[810]: segfault at 00002acb... > Segmentation fault The kernel you're using is too old like you suggest. > > I have created an .img file for Ubuntu 12.04 64bit using QEMU and am able to > boot into it using QEMU. Then I can run ramspeed to verify it works within > the image. > > My question is where do I get the kernel I need to specify when I run the > following: > > build/X86/gem5.opt configs/example/fs.py > --disk-image=/home/bpayne/full_system_images/disks/ubuntu-x86_64_1204.img > --kernel=/home/bpayne/full_system_images/binaries/x86_64-vmlinux-2.6.22.9 > > I tried --kernel=/boot/vmlinux-3.2.0-29-generic > which is on the host, but that file is only 5MB (rather than the 50MB kernel > which was downloaded from m5sim.org. You'll need to compile a kernel from source and make vmlinux. This will show up in the root of the kernel source build directory and be an unstripped and uncompressed binary. Thanks, Ali > > I have compiled the kernel before, but didn't produce the file gem5 is > looking for. > > Thank you, > > > Ben Payne > Laboratory for Physical Sciences > http://www.lps.umd.edu/ > office: 443-654-7890 > > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
