Commit graph

7091 commits

Author SHA1 Message Date
Ali Saidi
6f3c09a12c uart works in linux
dev/tsunami_uart.cc:
    added code make it work with linux's uart code.

--HG--
extra : convert_revision : 893a3439dac16cfe68dbd50daa475be04d9ee3de
2004-01-27 18:14:04 -05:00
Nathan Binkert
801c46d250 a bunch of warning fixes
arch/alpha/isa_desc:
    don't say warn: Warning:
base/misc.cc:
    avoid printing two newlines in a row
sim/main.cc:
    print out a message just before we enter the event queue

--HG--
extra : convert_revision : 2a824d4b67661903fc739a0fb0759aa91d72382c
2004-01-27 17:56:23 -05:00
Erik Hallnor
ee6b889ad5 Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : 47f69e4fb2d8727927e40fb6f2abf3dcab654c12
2004-01-27 16:40:17 -05:00
Erik Hallnor
6e61efbbb5 Remove SS-like code from lru.hh/cc
--HG--
extra : convert_revision : 66baf998671a24e6a630d2f35c2f529418cd4d5b
2004-01-27 16:40:04 -05:00
Nathan Binkert
f7a8db20fe Always write out a value for pending so that an m5.fast simulator can
generate a checkpoint that an m5.debug simulator can use

--HG--
extra : convert_revision : eec2d94013119236a9c65c9b5fb6c2ccb0480f51
2004-01-27 13:55:50 -05:00
Nathan Binkert
9bbec8808b Add trace flag for the sampling CPU
--HG--
extra : convert_revision : 928588d46fa069e869416f4f5df8041849625e9f
2004-01-27 12:45:12 -05:00
Ali Saidi
b7f44f6e06 Support for Tsunami coming along... RTC, PIC working, UART in progress
dev/tsunami_io.cc:
    PIC, PIT, RTC implementation for tsunami working so far
dev/tsunami_io.hh:
    PIT, PIC, RTC implementation for tlaser working so far
dev/tsunamireg.h:
    Added RTC defines
kern/linux/linux_system.cc:
    wrote cycle frequency into variable so linux doesn't probe for it.
    The support exists, but it takes two seconds of time to do on a real
    machine, so forever in the simulator.

--HG--
extra : convert_revision : e0ed7f271ece4ed69c06af35d1b0e8ed848cd138
2004-01-26 13:26:34 -05:00
Steve Reinhardt
04a7331298 Minor cleanup of sb_issue() in full_cpu/issue.cc.
--HG--
extra : convert_revision : 4bf69125c37a067a3a06022226a7eb38dcaaf6d1
2004-01-25 21:53:32 -08:00
Erik Hallnor
01059eaded Change the way the hierarchy is separated. Now all virtual functions are in the interfaces. This allows new bus models to be used without major hassle. And I thought it was time to change it all again anyways.
cpu/simple_cpu/simple_cpu.cc:
    Switch doEvents to doEvents()

--HG--
extra : convert_revision : 14b9517017e76c7b941247004393bf260f397d9a
2004-01-25 05:01:00 -05:00
Ron Dreslinski
9b397ce7f4 Add RTC event for uip bit
dev/tsunami_io.cc:
    Add RTC event to change the state of a uip bit
dev/tsunami_io.hh:
    Add RTC event to change state of an uip bit

--HG--
extra : convert_revision : acde7bdfe152d3e08f7ed53b4c8e910378f6ae67
2004-01-23 13:01:32 -05:00
Ali Saidi
f9f4a74986 added the 8254 programmable interval timer
--HG--
extra : convert_revision : 6a111db98c05a3dd692c757611c3eb9c8cfdd32f
2004-01-22 19:02:07 -05:00
Ali Saidi
d9e8ecbf46 renamed tsunami_dma to tsunami_io
dev/tsunami_io.cc:
    renamed to io instead of dma since it's more than the DMA controller now
dev/tsunami_io.hh:
    renamed from dma to io since it's more than dma just now

--HG--
rename : dev/tsunami_dma.cc => dev/tsunami_io.cc
rename : dev/tsunami_dma.hh => dev/tsunami_io.hh
extra : convert_revision : 4ffb69679eb7cea5725fae3446e088899f1f9315
2004-01-22 00:36:26 -05:00
Ali Saidi
de17a03304 updated tsunami_dma
dev/tsunami_dma.cc:
    decide actually differentiating between the different i/o requests
    would be a better idea
dev/tsunami_dma.hh:
    added mask and mode variables, incase they are needed
dev/tsunamireg.h:
    added some i/o port defs

