Permalink
Browse files

Update README for bazel. Add license.

Also, top-level BUILD file. We now build with:
`bazel build :xiosim`

TODO: Move ezOptionParser and Instlib to third_party.

Change-Id: If078c0f2c179e0153406e44398a442585836e3ee
  • Loading branch information...
s-kanev committed Nov 19, 2015
1 parent 8e3f7c3 commit 4e87dc1120779d08b649ea276c11817f1c4e1234
Showing with 69 additions and 38 deletions.
  1. +25 −0 BUILD
  2. +26 −0 LICENSE
  3. +16 −19 README.md
  4. +1 −19 xiosim/BUILD
  5. +1 −0 xiosim/pintool/BUILD
View
25 BUILD
@@ -0,0 +1,25 @@
+# Description:
+# XIOSim, a detailed x86 microarchitectural simulator.
+package( default_visibility = ["//visibility:public"] )
+licenses(["notice"]) # BSD
+
+exports_files(["LICENSE"])
+
+filegroup(
+ name = "xiosim",
+ srcs = [
+ "//xiosim/pintool:timing_sim",
+ "//xiosim/pintool:feeder_zesto.so",
+ "//xiosim/pintool:harness",
+ "@pin//:cp_pinbin",
+ ],
+)
+
+test_suite(
+ name = "all_unit",
+ tags = [ "small" ],
+ tests = [
+ "//xiosim:unit_tests",
+ "//xiosim/pintool:unit_tests"
+ ]
+)
View
26 LICENSE
@@ -0,0 +1,26 @@
+Copyright (c) 2015, Harvard University All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors
+may be used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
View
@@ -3,8 +3,8 @@ XIOSim
XIOSim is a detailed user-mode microarchitectural simulator for the x86 architecture.
It has detailed models for in-order (Atom-like) and out-of-order (Nehalem-like) cores
and tightly-integrated power models. XIOSim supports multiprogram and multithreaded
-execution, regions-of-interest (including SimPoints). It runs at 10s KIPS per simulated
-core and uses cores on the simulation host to speed up muliticore simulation
+execution, regions-of-interest (including SimPoints). It runs at 100s KIPS per simulated
+core and uses cores on the simulation host to speed up multicore simulation
(fastest runs use 2x the number of simulated cores).
XIOSim builds up on and integrates a significant amount of others' work:
@@ -15,23 +15,15 @@ XIOSim builds up on and integrates a significant amount of others' work:
- The DRAM models from [DRAMSim2](http://wiki.umd.edu/DRAMSim2/index.php/Main_Page).
### Dependences ###
-- Pin kit version 2.14+ [Download](http://www.pintool.org/downloads.html)
-- Recent version of GCC including C++11 support (4.7+ is ok)
-- Boost 1.54+
-- libconfuse
+- Bazel 0.1 [Download](http://bazel.io/docs/install.html)
- (integration tests only) Python and py.test
-To install dependent libraries on an Ubuntu system:
-
-~~~
-sudo apt-get install libboost-all-dev libconfuse-dev:i386
-~~~
+XIOSim uses [bazel](http://bazel.io) for fetching and building dependences.
+Check out [third_party](third_party/) for a complete list of libraries we use.
### Try it out ###
~~~
-export PIN_ROOT=</path/to/your/pin/installation>
-cd pintool
-make
+bazel build :xiosim
./run.sh
~~~
@@ -58,8 +50,13 @@ For example:
~~~
### ISA support ####
-The simulator supports user-mode, 32-bit instructions. Some basic SSE instructions
-are supported for doing floating point, but by no means the whole extension set
-(a warning is printed if more than 2% instructions are unsupported.
-In that case, ping Svilen to add your fancy instructions).
-Support for 64-bit mode, SSEx and/or AVX is planned.
+The simulator supports user-mode, ia32 and x86_64 instructions. If you want to
+simulate 32-bit applications, build with `bazel build --cpu=piii :xiosim`.
+
+### License ###
+XIOSim is under the BSD license, unless otherwise noted. In-tree third-party compoments
+are under licences that are no more restrictive: Zesto is under a notice-type
+license, copyright Georgia Tech; McPAT and CACTI are under a notice-type license,
+copyright HP; ezOptionParser is under an MIT license; InstLib is under an
+Intel Open Source license. Despite what some Zesto files mention, there is no
+more code derived from SimpleScalar and covered by the SimpleScalar license.
View
@@ -1,23 +1,5 @@
package( default_visibility = ["//visibility:public"] )
-
-filegroup(
- name = "simulator",
- srcs = [
- "//xiosim/pintool:timing_sim",
- "//xiosim/pintool:feeder_zesto.so",
- "//xiosim/pintool:harness",
- "@pin//:cp_pinbin",
- ],
-)
-
-test_suite(
- name = "all_unit",
- tags = [ "small" ],
- tests = [
- ":unit_tests",
- "//xiosim/pintool:unit_tests"
- ]
-)
+licenses(["notice"]) # BSD
test_suite(
name = "unit_tests",
View
@@ -1,4 +1,5 @@
package( default_visibility = ["//visibility:public"] )
+licenses(["notice"]) #BSD
test_suite(
name = "unit_tests",

0 comments on commit 4e87dc1

Please sign in to comment.