Age | Commit message (Collapse) | Author |
|
some sundry problems with new interface
dev/alpha_console.cc:
dev/alpha_console.hh:
dev/baddev.cc:
dev/baddev.hh:
dev/pciconfigall.cc:
dev/pciconfigall.hh:
dev/pcidev.cc:
dev/pcidev.hh:
dev/tsunami_cchip.cc:
dev/tsunami_cchip.hh:
dev/tsunami_io.cc:
dev/tsunami_io.hh:
dev/tsunami_pchip.cc:
dev/tsunami_pchip.hh:
dev/tsunami_uart.cc:
dev/tsunami_uart.hh:
Fixed to use new FunctionalMemory interface
--HG--
extra : convert_revision : bee98e6285d92f28fafacf919ab06eaf333a9b56
|
|
arch/alpha/alpha_memory.cc:
dev/alpha_console.cc:
dev/alpha_console.hh:
Merge
--HG--
extra : convert_revision : 3233648f204338ab3f102ff117754dce955dcc37
|
|
--HG--
extra : convert_revision : c11fde5e5f0e344d2f4c89c57a4d41ca179a31e5
|
|
dev/tsunami.hh:
Added generic platform base class
--HG--
extra : convert_revision : ff74956937f9fca5bdfa5e3779add776e4a91f8b
|
|
into zizzer.eecs.umich.edu:/y/saidi/work/m5
--HG--
extra : convert_revision : 35c2de18adad0957538453b2a083e59de535aa88
|
|
dev/pcidev.cc:
Linux 2.6 writes the latency timer, so it was added to the list of
allowable writes
dev/tsunami_uart.cc:
dev/tsunami_uart.hh:
A couple of changes so that the new linux autoconf serial driver thinks
that the serial port exists and configures it
--HG--
extra : convert_revision : 6c026ef754e31de56c9b837ceb8f6be48c8d8d9c
|
|
- Make the MemoryController use address ranges (via Range) instead
of an address and a mask
base/remote_gdb.cc:
reflect name change
dev/alpha_access.h:
better include
dev/alpha_console.cc:
- FunctionalMemory no longer takes care of mapping my address into
the proper address space. It must be done locally.
- the memory controller no longer uses a mask, but a size, and the
size is determined by the device, not the .ini file
- fix up address calculations to reflect the removal of a mask
- PhysicalMemory::getSize() -> PhysicalMemory::size()
dev/alpha_console.hh:
- FunctionalMemory no longer takes care of mapping my address into
the proper address space. It must be done locally.
- the memory controller no longer uses a mask, but a size, and the
size is determined by the device, not the .ini file
- fix up address calculations to reflect the removal of a mask
- get rid of MmapDevice and inherit from FunctionalMemory
--HG--
extra : convert_revision : e3a65c9debf6f899632d62c70781cbdc2826616b
|
|
dev/tsunami.cc:
Changed so Tsunami has a pointer to the System to which it belongs.
Now it is derived from generic base class Platform so platform stuff
can be accessed based on the system
dev/tsunami_io.cc:
dev/tsunami_io.hh:
Cleanup and added copyright
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
Added event to skip the "calibrate_delay" function, now calculate
loops_per_jiffy based on frequency, interrupt frequency, and constant
sim/system.hh:
Added pointer to generic Platform base class
--HG--
extra : convert_revision : 5bd925eec220a2ca48eb6164d2ecfdec96922c2c
|
|
--HG--
extra : convert_revision : 9236c7f0aeb4d555880bdfdfa7f55cedf1cbb950
|
|
--HG--
extra : convert_revision : eeb0a2c227261ce601ec5e5e8e57b58cbcf22a17
|
|
--HG--
extra : convert_revision : 8b3d1b2fe15eeb7d97462dac0043ca6b0863f6e6
|
|
--HG--
extra : convert_revision : b33c94984f8d9ac2baf8d7b45fa79460846b1755
|
|
dev/pciconfigall.cc:
dev/pciconfigall.hh:
dev/pcidev.cc:
dev/pcidev.hh:
dev/tsunami.cc:
dev/tsunami.hh:
A bunch of changes to clean up new PCI code and to fix build
--HG--
extra : convert_revision : 71063bcc565c50fc293b323ddce2c8e701f544ff
|
|
execution pipeline (Alpha trapb & excb).
Add support for write memory barriers (mostly impacts
store buffer).
Add StaticInst flag to indicate memory barriers, though
this is not modeled in the pipeline yet.
arch/alpha/isa_desc:
Implement trapb, excb, mb, and wmb as insts with
no execution effect (empty execute() function) but
with flags that indicate their side effects.
Also make sure every instruction that needs to go to
the execute stage has a real opClass value, since we
are now using No_OpClass to signal insts that can get
dropped at dispatch.
StaticInst::branchTarget() is now a const method.
cpu/static_inst.hh:
Add flags to indicate serializing insts (trapb, excb) and
memory and write barriers.
Also declare some StaticInst methods as const methods.
dev/etherlink.hh:
sim/eventq.hh:
sim/serialize.cc:
sim/serialize.hh:
sim/sim_object.hh:
Make name() return value const.
--HG--
extra : convert_revision : 39520e71469fa20e0a7446b2e06b494eec17a02c
|
|
dev/pcidev.cc:
dev/pcidev.hh:
BAR changes should now change the mmu mapping
--HG--
extra : convert_revision : 2d5c60ef076ab0588a25def1ecd9dbb90c9144d7
|
|
--HG--
extra : convert_revision : fc2bc4399665344220b1a7e345ae6d2df03c9960
|
|
dev/tsunami.cc:
dev/tsunami.hh:
Change to use AdaptecController with Tsunami
--HG--
extra : convert_revision : 6ff4f9f7ae1959589340b2ab23755b4dbfec4dbc
|
|
--HG--
extra : convert_revision : c06b2cfd2787022ee5dc664886873a9afa459434
|
|
--HG--
extra : convert_revision : 47425264e672f727cbb13aa7b9bb2a67790b25e8
|
|
Statistics::NodePtr, StaticInstPtr, ethernet PacketPtr.
base/statistics.hh:
Change NodePtr parameters to Nodeptr &.
cpu/exetrace.hh:
Change StaticInstPtr parameters to StaticInstPtr &.
dev/etherbus.cc:
dev/etherbus.hh:
dev/etherdump.cc:
dev/etherdump.hh:
dev/etherint.hh:
dev/etherlink.cc:
dev/etherlink.hh:
dev/ethertap.cc:
dev/ethertap.hh:
change PacketPtr parameters to PacketPtr &.
--HG--
extra : convert_revision : a778efdca33b0ec5beb76cf47db0e9e4728897ee
|
|
This avoids incrementing and decrementing the MemReq
reference counters on every call and return.
arch/alpha/alpha_memory.cc:
arch/alpha/alpha_memory.hh:
cpu/exec_context.hh:
cpu/memtest/memtest.cc:
cpu/memtest/memtest.hh:
dev/alpha_console.cc:
dev/alpha_console.hh:
Change MemReqPtr parameters to references.
--HG--
extra : convert_revision : 3ba18bdd9f996563988402576bfdd3430e1ab1e5
|
|
This is basically the same thing that was done for tlaser_uart
--HG--
extra : convert_revision : e0de84b83d1ee4fe0ef769b4de232dbbd7d9c228
|
|
--HG--
extra : convert_revision : 8690e31b64235874d74ea4a1123a408610fb115b
|
|
dev/tsunami.hh:
Started commenting code
dev/tsunami_cchip.cc:
removed unneccessary config files
dev/tsunami_io.cc:
Added code to see the value written
dev/tsunami_uart.cc:
conviently one of the addresses the SuperI/O southbridge can be is the same space
as the UART. This stops the simulator from panicing although it should probably be
changed a bit.
--HG--
extra : convert_revision : a3334a2c418ee8228089d0e1791fa78bbb276fe5
|
|
special console values separately.
dev/alpha_console.cc:
use new console specific input function
--HG--
extra : convert_revision : 08997d6115d2aac3a26cac2774b3c3fc0cd76ab0
|
|
statStream catchall that we had before)
Also provide an optional output directory that multiple simulator output
files can be written to.
Make most output files use the output directory
base/misc.cc:
send warnings to the outputStream as well
base/trace.cc:
dprintf_stream defaults to cerr
dev/console.cc:
use the output directory for the console output if it exists
dev/etherdump.cc:
dump to the output directory if it exists
sim/builder.cc:
sim/builder.hh:
move constructor and destructor to .cc file
use a function to get the stream that the builder dumps its
output to, and create a separate file in the output directory
if able
sim/main.cc:
statStream -> outputStream
sim/serialize.cc:
dump checkpoints to the output directory if specified
sim/universe.cc:
provide an output stream for simulator output. (This takes place of the
statStream catchall that we had before)
Also provide an optional output directory that multiple simulator output
files can be written to.
--HG--
extra : convert_revision : 03abce20edbbf7ec19c9ddd8d69ec8485c383532
|
|
from cchip register
dev/tsunami_cchip.cc:
added support for figuring out which cpu you are
--HG--
extra : convert_revision : 7862678a259931bb0a5b2ca8ad298a704bd272ec
|
|
dev/tsunami_cchip.cc:
dev/tsunami_cchip.hh:
Add Interrupt capabilities for DIRx, added postDRIR and clearDRIR
functions
dev/tsunami_io.cc:
Add PIC interrupts, and post/clearPIC functions
dev/tsunami_io.hh:
Add support for PIC interrupts, added post/clearPIC functions
--HG--
extra : convert_revision : b705568670b157c1a4496c365226526fa96e21e0
|
|
cpu/exetrace.cc:
added looking for symbols at PC+4 and PC+8 thanks to gcc skiping
setting the gp where it can and jumping <func>+8
dev/console.cc:
commented out weird interrupt per nate's suggestion
dev/tsunami_cchip.cc:
moved rtc flag to correct bit
dev/tsunami_io.cc:
time interrupt will be 1024Hz and at some point be configurable by
linux
dev/tsunami_io.hh:
Timer interrupt will be 1024hz for now and in the future be
configurable by linux
--HG--
extra : convert_revision : 2fcc924c8848eb3c6166d9d517617ed193a2b89a
|
|
dev/alpha_console.cc:
Fix reference to tlaserclock, HACK FOR NOW
dev/alpha_console.hh:
fix reference to tlaser_clock, HACK FOR NOW
dev/tsunami.cc:
Add proper tsunami chip pointers
dev/tsunami.hh:
add proper tsunami chip pointers add RTC interrupt capabilities
dev/tsunami_cchip.cc:
Add proper Interrupt for RTC
dev/tsunami_cchip.hh:
Add proper interrupt for RTC
dev/tsunami_io.cc:
dev/tsunami_io.hh:
Make RTC interrupt
dev/tsunami_pchip.cc:
dev/tsunami_pchip.hh:
Add back pointer to tsunami
--HG--
extra : convert_revision : 2b0a8616b0bed8d9962ee5ca643dce56b9922d52
|
|
dev/tsunami_uart.cc:
added code make it work with linux's uart code.
--HG--
extra : convert_revision : 893a3439dac16cfe68dbd50daa475be04d9ee3de
|
|
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
|
|
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
|
|
--HG--
extra : convert_revision : 6a111db98c05a3dd692c757611c3eb9c8cfdd32f
|
|
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
|
|
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
|
|
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
|
|
--HG--
extra : convert_revision : ec8e7e2dc929ad84c5e320fbfb02070e94cd1ad1
|
|
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
|
|
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
|
|
dev/alpha_access.h:
- use our standard types instead of this extra typedef
- advance the ALPHA_ACCESS version since the interface
has changed. *this means you need a new console binary*
- shuffle a couple things around to pack the data structure
a bit better
- add a placeholder for character input
dev/alpha_console.cc:
Clean up the read code path a bit and add support for character
input via the console
Clean up the write path and use a switch instead of a bunch of
if statements
--HG--
extra : convert_revision : a1a5bc8fed9ec9c4c46548fdf79604661668b81a
|
|
arch/alpha/alpha_tru64_process.cc:
So, I don't know why linux uses an off_t here.
I'm also not sure why linux defines an off_t to be a long
Let's just use long here since it works for linux, and that's
what bsd does
base/inifile.cc:
correct #include for OpenBSD
dev/disk_image.cc:
the correct type for this is streampos
--HG--
extra : convert_revision : f3ac3a3b8515d66e07ffb9780d8a9e387297b6a0
|
|
a checkpoint now gives identical results to running from scratch
and doing at switchover at the same cycle!
- CPUs start at cycle 0 again, not cycle 1.
- curTick is now serialized & unserialized.
- Stats get reset in main (before event loop). Since this is done
after curTick is unserialized, simTicks gets set correctly for
running from a checkpoint.
- Simplify serialization to happen in a single pass.
- s/Serializeable/Serializable/
arch/alpha/isa_traits.hh:
dev/etherlink.hh:
sim/eventq.cc:
sim/eventq.hh:
s/Serializeable/Serializable/
kern/tru64/tru64_system.cc:
sim/process.cc:
Make initial CPU activation on cycle 0 again (not 1).
sim/main.cc:
Reset stats before getting started.
Make error message on falling out of event loop
more meaningful.
sim/serialize.cc:
sim/serialize.hh:
Get rid of now-useless initial pass; serialization is
done in a single pass now.
Serialize & unserialize curTick.
Wrap curTick and mainEventQueue in a "globals" Serializable object.
s/Serializeable/Serializable/
sim/sim_object.cc:
Add static function to serialize all SimObjects.
sim/sim_object.hh:
Add static function to serialize all SimObjects.
s/Serializeable/Serializable/
--HG--
extra : convert_revision : 9dcc411d0009b54b8eb61c3a509680b81b9f6f68
|
|
and SimpleCPU::setStatus() into separate functions. For example,
setStatus(Active) is now activate().
--HG--
extra : convert_revision : 4392e07caf6c918db0b535f613175109681686fe
|
|
there aren't so many files littering your directory
dev/disk_image.cc:
Checkpoints now in a directory
sim/serialize.hh:
Make it so that we create a directory for each checkpoint so that
there aren't so many files littering your directory.
Remove unused variable
--HG--
extra : convert_revision : 261824eee62f7b68f6ae6e3dbd49ad5128ced148
|
|
dev/console.cc:
Simplescalar -> m5
--HG--
extra : convert_revision : c559258c68b5cae6862718240958171e1258ee2b
|
|
what the console output is.
base/circlebuf.hh:
base/circlebuf.cc:
add stuff to spit to an ostream
prepend _ in front of protected member variables
formatting
dev/console.hh:
dev/console.cc:
Add DPRINTF to spit out the lines of console data
dev/console.cc:
little hack to append name() to the file so that we can
easily get multiple output files.
dev/console.hh:
TRACING_ON == 1 not defined(TRACING_ON)
--HG--
extra : convert_revision : bbe80715fb97ee4c4ed6b484955ef71289f09fc9
|
|
dev/etherlink.cc:
int -> Tick
--HG--
extra : convert_revision : 33c45ea306e6532b91d84018702b220b25de463e
|
|
resetstats
dumpstats
dumpresetstats
m5checkpoint
Lots of cleanup of serialization and stats dumping/resetting to
work with these new instructions
arch/alpha/isa_desc:
Implement more m5 pseduo opcodes:
resetstats
dumpstats
dumpresetstats
m5checkpoint
All of these functions take two optional parameters, the first is a delay,
and the second is a period. The delay tells the simulator to wait the
specified number of nanoseconds before triggering the event, the period
tells the simulator to repeat the event with a specified frequency
base/statistics.cc:
base/statistics.hh:
regReset RegResetCallback
dev/disk_image.cc:
serializeFilename -> CheckpointFile()
sim/debug.cc:
Move this debugging statement to sim_stats.cc
sim/eventq.cc:
Don't AutoDelete an event if it is scheduled since the process()
function could potentially schedule the event again.
sim/main.cc:
DumpStatsEvent is now Statistics::SetupEvent(Dump, curTick)
sim/serialize.cc:
Change the serialize event so that it's possible to cause the
event to repeat. Also make the priority such that the event
happens just before the simulator would exit if both events
were scheduled for the same cycle.
get rid of the serializeFilename variable and provide a CheckpointFile()
function. This function takes a basename that is set in the
configuration, and appends the current cycle to the name so that
multiple checkpoints can be dumped from the same simulation.
Also, don't exit the simulation when a checkpoint file is dumped.
sim/serialize.hh:
serializeFilename -> CheckpointFile()
SetupCheckpoint function to tell the simulator to prepare
to checkpoint at a certain time with a certain period
sim/sim_events.cc:
DumpStatsEvent stuff gets move to sim_stats.(cc|hh)
The context stuff gets moved into the already existing
stats context in stat_context.cc
sim/sim_events.hh:
DumpStatsEvent stuff gets move to sim_stats.(cc|hh)
sim/universe.cc:
Provide some simple functions for converting times into
ticks. These use floating point math to get as close as
possible to the real values. Multipliers are set up ahead
of time
--HG--
extra : convert_revision : d06ef26a9237529a1e5060cb1ac2dcc04d4ec252
|
|
dev/disk_image.cc:
seperate serialization output files for different cow images
--HG--
extra : convert_revision : b62551f8e3f6315bb92ae3cb44e077d8084cbfe7
|