--HG--
extra : convert_revision : 5c7a88a8f8c8725359737b399cfa80610149a5f4
2004-01-22 00:08:48 -05:00
Ali Saidi
0e805e1ff3 one step closer to booting
dev/alpha_access.h:
    removed my attempted hack to get console compling in linux
dev/tsunami.cc:
dev/tsunami.hh:
    added pchip pointer to tsunami
dev/tsunami_cchip.cc:
    made printing better
dev/tsunami_cchip.hh:
    commented out back pointer for now, since the parser has issues with it
dev/tsunamireg.h:
    added pchip registers

--HG--
extra : convert_revision : b4fceb7d08e757d9aaf37df8eb1bcd5ae29ce0da
2004-01-21 20:14:10 -05:00
Erik Hallnor
fde0b7bfaf I hate compiling decoder.cc every time I touch something.
--HG--
extra : convert_revision : b79519452947ea7b110922d5a3dae2f3dfc0b916
2004-01-21 14:22:55 -05:00
Steve Reinhardt
946b481831 Set LIBELF_LINUX to 0 to build on zax. Builds
but did not test... however the only thing this
affects in libelf is the header, so I don't expect
any functional problems.

base/loader/elf_object.cc:
    Set LIBELF_LINUX to 0 to build on zax.

--HG--
extra : convert_revision : d024b33deff6fc8ea6f1d465f76dc8d9d63254ab
2004-01-20 13:53:18 -05:00
Ali Saidi
cb51c1503c Slowly on our way to booting with Tsunami
--HG--
extra : convert_revision : ec8e7e2dc929ad84c5e320fbfb02070e94cd1ad1
2004-01-15 17:29:35 -05:00
Nathan Binkert
c9f2aa8c18 Make each stat take up one full line. This allows us to use grep
to find and remove stats from the files so we can put less
burden on the python interpreter.

base/statistics.cc:
    Manually insert newlines into the python code so that we now have one
    stat per line.  (Make it so we can use grep -v to remove stats)
test/stattest.cc:
    update to reflect changes in how python is accessed

--HG--
extra : convert_revision : 554edcf9c795b33d00d3d15554447c8accebebfa
2004-01-15 16:33:58 -05:00
Nathan Binkert
81575e74e7 Make the python stats script more robust
--HG--
extra : convert_revision : a7680d5cdeac96345e8f521cfb96fccaa3e7a7f6
2004-01-15 14:29:34 -05:00
Nathan Binkert
454d10554a Make dump cycle relative
--HG--
extra : convert_revision : 3434f60fa08d1543358c1209be8a5cfbe43a53bf
2004-01-15 14:29:09 -05:00
Ali Saidi
f013df643a mereged changes to elf_object.cc
base/loader/elf_object.cc:
    merged changes to elf_object.cc

--HG--
extra : convert_revision : 2b7a6083d45f0221646e2ebe5b91ee45ec8c6b7c
2004-01-15 13:22:55 -05:00
Steve Reinhardt
8fd48f5eb0 Update simple-* configs to Erik's new hierarchy parameter thing.
--HG--
extra : convert_revision : de591f6ecfc9a0a20caefb4b82084d1b2ef3433b
2004-01-14 22:50:12 -08:00
Steve Reinhardt
9f2aae4e28 Fixes and cleanup to elf loader code.
base/loader/elf_object.cc:
    - Use program header instead of section headers for loading.
    The old code doesn't work for Alpha/Linux user binaries.

    - Deal properly with single-segment ELF executables (e.g. kernels)...
    haven't tested this but it looks like it matches the functionality
    of the patch the L4::Pistachio guys sent.

    - Factor load symbol code into one common function.

    - Some formatting to match style conventions.

    - Only include libelf stuff in .cc file, not .hh.
base/loader/elf_object.hh:
    - Use program header instead of section headers for loading.
    The old code doesn't work for Alpha/Linux user binaries.

    - Factor load symbol code into one common function.

    - Only include libelf stuff in .cc file, not .hh.

--HG--
extra : convert_revision : 782062d09d43083b01e65cd645c941f49c27640a
2004-01-14 22:30:16 -08:00
Ron Dreslinski
b3788280f6 Add memory space implemented for range 0xffff00188
--HG--
extra : convert_revision : ce17505cb97bf9985fd1f4992df89113a5ea3bf5
2004-01-14 16:21:49 -05:00
Erik Hallnor
fe32fdece2 Merge codebases for CompressedMemBank and SimpleMemBank into one templatized class
--HG--
extra : convert_revision : 04feb72fc4edbbbe1b37b7f618c9fbcbc8a72358
2004-01-14 16:14:15 -05:00
Ali Saidi
54782bfb30 Elf loader now conforms to coding style and config files for linux
use /m5/system/linux for their binaries

