I forgot to mention that I did read
http://gem5.org/Compiling_a_Linux_Kernel
and
http://gem5.org/Linux_kernel
but they don't seem to answer what I think I should be asking.
Ben

-----Original Message-----
From: gem5-users-boun...@gem5.org [mailto:gem5-users-boun...@gem5.org] On 
Behalf Of Payne, Benjamin
Sent: Wednesday, November 07, 2012 3:58 PM
To: gem5-users@gem5.org
Subject: [gem5-users] compiling RAMSpeed benchmark in X86 full system mode

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

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

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.

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
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to