summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-01-31Remove non-needed functions, fix return values of completion handler.Ron Dreslinski
--HG-- extra : convert_revision : 7c0cb6b13ba68650d54cdc35779517e8c4b5e3ff
2006-01-31More changes toward making simpleCpu use new port interface.Ron Dreslinski
cpu/simple/cpu.cc: Initialize the ports, also add Request and Packet instead of MemReq. Initial work at ICache read in place. cpu/simple/cpu.hh: Need to call the completion handler when we see a recieve. --HG-- extra : convert_revision : a52caee6f0ceb5d9ee1e5acca63a202f5ea71359
2006-01-31More include files, removing definition of SendResult whioch isn't needed ↵Ron Dreslinski
anymore cpu/simple/cpu.hh: Some needed includes mem/port.hh: Now we removed the sendResult and replaced with void,tick,bool don't need it defined anymore --HG-- extra : convert_revision : aea08ec299c41b9f9a5b0da7649cef0459315139
2006-01-31Fixed some void functions with returns, first stab at cpu ports.Ron Dreslinski
cpu/simple/cpu.hh: Adding port definitions to simple cpu, still needs work. mem/bus.hh: no return for void functions --HG-- extra : convert_revision : 42e5bc16af187d3a46eb25a15b600a8a11b88cc5
2006-01-31Merge zizzer:/bk/newmemAli Saidi
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem --HG-- extra : convert_revision : 3eb1a665cb813df974aa2815a794b459473c0a77
2006-01-31changed sendresult -> bool,tick,void as appropriateAli Saidi
first crack at io devices code made CpuRequest that derives from Request dev/io_device.cc: dev/io_device.hh: first crack at the classes for Pio and Dma devices dev/platform.hh: We are going to a system pointer to get info about the memory system mem/bus.hh: changed sendresult -> bool,tick,void as appropriate mem/port.hh: changed sendresult -> bool,tick,void as appropriate; removed the sendTiming(pkt,t) call since it is not really implementable in a generic fashion mem/request.hh: pulled items from Request into CpuRequest --HG-- extra : convert_revision : 6213cf2b66417fa023b80884d9e623e78f5aa891
2006-01-31Add proper includesRon Dreslinski
--HG-- extra : convert_revision : c5f909d00b6025cd8f14544f7e2c9c50610c0cd3
2006-01-31Listing some of the enum structuresRon Dreslinski
--HG-- extra : convert_revision : d6ba1873826ee017bf2e4975a44eb2494a323132
2006-01-31Inital split up of the header files for the new memory system. Still need ↵Ron Dreslinski
to fill in some of the include files, and other data types. But this will be the starting point. mem/bus.hh: Inital crack at a bus object that has ports. Still need to clean up the include file issues. mem/mem_object.hh: Decleration of a base memory object. Derives from simobject and adds a function to get the port associated with the object. mem/packet.hh: Inital crack at the packet decleration. Still need to clean up the include file issues. mem/port.hh: Inital crack at the port decleration. Still need to clean up the include file issues. mem/request.hh: Inital crack at the request decleration. Still need to clean up the include file issues. --HG-- extra : convert_revision : f17967d430458f91866a4639ab0cab45d835bb55
2006-01-29Hacks to avoid compiling in old FullCPU model.Steve Reinhardt
Needed in the interim until we port the old model over to the new interface. Long term we should have a cleaner solution for controlling which models get compiled in. SConscript: Move old FullCPU source file list to separate full_cpu_sources list so we can choose to not include it in compile. arch/isa_parser.py: Hack to avoid generating FullCPU execute files. Need a better way to control this. cpu/exetrace.cc: Don't include old FullCPU-specific headers (apparently unnecessary anyway--or if not they should be). --HG-- extra : convert_revision : 00d5a91a9e4d71507404b8c7f4c6e7c7b7ba3853
2006-01-29Add PageTable code and SConscript fixes for new syscall emulationSteve Reinhardt
memory model. These changes really should have been part of the previous changeset. SConscript: Move System and PhysicalMemory sources from being full_system_sources to base_sources, since they are now used in syscall emulation also. Also add source files for PageTable and ProxyMemory objects. Actual source files for PhysicalMemory and ProxyMemory are not committed yet since they still need to be ported from old interface. --HG-- extra : convert_revision : cb39e3b13d71429b7ee6082794dc09428cde989f
2006-01-28Changes for Process object initialization in merged-memory environment.Steve Reinhardt
System object now exists for both fullsys and syscall emulation, as the latter needs it so that Process objects can find the shared PhysicalMemory for initialization. Changes are incomplete: still need to fix up Process (& EioProcess) memory initialization and syscall emulation code for new mem interface. arch/alpha/alpha_linux_process.cc: arch/alpha/alpha_linux_process.hh: arch/alpha/alpha_tru64_process.cc: arch/alpha/alpha_tru64_process.hh: cpu/base.cc: cpu/base.hh: Take System argument in constructor. cpu/exec_context.cc: Take System argument in constructor. Merge two constructors into a single one. cpu/exec_context.hh: Take System argument in constructor. Merge two constructors into a single one. Replace dummy translation with lookup in Process object's page table. python/m5/objects/Process.py: Add System parameter to Process object (& subobjects). python/m5/objects/System.py: Segregate full-system only Process parameters (most of them!). sim/process.cc: Take System argument in constructor. Move initialization to startup() callback to occur after system & cpus are initialized. Generate ProxyMemory object to pass to loader for transparent virtual page allocation. sim/process.hh: Take System argument in constructor. Move initialization to startup() callback to occur after system & cpus are initialized. sim/system.cc: sim/system.hh: Enable System object for non-full-system too. Basically involved putting most of the existing code inside '#ifdef FULL_SYSTEM'. Key thing needed for syscall emulation at this point is the PhysicalMemory object (for Process initialization). --HG-- extra : convert_revision : f0f34b47bd4f77b502191affd3d03b4d6d9bcdd8
2006-01-24added Request struct and updated Packet as per meeting 24/01/2006Ali Saidi
--HG-- extra : convert_revision : 61cc36306412be178cc63d78b5274e6779af0f78
2006-01-17Update interface from 1/17 meeting.Steve Reinhardt
--HG-- extra : convert_revision : 6d3e52e609fde1acd08f7a79c6015fc177068dec
2006-01-16Couple more interface additions.Steve Reinhardt
--HG-- extra : convert_revision : d51a67282e28e8a4e205e237b31efbfa5ab40ef3
2005-12-23More evolution of the new interface.Steve Reinhardt
--HG-- extra : convert_revision : 22212ba23f6684f38aa810b53d48bbe0bf07a0f1
2005-12-23Add ChunkGenerator object for breaking arbitrary regionsSteve Reinhardt
into block- or page-sized chunks. --HG-- extra : convert_revision : 3ebdd496f9ffc6d1fcd1847c33e98ac23f1bfe66
2005-12-23Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5Steve Reinhardt
into zizzer.eecs.umich.edu:/z/stever/bk/newmem --HG-- extra : convert_revision : 60b1d26505a7b17321840e2db4173c3e867a6a75
2005-12-23Fix roundUp function template so explicit arg is notSteve Reinhardt
needed in a few more cases. base/intmath.hh: align arg to roundUp should be int, not template class sim/process.cc: sim/syscall_emul.hh: No need for explicit template arg now that roundUp is fixed. --HG-- extra : convert_revision : f9f4639e022acb9f427e8d30d81c782504437c53
2005-12-23Change base/intmath.{cc,hh} to follow m5 style.Steve Reinhardt
arch/alpha/alpha_tru64_process.cc: base/intmath.hh: base/statistics.cc: base/str.cc: cpu/o3/btb.cc: sim/process.cc: sim/syscall_emul.hh: Rename intmath.hh functions to follow m5 style (RoundUp -> roundUp, etc.). base/intmath.cc: Rename intmath.hh functions to follow m5 style (RoundUp -> roundUp, etc.). Also reindent code in m5 style. --HG-- extra : convert_revision : 57b853002bc3c9911e122599d9062b41a06d8e6a
2005-12-23tweak try1.ccNathan Binkert
--HG-- extra : convert_revision : 7679e736db499ed7f174a97ea12851c83bc27d13
2005-12-23Merge zizzer.eecs.umich.edu:/bk/m5Nathan Binkert
into ziff.eecs.umich.edu:/z/binkertn/research/m5/newmem --HG-- extra : convert_revision : 87481b470fca0197474c0c08443997d7c992d836
2005-12-23Move the memory hierarchy to oldmem and leave an emptyNathan Binkert
mem directory --HG-- extra : convert_revision : 658a8f5e915407a45d639edf4806dce159591a10
2005-12-23Updates to Memory system changes document.Nathan Binkert
--HG-- extra : convert_revision : a35a76d18a6183a0aaa5dd40c330f1ec0ef2244a
2005-12-22Add a more refined stab at some of the new interface.Steve Reinhardt
--HG-- extra : convert_revision : 9c3de70d83e6a1515566a9b7226e798ee077466f
2005-12-22Add notes from latest memory system redesign meetings.Steve Reinhardt
--HG-- extra : convert_revision : 53389e8e784e471b0fc6053ec970cd967bfe1598
2005-12-21Make ScsiController a PioDevice so it works again.Nathan Binkert
--HG-- extra : convert_revision : cd610221edc6926d120d9f3978dd9ee89f501824
2005-12-19Create the ProxyError Exception. Raise it when an unproxyNathan Binkert
operation fails because information is wrong or not available. --HG-- extra : convert_revision : 1fd90c1291618b09752179cfa6894f1df495fffd
2005-12-19Add a little bit of support to grab info for making graphsNathan Binkert
without using the jobfile. util/stats/db.py: util/stats/profile.py: Make it possible to send job as a string and to set the system separately from the job. --HG-- extra : convert_revision : 08aaebd3f9a1643bd41953b43f3b80dc97e6592f
2005-12-06Make simulation termination message less threatening... maybeSteve Reinhardt
people won't think they're getting an error when they're not. --HG-- extra : convert_revision : 7622360f4f88eed9edf44480dac551d153582d8b
2005-12-01Two small fixes for mem_req's and Probe path with MOSI/MOESIRon Dreslinski
cpu/simple/cpu.cc: Properly set the Instruction Read bit in the Memory Request --HG-- extra : convert_revision : e1a4756f32718fd8ef3ac3db16625bd6d8f07cc5
2005-11-29Add support for multiple streams being configured with the INITPARAMAli Saidi
variable --HG-- extra : convert_revision : 2cb20845cb7f32589882850156bdd42d9024db7a
2005-11-28Virtualized SINIC fixesNathan Binkert
dev/pktfifo.hh: we can't modify i because it's used further down to remove the packet from the fifo. Instead, copy the iterator and modify that to get the previous packet. dev/sinic.cc: - don't change the transmit state and kick the machine unless we're at the head of the txList. - add a couple of debugging statements to figure out how far along we've gotten in processing a packet. - assert that the current tx vnic has something to do when we start processing the state machine. --HG-- extra : convert_revision : 588fe2c7d810be0e3d8d39c5cc0ec8a72119517e
2005-11-28Make the debugger a bit more useful with m5.opt by moving stuffNathan Binkert
from #ifdef DEBUG to #ifndef NDEBUG base/remote_gdb.cc: make the remote debugger gdb stuff work in m5.opt sim/system.cc: sim/system.hh: make the console panic break event happen in m5.opt --HG-- extra : convert_revision : 044a9b7cdacb058112388a31315e45c5d8cf70fd
2005-11-25Virtualize sinicNathan Binkert
separate the rx thread and tx thread and get rid of the dedicated flag. dev/ns_gige.cc: dev/ns_gige.hh: dev/ns_gige_reg.h: python/m5/objects/Ethernet.py: dedicated flag goes away, we have new individual flags for rx thread and tx thread dev/sinic.cc: Virtualize sinic - The io registers are replicated many times in memory, allowing the NIC to differentiate among several virtual interfaces. - On the TX side, this allows multiple CPUs to initiate transmits at the same time without locking in the software. If a partial packet is transmitted, then the state machine blocks waiting for that virtual interface to complete its packet. Then the state machine will move on to the next virtual interface. The commands are kept in fifo order. - On the RX side, multiple partial transmits can be simultaneously done. Though a packet does not deallocate its fifo space until all preceeding packets in the fifo are deallocated. To enable multiple receives, it is necessary for each virtual nic to keep its own information about its progress through the state machine. dev/sinic.hh: Virtualize sinic Receive state must be virtualized since we allow the receipt of packets in parallel. dev/sinicreg.hh: Virtualize sinic separate rx thread and tx thread create a soft interrupt and add a command to trigger it. pad out the reserved bits in the RxDone and TxDone regs --HG-- extra : convert_revision : c10bb23a46a89ffd1e08866c1f1621cb98069205
2005-11-25Add the capability to iterate through the packets in a pktfifo,Nathan Binkert
and to remove elements in the middle of the fifo. These elements do not free space, they are just marked removed. Space is only freed from the front of the fifo. dev/etherpkt.cc: serialize the current slack dev/etherpkt.hh: add "slack" to the ethernet packet. It is to be used by any fifo that the packet is currently in to account for extra space that the packet may be occupying due to the fifo organization. --HG-- extra : convert_revision : 8e7c541ba316a9a76495c54cc5f707f8fc65b6d5
2005-11-22Major improvements in the graph output code. Mostly adding moreNathan Binkert
options, making existing options more visible and dealing with holes in data better. util/stats/barchart.py: - move the options for BarChart to a base class ChartOptions so they can be more easily set and copied. - add an option to set the chart size (so you can adjust the aspect ratio) - don't do the add_subplot thing, use add_axes directly so we can affect the size of the figure itself to make room for the legend - make the initial array bottom floating point so we don't lose precision - add an option to set the limits on the y axis - use a figure legend instead of an axes legend so we can put the legend outside of the actual chart. Also add an option to set the fontsize of the legend. - initial hack at outputting csv files util/stats/db.py: don't print out an error when the run is missing from the database just return None, the error will be print elsewhere. util/stats/output.py: - make StatOutput derive from ChartOptions so that it's easier to set default chart options. - make the various output functions (graph, display, etc.) take the name of the data as a parameter instead of making it a parameter to __init__. This allows me to create the StatOutput object with generic parameters while still being able to specialize the name after the fact - add support for graph_group and graph_bars to be applied to multiple configuration groups. This results in a cross product of the groups to be generated and used. - flush the html file output as we go so that we can load the file while graphs are still being generated. - make the proxy a parameter to the graph function so the proper system's data can be graphed - for any groups or bars that are completely missing, remove them from the graph. This way, if we decide not to do a set of runs, there won't be holes in the data. - output eps and ps by default in addition to the png. util/stats/profile.py: - clean up the data structures that are used to store the function profile information and try our best to avoid keeping extra data around that isn't used. - make get() return None if a job is missing so we know it was missing rather than the all zeroes thing. - make the function profile categorization stuff total up to 100% - Fixup the x-axis and y-axis labels. - fix the dot file output stuff. util/stats/stats.py: support the new options stuff for StatOutput --HG-- extra : convert_revision : fae35df8c57a36257ea93bc3e0a0e617edc46bb7
2005-11-22Change the set of statistics that are generated when specifying "all"Nathan Binkert
--HG-- extra : convert_revision : 8b803b1b3bbec0b35b6805593b0dd598e5b519cf
2005-11-22More changes from cpus named fullX to runXNathan Binkert
--HG-- extra : convert_revision : e3c117dc5751be13bd4b014a7fa6df0debfb48f0
2005-11-22Fix the system clock at 1THz making 1 simulation tick = 1 psNathan Binkert
--HG-- extra : convert_revision : a4707af5f8dc193fbecfb602701b1170c32ae3e3
2005-11-22make the NUMCPUS parameter always refer to the total number of cpusNathan Binkert
on the test system. add an option for pio_delay_write to run.py util/stats/stats.py: full0 -> run0 due to run.py change sim_ticks doesn't make sense with tick = ps, so use one of the cpu's numCycles paramter --HG-- extra : convert_revision : db9dbe014549d823edc10395f5241db5e907df01
2005-11-22Make sure that the aiobench client has enough memory.Nathan Binkert
increase from 128MB to 512MB --HG-- extra : convert_revision : 7b12febff200083aa0adbcaba612bc9e677ebe07
2005-11-22Clean up the newly updated iscsi-client scriptNathan Binkert
configs/boot/iscsi-client.rcS: Clean up the newly updated iscsi-client script. Reduce the writeback period so writes occur more frequently. --HG-- extra : convert_revision : 21c84f781c6537b28c753291561d23c2d0144627
2005-11-22Apply patch for syscall emulation provided by Antti Miettinen ↵Kevin Lim
(apm@brigitte.dna.fi). It provides support for more syscalls in syscall emulation mode. arch/alpha/alpha_linux_process.cc: sim/syscall_emul.cc: sim/syscall_emul.hh: Apply patch for syscall emulation provided by Antti Miettinen (apm@brigitte.dna.fi). --HG-- extra : convert_revision : 37fbc78a927110b7798343afd2c5f37a269e42b4
2005-11-22add the cpu number of the request to various panic and traceNathan Binkert
output for sinic dev/sinic.cc: add the cpu number of the request to various panic and trace output --HG-- extra : convert_revision : e778a5c925e194652bec47af678488acf48c1ae0
2005-11-21add support for delaying pio writes until the cache access occursNathan Binkert
dev/ns_gige.cc: add support for delaying pio writes until the cache access occurs the only write we delay are for CR_TXE and CR_RXE dev/sinic.cc: dev/sinic.hh: the txPioRequest and rxPioRequest things were more or less bogus add support for delaying pio writes until the cache access occurs dev/sinicreg.hh: Add delay_read and delay_write to the register information struct for now, we won't delay any reads, and we'll delay the writes that initiate DMAs python/m5/objects/Ethernet.py: add a parameter to delay pio writes until the timing access actually occurs. --HG-- extra : convert_revision : 79b18ea2812c2935d7d5ea6eff1f55265114d05d
2005-11-21expose an environment variable for setting the linux image.Nathan Binkert
--HG-- extra : convert_revision : 32be8bef3b594d29dae717857a96ff5bdd6e9ffa
2005-11-21change profile environment configurations.Nathan Binkert
--HG-- extra : convert_revision : f05fb5e50a439da9db96b04547f58ed8cd9f1aa6
2005-11-21Rearrange the memory configurations.Nathan Binkert
--HG-- extra : convert_revision : bab5b13e335f11ecb2dafd3371faf2351fbe9f10
2005-11-21have sinic use the new readBar/writeBar stuff that's in theNathan Binkert
pci device base class dev/sinic.cc: dev/sinic.hh: use the new readBar/writeBar stuff that's in the pci device base class --HG-- extra : convert_revision : 8a0b2bde3cc13597785d6ea75d6e6811680bb01b