base/loader/elf_object.cc:
    Elf loader now conforms to coding style

--HG--
extra : convert_revision : 558e587e969535f31987f2810ee17ec72006de0a
2004-01-14 16:12:00 -05:00
Ali Saidi
c9d88aa089 Minor fixes to loader and an additional header file in alpha_access.h
when we are compiling the console.

base/loader/elf_object.cc:
    added code to verify that the .bss section is 0;
    added code to only load function and label types
dev/alpha_access.h:
    include inittypes if we are compiling the console code

--HG--
extra : convert_revision : b88fb36500b1c1003d44ed95cefdd2a30b7466b8
2004-01-14 04:18:20 -05:00
Nathan Binkert
276dbac7ce Use the new init phase to initialized the switch event
so that we can make the first switch time relative.

--HG--
extra : convert_revision : c81beba2e1bd8629d6c7b386bb213980434030ec
2004-01-14 02:06:35 -05:00
Nathan Binkert
5d7224cc92 Setup initialization callbacks
--HG--
extra : convert_revision : ec56a839a0489c5494bfcd9ead0fc3866f1e8ac2
2004-01-14 02:00:20 -05:00
Erik Hallnor
e650870c15 update for new hierarchy parameters
--HG--
extra : convert_revision : a65f77d6ab704609d9c2ae2c85d4f893fa198cf9
2004-01-13 15:23:54 -05:00
Erik Hallnor
003d2d724c Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : 52437e42f15899db46525ad91b2e43c2a96ace36
2004-01-13 02:10:48 -05:00
Erik Hallnor
413bfc68e6 Change to a new centralized way to specify the memory hierarchy parameters (do_data and do_events). If you use the defaults (false and true respectively) you don't have to change your INI files.
arch/alpha/isa_traits.hh:
    Add a constant for the maximum address value called MaxAddr.

--HG--
extra : convert_revision : 1371e8b713cc6ed134093e9c208db35dc9741ac7
2004-01-13 02:10:35 -05:00
Ali Saidi
a44248aab0 Added code to print out the symbol if one exists for an address
cpu/exetrace.cc:
    added code to print out symbol if one is found for address
kern/linux/linux_system.cc:
    added code to set the debugSymbolTable to the kernel symbol table

--HG--
extra : convert_revision : 191d7608d04fa42baef5e618c0bbbf5ad4001031
2004-01-12 19:59:02 -05:00
Nathan Binkert
4cda5224f6 - quick support for using a regular expression to select
which stats to print
- print out the subname

--HG--
extra : convert_revision : 2960bd33654e55fe0f6279b09dce42b1216188c8
2004-01-12 18:39:39 -05:00
Nathan Binkert
308153665d Commit the correct version of the code
--HG--
extra : convert_revision : 74555b2676fe20d4a742a272b6c97e3a8a237d68
2004-01-12 15:45:51 -05:00
Nathan Binkert
b1295a7317 make the python stuff executable
--HG--
extra : convert_revision : 04c9ff03880f55483466e56109536b74d9163ccd
2004-01-12 13:38:37 -05:00
Nathan Binkert
8384f25620 Check in python script that reads the python stats output.
Still needs a lot of work, but it's at least as good as the
normal output, and has some features that normal ouput is missing
such as bin totalling with correct formulas and totalling of
2d vectors and such.  It will also filter out specific stats
for printing.  (basically grep, but no mistakes.)

--HG--
extra : convert_revision : 05d0f0489483a32145cf6508122cfbc7ea57e204
2004-01-12 13:31:59 -05:00
Ali Saidi
60a1b35e4d addad kern/linux
--HG--
extra : convert_revision : 2a14af3191a532524ee92a47b5bb6e68555010c3
2004-01-11 22:00:35 -05:00
Nathan Binkert
b4301c652c Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : bff2fb78e205f327ce8d04f3ae1b2352857ab824
2004-01-11 21:22:33 -05:00
Steve Reinhardt
f8ed615bc6 Minor cleanup to bk ignore and makefile libelf rule.
--HG--
extra : convert_revision : 77dd858344a74dea15bb36bcb0de04f3af9260f3
2004-01-11 15:26:48 -08:00
Steve Reinhardt
510eef0fa0 Modify handling of serialize:dir parameter to make it more useful.
Move global checkpoint-related functions and vars into Checkpoint class (as statics).

arch/alpha/pseudo_inst.cc:
dev/disk_image.cc:
    Move global checkpoint-related functions and vars
    into Checkpoint class (as statics).
sim/serialize.cc:
    Move global checkpoint-related functions and vars
    into Checkpoint class (as statics).

    Checkpoint constructor now takes checkpoint directory name instead
    of file name.

    Make serialize:dir parameter actually set checkpoint directory name
    instead of directory in which checkpoint directory is created.  If
    the value contains a '%', the curTick value is sprintf'd into the
    format to create the directory name.  The default is backwards compatible
    with the old fixed name ("m5.%012d").
