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

Reply via email to