|
|
(50 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
− | ''' This page is under heavy construction '''
| + | The content of this page has moved to: http://bbench.eecs.umich.edu |
− | | |
− | == Source ==
| |
− | A tarball of the BBench source can be found here:
| |
− | | |
− | [http://www.gem5.org/dist/current/bbench/bbench_umich_gem5.tgz BBench Source]
| |
− | | |
− | == Running BBench on Android with gem5 ==
| |
− | Everything required to run BBench on gem5 is provided in the next section. You will need the kernel, the disk image (containing BBench), and the rcS script.
| |
− | | |
− | # Create a directory where you will place your gem5 full-system files, call this directory ''system''. Inside this directory create two separate directories, one called ''binaries'' and the other called ''disks''.
| |
− | # Point the ''M5_PATH'' environment variable to this location. E.g, type ''export M5_PATH=path_to_gem5_system/system/''
| |
− | # Place the kernel in the ''path_to_gem5_system/system/binaries/'' directory
| |
− | # Place the disk image in the ''path_to_gem5_system/system/disks/'' directory
| |
− | # Build the ARM bootloader and place it in the same directory as the kernel. The code for the bootloader is typically in ''path_to_gem5_root/system/arm/simple_bootloader/''. Simply type ''make'' in this directory and the bootloader will be compiled. Copy the resulting ''boot.arm'' file to the same directory where you kernel is located. E.g., ''path_to_gem5_system/system/binaries/''
| |
− | # The default gem5 scripts look for a kernel called ''vmlinux.arm.smp.fb.2.6.38.8'' and a disk image called ''android-mbr.img''. You will have to either rename the files or create softlinks to them once you have downloaded and untarred them.
| |
− | # The bbench.rcS file should be placed wherever you keep your rcS scripts. This is ''typically path_to_gem5_root/configs/boot/''.
| |
− | #You will also need to modify your Benchmarks.py file to include bbench, i.e., include a line like the following: '''bbench': [SysConfig('bbench.rcS', '256', 'android-mbr.img')]''
| |
− | # Assuming you have followed the steps above, and built a full-system version of gem5 for ARM, you should be able to type ''/path_to_gem5_root/build/ARM_FS/m5.fast -b bbench'' to run Android on ARM.
| |
− | | |
− | '''Note: Android only runs on the ARM ISA.'''
| |
− | | |
− | == Android Full-System Files ==
| |
− | These files contain everything you need to get Android, and BBench, up and running on gem5.
| |
− | | |
− | * [http://www.gem5.org/dist/current/bbench/vmlinux_and_config_arm.tgz Kernel] -- Pre-compiled Android kernel and config file.
| |
− | | |
− | * [http://www.gem5.org/dist/current/bbench/Gingerbread_disk_image.tgz Disk Image] -- Disk image with a pre-compiled Android Gingerbread file system. This disk image contains all of the files generated during initial boot, as well as a self-terminating version of BBench and BusyBox.
| |
− | | |
− | * [http://www.gem5.org/dist/current/bbench/Gingerbread_disk_image_clean.tgz Clean Disk Image] -- Disk image containing only the pre-compiled Android Gingerbread file system. This disk image contains no benchmarks and has never been booted.
| |
− | | |
− | * [http://www.gem5.org/dist/current/bbench/bbench.rcS rcS Script] -- Script for automating a BBench run on gem5.
| |
− | | |
− | == Building Your Own Android File System and Kernel ==
| |
− | Coming Soon!
| |
− | | |
− | == Other Benchmarks ==
| |
− | Coming soon!
| |
− | | |
− | == Publications ==
| |
− | If you use BBench or any of our benchmarks in your work please cite our [http://www.eecs.umich.edu/~atgutier/bbench/iiswc_2011.pdf IISWC 2011 paper]:
| |
− | | |
− | A. Gutierrez, R.G. Dreslinski, T.F. Wenisch, T. Mudge, A. Saidi, C. Emmons, and N. Paver. Full-System Analysis and Characterization of Interactive Smartphone Applications. ''IEEE International Symposium on Workload Characterization'', Austin, TX, November 2011.
| |