Carnegie Mellon
Computer Science Department |
|
|
|
|
|
|
|
|
|
|
15-410 Projects
Project Handouts
Important Project-Related Documents
- About your 15-410 AFS Space
-
Here we explain the care and feeding of your 15-410 AFS volume.
In the event of trouble, please (re-)read this for advice.
- 15-410 Software Setup Guide
-
This is the installation guide for the software we'll be using in this course.
It also contains information about some files you will commonly see in the Project
tarball (such as the Makefile, update.sh, and simics-linux.sh).
Note that not all of this document is applicable to every
assignment.
- Simics Command Guide
- Our guide to useful Simics commands
-
Simics User Guide
- This is Virtutech's "user manual" for Simics. It covers many different
things (perhaps the single most important piece of information is the
existence of the 'help' command in Simics). In order to view it online,
you need to register with Virtutech (this is free and usually fast).
Alternatively, you can find HTML and PDF's in
/afs/cs.cmu.edu/academic/class/15410-s06/simics/doc.
- Intel x86 documentation
- These three Intel reference guides are extremely
comprehensive and
actually very well written. Do take the time to look over them, they will
be useful in doing each of your projects. These documents are hundreds of
pages - do NOT attempt to print them out (at least, not on a campus
printer).
- Intel architecture guide. Explains
the basic organization of the processor and fundamental concepts like the
execution environment, procedure calls and interrupts, and I/O.
- Intel instruction set reference. A
long volume documenting each x86 instruction.
- Intel system programming guide.
Probably the most interesting of the three documents. Explains privilege
levels, segmentation and paging, how to handle interrupts and exceptions,
and a host of other things.
- x86 Segmentation for the 15-410 student
- We don't expect you to fully use the massive crushing power possessed
by the IA32 memory management hardware, so you may find this
Segmentation Handout useful.
- Advice on the dreaded "triple fault"
-
"Triple fault" isn't a problem per se, but a general class
of problems. You may wish to consult our
Triple-Fault Advice Page.
- Doxygen Documentation System
-
- GNU make
- We will not require you to build and debug complex makefiles for
15-410, but you are expected to understand the basic concepts and
to be able to read a makefile, understand what's going on, and
pick out appropriate targets to invoke partial builds.
The official
documentation for gmake,
the flavor of make available on
Andrew Linux machines, is available from
the
Free Software Foundation website.
How to Boot Your Kernels on Real Hardware
Beginning with Project 1, you will be loading your kernels into Simics off
a floppy disk image.
To boot your project 1 kernel on real hardware,
copy your floppy-image
file onto a real floppy disk using dd:
dd if=bootfd.img of=/dev/fd0
(on your system, the floppy disk device may be called
/dev/fd0, /dev/fd0a,
/dev/floppy, /dev/floppy0,
etc.).
Important notes:
- This process overwrites the entire contents of the floppy with
your image file; any files on the floppy will be destroyed.
- Before using your floppy the first time you should format it
via
fdformat /dev/fd0
Then, simply reboot your machine with the floppy inserted. Do NOT
attempt to boot your kernels on cluster machines.
|