diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..9961aea --- /dev/null +++ b/COPYING @@ -0,0 +1,30 @@ +(The “MIT License”) + +With the exceptions below, all files are +Copyright (c) 2008 Nelson Elhage + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +===================================================================== +tests/bench[1-4].uasm, tests/os.uasm, tests/sancheck.uasm, +tests/litmus.uasm, tests/beta.uasm are modified from 6.004 soure code +available from http://web.mit.edu/6.004/bsim/ + +uasm/uasm.c is modified from uasm.c available at +http://web.mit.edu/6.004/src/posix-src/uasm/ diff --git a/README b/README new file mode 100644 index 0000000..d25167e --- /dev/null +++ b/README @@ -0,0 +1,22 @@ +This code implements a working Just-In-Time binary translator from the +Beta [1] processor to the i386. It supports clock and keyboard +interrupts, and correctly executes lab6.uasm, bench[1-4].uasm, and +litmus.uasm, as well as Lab 8's operating system [2]. + +This source is canonically available as a git tree from +http://nelhage.com/git/bemu.git/, or as a tarball from +http://nelhage.com/files/bemu.tgz (not guaranteed to be up-to-date) + +It should work on just about any modern Linux system; I've tested it +on Athena and it works fine there. + +To run the self-tests, `make test'; To run the lab8 OS, `make +run-lab8'. + +It alsos includes a somewhat hacked version of `uasm' from +http://web.mit.edu/6.004/src/posix-src/uasm/, modified to deal with +relative includes slightly better, and to support arbitrary-sized +ROMs. + +[1] http://6004.csail.mit.edu/currentsemester/handouts/beta.pdf +[2] http://web.mit.edu/6.004/bsim/lab8.uasm