sim/serialize.hh:
    Move global checkpoint-related functions and vars
    into Checkpoint class (as statics).

    Checkpoint constructor now takes checkpoint directory name instead
    of file name.

--HG--
extra : convert_revision : d0aa87b62911f405a4f5811271b9e6351fdd9fe4
2004-01-11 15:24:18 -08:00
Steve Reinhardt
7e07aa9300 Fix cprintf bug, plus minor cleanup & better error messages.
base/cprintf.cc:
    Fix bug where a call with a format string with no specifiers
    but one or more arguments would crash.  Old code tried to print
    extra args using last available format, but in this case there
    was no format, hence the problem.  Now we just print "<extra arg>"
    for each extra arg.

    Also reorganized code a bit to make scope of fmt variable
    match the scope in which you can be confident it's meaningful.
base/cprintf.hh:
    Print specific error message instead of calling format_invalid().
base/cprintf_formats.hh:
    Clear Format object in constructor.
    Use specific error messages instead of format_invalid() function.

--HG--
extra : convert_revision : 87d5e902174e3eb2583131d056742af166540db0
2004-01-11 15:09:27 -08:00
Ali Saidi
54b6d8c5a8 the build directory is now correctly created
--HG--
extra : convert_revision : 4a7b91821e2de64e400417f8ac503af7e596571d
2004-01-08 22:42:21 -05:00
Ali Saidi
98613950a3 Fixed another small libelf problem, everything should work now, on any
machine.

base/loader/elf_object.hh:
    put #defines for libelf that normally arn't defined so that -Wundef
    doesn't cause problems.

--HG--
extra : convert_revision : fa2de6aa94c7ddbaa59990db4473402b0df7d93a
2004-01-08 16:35:47 -05:00
Ali Saidi
e7033f718f should now build... fixed relative path problem
--HG--
extra : convert_revision : 78c9445993a84b68be1b0a477555246f1ea6ce0c
2004-01-08 14:13:31 -05:00
Nathan Binkert
a3691fe09e Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : b7411b25ae9e3a546996aec59e1a67cbe728da85
2004-01-08 12:25:49 -05:00
Ali Saidi
14b4119aaf Changed elf_object.* to use libelf for reading elf files. The makefile
and setup filed had to be modified to build libelf. The ext repository
MUST exist in the directory below m5!

base/loader/elf_object.cc:
base/loader/elf_object.hh:
    now uses libelf to read elf binaries

--HG--
extra : convert_revision : b70511f5379edf35d639f3bb64b786cb0bd180af
2004-01-07 19:46:45 -05:00
Nathan Binkert
9dcfdce732 Improve python output support
fix some bugs

base/statistics.cc:
    -  Move the python dump stream stuff into the statistics package
    because it needs more control over the file when there
    are multiple dumps
    -  add a subname to the output
    -  make all of the stats a list instead of variable arguments to
    get around the 255 argument limit
    -  the description needs to be triple quoted
    -  avoid errors for formulas that don't have any root element
    set up.
base/statistics.hh:
    -  get rid of mode_python and just separate python dumping from
    regular stats dumping
    -  fix a huge bug that made a Formula use a VectorData instead
    of a FormulaData

--HG--
extra : convert_revision : 7303cff3ccdcc3d306ab17375219fc7fecac7e5e
2003-12-28 12:48:13 -05:00
Erik Hallnor
85d75e6dfc Add a uni-directional bus bridge
--HG--
extra : convert_revision : 37d30638eb0d988fc1089c7945f535e2979ca8e4
2003-12-28 00:41:47 -05:00
Nathan Binkert
55d94ba2e8 Add python output support to the statistics package!
base/statistics.cc:
base/statistics.hh:
    -  add python output support to the statistics package
    -  each statistic type has a python() member function that takes
    a Python object to which the stat will output it's python
    representation
    -  add getStatData hack so that the StatData pointer can be looked
    up by the proxies with their opaque pointer to the stat they're
    proxying for.  This is necessary because the proxy really proxies
    for the bin and not the stat.  Be nice to figure out how to get
    rid of it.  The hack is used so that the str() function of a
    proxy can properly name itself.
    -  To print formula stats, every stat has a str() function that
    converts that stat to a string that python can execute to get
    a value.
test/Makefile:
    add python stuff
test/stattest.cc:
    add more tests and test python support

--HG--
extra : convert_revision : 513814ab0a125606897f2c57dccdf22879032ef9
2003-12-24 03:25:36 -05:00