summaryrefslogtreecommitdiff
path: root/dev
AgeCommit message (Collapse)Author
2005-05-02Make sinic work with mpyNathan Binkert
dev/sinic.cc: dev/sinic.hh: Fix sinic parameters. (header_bus -> io_bus) python/m5/objects/Ethernet.mpy: Add simobj definitions for sinic. --HG-- extra : convert_revision : 77d5b80bd1f1708329b263fb48965d7f555cc9d1
2005-05-02Improve checkpointing of ethernet packets a bit.Nathan Binkert
dev/etherpkt.cc: Don't try to suck in the packet if the length is zero. --HG-- extra : convert_revision : 7212f3b677777fbce301f0613b9f513bb9fe057e
2005-04-29Add suport for no allocation of cache block on a dma read passing through a ↵Ron Dreslinski
cache from the cpu-side interface --HG-- extra : convert_revision : 0a3b3741924ed39c1c8710d0963e4c8f3e73f81a
2005-04-24Add the m5 parameter to the ns83820 device model so that weNathan Binkert
can pass simulator specific options to the device driver. dev/ns_gige.cc: Add the m5 register and parameter to the ns83820 device model so that we can pass simulator specific options to the device driver. dev/ns_gige.hh: dev/ns_gige_reg.h: Add the m5 register to the ns83820 device model --HG-- extra : convert_revision : 84674887560fa3b607e725b8e5bc8272761fcf09
2005-04-11Make the notion of a global event tick independent of the actualNathan Binkert
CPU cycle ticks. This allows the user to have CPUs of different frequencies, and also allows frequencies and latencies that are not evenly divisible by the CPU frequency. For now, the CPU frequency is still set to the global frequency, but soon, we'll hopefully make the global frequency fixed at something like 1THz and set all other frequencies independently. arch/alpha/ev5.cc: The cycles counter is based on the current cpu cycle. cpu/base_cpu.cc: frequency isn't the cpu parameter anymore, cycleTime is. cpu/base_cpu.hh: frequency isn't the cpu parameter anymore, cycleTime is. create several public functions for getting the cpu frequency and the numbers of ticks for a given number of cycles, etc. cpu/memtest/memtest.cc: cpu/simple_cpu/simple_cpu.cc: cpu/simple_cpu/simple_cpu.hh: cpu/trace/trace_cpu.cc: Now that ticks aren't cpu cycles, fixup code to advance by the proper number of ticks. cpu/memtest/memtest.hh: cpu/trace/trace_cpu.hh: Provide a function to get the number of ticks for a given number of cycles. dev/alpha_console.cc: Update for changes in the way that frequencies and latencies are accessed. Move some stuff to init() dev/alpha_console.hh: Need a pointer to the system and the cpu to get the frequency so we can pass the info to the console code. dev/etherbus.cc: dev/etherbus.hh: dev/etherlink.cc: dev/etherlink.hh: dev/ethertap.cc: dev/ide_disk.hh: dev/ns_gige.cc: dev/ns_gige.hh: update for changes in the way bandwidths are passed from python to C++ to accomidate the new way that ticks works. dev/ide_disk.cc: update for changes in the way bandwidths are passed from python to C++ to accomidate the new way that ticks works. Add some extra debugging printfs dev/platform.cc: dev/sinic.cc: dev/sinic.hh: outline the constructor and destructor dev/platform.hh: outline the constructor and destructor. don't keep track of the interrupt frequency. Only provide the accessor function. dev/tsunami.cc: dev/tsunami.hh: outline the constructor and destructor Don't set the interrupt frequency here. Get it from the actual device that does the interrupting. dev/tsunami_io.cc: dev/tsunami_io.hh: Make the interrupt interval a configuration parameter. (And convert the interval to the new latency/frequency stuff in the python) kern/linux/linux_system.cc: update for changes in the way bandwidths are passed from python to C++ to accomidate the new way that ticks works. For now, we must get the boot cpu's frequency as a parameter since allowing the system to have a pointer to the boot cpu would cause a cycle. kern/tru64/tru64_system.cc: For now, we must get the boot cpu's frequency as a parameter since allowing the system to have a pointer to the boot cpu would cause a cycle. python/m5/config.py: Fix support for cycle_time relative latencies and frequencies. Add support for getting a NetworkBandwidth or a MemoryBandwidth. python/m5/objects/BaseCPU.mpy: All CPUs now have a cycle_time. The default is the global frequency, but it is now possible to set the global frequency to some large value (like 1THz) and set each CPU frequency independently. python/m5/objects/BaseCache.mpy: python/m5/objects/Ide.mpy: Make this a Latency parameter python/m5/objects/BaseSystem.mpy: We need to pass the boot CPU's frequency to the system python/m5/objects/Ethernet.mpy: Update parameter types to use latency and bandwidth types python/m5/objects/Platform.mpy: this frequency isn't needed. We get it from the clock interrupt. python/m5/objects/Tsunami.mpy: The clock generator should hold the frequency sim/eventq.hh: Need to remove this assertion because the writeback event queue is different from the CPU's event queue which can cause this assertion to fail. sim/process.cc: Fix comment. sim/system.hh: Struct member to hold the boot CPU's frequency. sim/universe.cc: remove unneeded variable. --HG-- extra : convert_revision : 51efe4041095234bf458d9b3b0d417f4cae16fdc
2005-04-06Cleanup diagnostic and error messages for the IDE diskNathan Binkert
dev/ide_disk.cc: Cleanup diagnostic and error messages --HG-- extra : convert_revision : fb1bc6d9f28a10961c9d3ee1dc81b540b92653b8
2005-04-06Better debugging output for the ide controllerNathan Binkert
dev/ide_ctrl.cc: Better debugging --HG-- extra : convert_revision : 854e17f9f36fe4a0b6b69fd48027d2b1b231e858
2005-03-29expose variables for number of global events per simulated second,Nathan Binkert
millisecond, microsecond, etc. so that the user can explicitly convert between system ticks and time and know what sorts of expensive operations are being used for that conversion. arch/alpha/alpha_tru64_process.cc: arch/alpha/pseudo_inst.cc: dev/etherdump.cc: dev/etherlink.cc: dev/ns_gige.cc: dev/sinic.cc: dev/tsunami_io.cc: dev/uart.cc: sim/stat_control.cc: sim/syscall_emul.hh: Use the new variables for getting the event clock dev/etherdump.hh: delete variables that are no longer needed. --HG-- extra : convert_revision : d95fc7d44909443e1b7952a24ef822ef051c7cf2
2005-03-23Formatting fixesNathan Binkert
--HG-- extra : convert_revision : 9a726945b7a1decbecf460df6714257b88742dc8
2005-03-16Some changes to NSGigE's DPRINTF's that helped when I was doing NAT stuff.Lisa Hsu
--HG-- extra : convert_revision : d36c84a835667d4c67f46432a90b9557b0710eac
2005-03-14Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5Ali Saidi
--HG-- extra : convert_revision : 9eed6f31249ff099464044b32b882b3cc041b57a
2005-03-14print the daddr to pciconfigall DPRINTF.Lisa Hsu
--HG-- extra : convert_revision : d13ce459d5dac026e596f0bb3ba801b1dbed9ed0
2005-03-11remove addr from PciConfigDevice since it's not usedAli Saidi
Random some small config file stuff dev/pcidev.cc: objects/Pci.mpy: remove addr since it's not used --HG-- extra : convert_revision : aeb5993552d65a5e3b57f393bcb7d8aaadf6b5a2
2005-03-09fix typo in the fixed etherlink serialization.Lisa Hsu
dev/etherlink.cc: fix type in serialization. --HG-- extra : convert_revision : 87f47db14b90f414fef9a0db869da4d7ef72216a
2005-03-08Fix serialization of the EtherLink objectNathan Binkert
dev/etherlink.cc: - The EtherLink::Link object is no lonver serializable, so it is now necessary to prepend the object's name (as determined by the parent) to all parameters. - Fix the serialization of the LinkDelayEvent so it actually works - Rename some variables to make serialization simpler dev/etherlink.hh: - Make the EtherLink::Link object *not* derive from serializeable. Instead, the serialize function will take a base name from the parent EtherLink object and prepend that base name to each of its variable names when serializing. This is similar to the PacketData and PacketFifo classes. - Make the EtherLink::Link object keep a pointer to its parent and its link number so the LinkDelayEvent can be properly serialized. - Rename some variables to make serialization simpler. --HG-- extra : convert_revision : e5aa54cd9e07b5e033989809100e1640abfb8bed
2005-02-21formatting fixesNathan Binkert
--HG-- extra : convert_revision : 8b9bfed29b66e8bce11448f175273f5ebb6876b2
2005-02-13MergeAli Saidi
--HG-- extra : convert_revision : 10c28ac66c7e71615a239783e21ab36a47de992c
2005-02-13build mysql version if libraries existAli Saidi
add dprintf on alignment faults fix RR benchmark rcS script name Add Dual test without rcS script Update Monet to be closer to the real thing Fix p4/monet configs Add a way to read the DRIR register with at 32bit access for validation SConscript: build/SConstruct: always use mysql if the libraries are installed arch/alpha/alpha_memory.cc: Add a DPRINTF to print alignment faults when they happen dev/tsunami_cchip.cc: Add a way to read the DRIR for validation. --HG-- extra : convert_revision : 8c112c958f36b785390c46e70a889a79c6bea015
2005-02-11Rework the command line paramters for python output and howNathan Binkert
output files and the output directory are are handled. Make the output directory configuration via a command line parameter, or an environment variable. SConscript: Add new output file stuff base/misc.cc: dev/simconsole.cc: use new output file code cpu/base_cpu.cc: use new output file code to generate output streams dev/etherdump.cc: use the output file code to find the output directory use a real stream instead of a pointer dev/etherdump.hh: use a real stream instead of a pointer objects/Root.mpy: output_dir and config_output_file are not longer configured here. sim/main.cc: - Completely rework the command line argument passing to deal with changes in python and output files. - Update help output to reflect changes. - Remove all direct support for .ini files. They are strictly for intermediate representation. - Remove the --foo:bar=blah syntax for .ini files and add --foo.bar=blah syntax for python. This will generate: foo.bar = 'blah' in the python script. - Add '-d' to set the output directory. - Use new output file code to access the output stream. sim/serialize.cc: use the new code to find the output directory sim/universe.cc: Get rid of makeOutputStream. Use the new output file code. Remove output_dir and config_output_file as parameters. --HG-- extra : convert_revision : df2f0e13d401c3a60cae1239aa1ec3511721544d
2005-02-03Add Monet configuration, update p4 parameters, couple of typo fixesAli Saidi
dev/tsunami_cchip.cc: add a fake register to tsunami that we can do 32bit reads to. Warn on access. --HG-- extra : convert_revision : d87860f3b527528151c23431556039bca6e12945
2005-02-03small python config related fixes.Nathan Binkert
dev/simconsole.cc: sim/universe.cc: isValid isn't compatible with new python stuff, so whack it. --HG-- extra : convert_revision : 0c50038769a558650479c51122a8be5d92e7d9c4
2005-01-30removed all tsunami dependence on tlaserreg.h (RTC defines) andAli Saidi
all but tlaser_node.cc dependence on tlaserreg.h dev/tsunami_io.cc: dev/tsunamireg.h: removed tlaserreg.h --HG-- extra : convert_revision : 148a5d79530e5ed721a49279f684a48041deed2b
2005-01-21Merge zizzer.eecs.umich.edu:/bk/m5Kevin Lim
into zamp.eecs.umich.edu:/z/ktlim2/m5-patched/m5-new --HG-- extra : convert_revision : e802c800a478c297d3aa780a9ea3c6701453d91d
2005-01-21Merge zizzer:/z/m5/Bitkeeper/m5Ron Dreslinski
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/new_config --HG-- extra : convert_revision : 8c87cd948d501b1fc58d57f1f505d1f72725ecde
2005-01-21Fix annoying bug that lead to dropped packets in the P4 systemRon Dreslinski
dev/pktfifo.cc: Make it so that we don't unserialize the size of the fifo, clobering the fact that we were trying to make it bigger, and leading to a misleading config.out that states the un-overwritten max_size. Perhaps this should instead be a panic if the size (amount that was serialized) is bigger than the maxsize that was assigned by the configuration file. --HG-- extra : convert_revision : d4b0527bfd7a584554ddc87c9b2103f7a3a72332
2005-01-19Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5Ali Saidi
--HG-- extra : convert_revision : d5e6f6e696d7607f89894856d940afc89ae8e37b
2005-01-19added total bytes/bandwidth/packets formulas to nicsAli Saidi
cleaned up stability code and wrote some better help for stats.py fixed sample bug in info.py dev/ns_gige.cc: dev/ns_gige.hh: dev/sinic.cc: dev/sinic.hh: add total bandwidth/packets/bytes stats util/stats/info.py: fixed samples bug util/stats/stats.py: cleaned up stability code and wrote a bit better help --HG-- extra : convert_revision : cae06f4fac744d7a51ee0909f21f03509151ea8f
2005-01-19Merge zizzer.eecs.umich.edu:/bk/m5Kevin Lim
into zamp.eecs.umich.edu:/z/ktlim2/m5-patched/m5-new --HG-- extra : convert_revision : 3b9413a6861eaddb8de753d76e217106d41cc347
2005-01-19Fix serialization of txPacket (need to properly calculate the length before ↵Ron Dreslinski
serialization) --HG-- extra : convert_revision : e93321495d19afb86949daf2c14102ffb6bcef41
2005-01-19fix unserialization of PacketFifoNathan Binkert
dev/pktfifo.cc: fix unserialization. calling resize on a list just sticks uninitialized garbage into the list. --HG-- extra : convert_revision : 1cbff596dd0b88560e23b9368ec75a7369beb9d9
2005-01-18Merge changes to make m5 g++ 3.4 compatible.Kevin Lim
sim/param.cc: Merge changes. --HG-- extra : convert_revision : b5044e1f7c48ae2d74d5233dd4fabfb7a801d7c8
2005-01-15New and improved configuration mechanism. No more writing ofNathan Binkert
wierd ini files. The ini files are still used as an intermediate step, but a sophisticated python library exists to help build them more easily. SConscript: add the new embedded file stuff remove all of the old object description junk base/inifile.cc: base/inifile.hh: get rid of findDefault and findAppend since they were the source of much evil. base/trace.cc: For now, if we don't have the dprintf_stream set up, dump to standard out. We probably want a command line option for this. dev/alpha_console.cc: PioDevice now takes a platform parameter. All PioDevices must have a pio_latency parameter. We stick a dummy parameter in here for now until we get rid of the builder stuff. dev/alpha_console.hh: don't need Platform anymore dev/baddev.cc: PioDevice now takes a platform parameter. All PioDevices must have a pio_latency parameter. We stick a dummy parameter in here for now until we get rid of the builder stuff. Same for the platform parameter, though we just pass the PioDevice a null parameter since it isn't used by this device and it's quicker. dev/baddev.hh: fix #include guards dev/etherlink.cc: rename parameters. dev/ethertap.cc: rename parameters dev/ide_ctrl.cc: All devices need an address even if it will get overwritten later. dev/ide_disk.cc: use an enum for the drive ID stuff. rename disk_delay -> delay Actually, I think that we should implement "cable select" and have the controller tell the drive what it is. dev/io_device.cc: dev/io_device.hh: All IO devices take a Platform * dev/ns_gige.cc: all devices need an io_bus. rename header_bus to io_bus We don't need stuff for the interrupt controller since it's all in the platform now. dev/ns_gige.hh: We don't need stuff for the interrupt controller now since it's all in the platform. dev/pciconfigall.cc: Pass a dummy NULL to the PioDevice for the platform since we don't need one. dev/pcidev.cc: Move a bunch of common functionality into the PciDev dev/platform.hh: remove unneeded code dev/tsunami.cc: remove unused param dev/tsunami_cchip.cc: pass platform pointer dev/tsunami_io.cc: dev/tsunami_pchip.cc: dev/uart.cc: pass platform variable dev/uart.hh: don't need to keep a platform pointer. it's in the base class kern/linux/linux_system.cc: kern/tru64/tru64_system.cc: rename some parameters sim/builder.cc: clean up builder code. use more parameters from the config node. all sections with a type= are now created, the old mechanisms no longer work sim/builder.hh: remove some extra variables since they are found in the ConfigNode sim/main.cc: add a quick hack command line argument -X to dump out the embedded files. (probably should be fixed up a little.) accept .mpy files printing to the streams has to happen after the hierarchy is built since we're moving away from param contexts sim/param.cc: add parsing support for ranges sim/process.cc: isValid isn't very useful anymore. interpret the names stdout, stderr, cout, cerr for the file descriptors sim/pyconfig/SConscript: Add Action handlers for creating an embedded python file and for creating an embedded C file. use these action handlers to embed all objects found in the objects tree into the binary along with the importer and the m5config stuff sim/pyconfig/m5config.py: Major changes to the original configuration file generator. These changes largely involve implementing copy-on-write like semantics for all of the SimObjects. Real documentation must be written. sim/universe.cc: Universe becomes a SimObject since we don't really have the notion of param contexts in the python code. --HG-- rename : sim/pyconfig/m5configbase.py => sim/pyconfig/m5config.py extra : convert_revision : c353453e5beb91c37f15755998fc0d8858c6829a
2005-01-14Fixes so m5 compiles on gcc 3.4, which has much stricter syntax. Most ↵Kevin Lim
changes come from templated code, which is evaluated slightly differently than in previous versions of gcc. arch/alpha/alpha_linux_process.cc: Alphabetize includes. arch/alpha/vptr.hh: Change the constants that are being used for alpha pagebytes to come from the ISA. base/random.hh: cpu/static_inst.cc: sim/param.cc: Fix up template syntax. base/range.hh: Include iostream for << operator. base/res_list.hh: base/statistics.hh: cpu/simple_cpu/simple_cpu.hh: cpu/static_inst.hh: sim/eventq.hh: sim/param.hh: Fixup for templated code to resolve different scope lookup in gcc 3.4. This defers the lookup of the function/variable until actual instantiation time by making it dependent on the templated class/function. base/trace.cc: Fix call to new. base/trace.hh: Fix up #define to have full path. cpu/base_cpu.cc: Fix up call to new. dev/etherlink.hh: dev/ns_gige.hh: dev/sinic.hh: Fixup for friend class/function declaration. g++ 3.4 no longer allows typedefs to be declared as a friend class. dev/pcidev.hh: Fix up re-definition of access level to params. kern/linux/linux_syscalls.hh: kern/tru64/tru64_syscalls.hh: Fix up header. Fix up template syntax. sim/serialize.cc: Include errno.h. sim/startup.cc: Change startupq. queue was getting destructed before all things had called ~StartupCallback(), which lead to a segfault. This puts startupq in global space, and we allocate it ourselves. Other code may be similar to this and may need changing in the future. sim/syscall_emul.hh: Include cpu/exec_context.hh and sim/process.hh, as forward declarations are no longer sufficient. sim/universe.cc: Include errno.h --HG-- extra : convert_revision : e49d08ee89eb06a28351f02bafc028ca6652d5af
2004-12-09Change Bus template parameter to BusType (to avoid confusion with Bus class).Steve Reinhardt
Change Mem template parameter to MemType while we're at it. dev/io_device.hh: Change Bus template parameter to BusType (to avoid confusion with Bus class). --HG-- extra : convert_revision : dca8effb177535b3624ef08a3d3b8afab720390b
2004-12-06Add support for Tsunami with 64 processorsAli Saidi
base/socket.cc: Make panic print a more worthwhile message dev/tsunami.hh: Change max number of tsunami cpus to be 64 dev/tsunamireg.h: Add new registers and register blocks for 64 cpu tsunami --HG-- extra : convert_revision : 3ceaaa998518ded8613bc64edc04cb9120fd3d15
2004-11-22Print a warning if two devices are sharing the same interruptAli Saidi
Update profile-top to print 2 or 4 graphs depending on a command line option dev/pciconfigall.cc: dev/pciconfigall.hh: dev/pcidev.hh: Print a warning if two devices are sharing the same interrupt --HG-- extra : convert_revision : 0ef99cac92fbf2916ab8e5b1125d520eb4b5ac7d
2004-11-18Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5Nathan Binkert
into zizzer.eecs.umich.edu:/.automount/ziff/z/binkertn/research/m5/latest --HG-- extra : convert_revision : 3127ab9f076b5ecce897a1c7de2678b58b73f7fb
2004-11-18always initalize the size of a packet (forgotten on checkpointsNathan Binkert
in some places). use the constructor for setting the size. --HG-- extra : convert_revision : fad322c1d45b1952804cf35942b5685d70128e59
2004-11-18add a bunch of stats for interrupt classification, coalescing ↵Lisa Hsu
characterization, and dropped packets. --HG-- extra : convert_revision : 421af424ec104afc352c073408a166fce6a31c70
2004-11-17serialization fix for the NS GigE driverNathan Binkert
dev/ns_gige.cc: We need to serialize the rxFragPtr --HG-- extra : convert_revision : 1f68c9d7ae2dbeea69e60d988ea6392622104f52
2004-11-17fix sinic unserializationNathan Binkert
dev/sinic.cc: we only use one address range in the sinic --HG-- extra : convert_revision : daa730a34ac9c9264060431556a1c5caa3252c5e
2004-11-17properly implement the fifo _reserved stuff.Nathan Binkert
dev/pktfifo.cc: need to checkpoint _reserved dev/pktfifo.hh: When clearing, clear _reserved size() is used for determining how many bytes are in the fifo ready to be pulled, so we don't want to add _reserved avail() on the other hand is used for determining how much free space is in the fifo for adding packets. adjust the implementation of empty() and full() to reflect this. --HG-- extra : convert_revision : 3281972b4b70ea5833d39ae7ce1e73648b3573b0
2004-11-17initialize _reservedNathan Binkert
--HG-- extra : convert_revision : a0f98c135734602b1d4b0890d8ff8cecc0e42f88
2004-11-16Fix a bug where we would improperly calculate if the FIFO wasNathan Binkert
full by adding a reserve feature to the packet fifo which allows us to reserve space in the fifo if only part of a packet was copied into the fifo. dev/ns_gige.cc: use the new reserve feature in the fifo to properly determine when we're full. assert that adding a packet to the fifo suceeds. dev/pktfifo.hh: add the ability to reserve space in the fifo. This is useful for partial writing of packets into the fifo. --HG-- extra : convert_revision : 83f871f34fac237bb464c9513cf6490b5c62420e
2004-11-13Get rid of obsolete sim/sim_stats.* files (looks like theseSteve Reinhardt
are replaced by sim/stats.hh and sim/stat_control.*) dev/ns_gige.cc: dev/sinic.cc: Include sim/stats.hh instead of sim/sim_stats.hh --HG-- extra : convert_revision : 5e07932eab45ae4fb719baa4f94c5f62092a8446
2004-11-13Add the Simple Integrated Network Interface ControllerNathan Binkert
--HG-- extra : convert_revision : 2bce25881a104e8282a5ed819769c6a7de414fb2
2004-11-13don't handle device specific configuration stuff in the baseNathan Binkert
class. While we're at it, very minor formatting. --HG-- extra : convert_revision : b7c719f92ece7234838434294b33833289adbada
2004-11-13Use the new PacketFifo class to avoid manual calculationsNathan Binkert
--HG-- extra : convert_revision : afa193904b7ed4d5e5c50e9dcb78e8e855b00ecc
2004-11-13change the serialization of a packet so that we don'tNathan Binkert
do a nameOut. This fixes a subtle bug in serialization that can pop up. --HG-- extra : convert_revision : b52df977dcbef1c9bd0d4405ba0b36dff3737cdf
2004-11-13we shouldn't ever pass around references to PacketPtrs,Nathan Binkert
const references are ok, or pass by value. --HG-- extra : convert_revision : 7280a1c7d22b9294fddbe50f02f6f4c6ca9b2e5b