summaryrefslogtreecommitdiff
path: root/dev
AgeCommit message (Collapse)Author
2004-02-10Changed new linux stuff to work with new FunctionalMemory interface andAndrew Schultz
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
2004-02-09Merge linux tree with headAndrew Schultz
arch/alpha/alpha_memory.cc: dev/alpha_console.cc: dev/alpha_console.hh: Merge --HG-- extra : convert_revision : 3233648f204338ab3f102ff117754dce955dcc37
2004-02-09Added platform.hhAndrew Schultz
--HG-- extra : convert_revision : c11fde5e5f0e344d2f4c89c57a4d41ca179a31e5
2004-02-09Fixes for updating mmu mappingsAndrew Schultz
dev/tsunami.hh: Added generic platform base class --HG-- extra : convert_revision : ff74956937f9fca5bdfa5e3779add776e4a91f8b
2004-02-09Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/linuxAli Saidi
into zizzer.eecs.umich.edu:/y/saidi/work/m5 --HG-- extra : convert_revision : 35c2de18adad0957538453b2a083e59de535aa88
2004-02-09Some changes to for linux 2.6.2Ali Saidi
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
2004-02-09- Whack unused codeNathan Binkert
- 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
2004-02-05Now skips the calibrate_delay loop in the kernel bootAndrew Schultz
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
2004-02-05fixed mapping of device memory and i/o spaceAli Saidi
--HG-- extra : convert_revision : 9236c7f0aeb4d555880bdfdfa7f55cedf1cbb950
2004-02-05added some commentsAli Saidi
--HG-- extra : convert_revision : eeb0a2c227261ce601ec5e5e8e57b58cbcf22a17
2004-02-05mereged some comments with some of andrews changesAli Saidi
--HG-- extra : convert_revision : 8b3d1b2fe15eeb7d97462dac0043ca6b0863f6e6
2004-02-05added some commentsAli Saidi
--HG-- extra : convert_revision : b33c94984f8d9ac2baf8d7b45fa79460846b1755
2004-02-05Fix PCI code so it builds properly nowAndrew Schultz
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
2004-02-04Add support for "serializing" instructions that flushSteve Reinhardt
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
2004-02-04Added code so that BAR writes will result in an updated memory mappingAli Saidi
dev/pcidev.cc: dev/pcidev.hh: BAR changes should now change the mmu mapping --HG-- extra : convert_revision : 2d5c60ef076ab0588a25def1ecd9dbb90c9144d7
2004-02-04Changes to support PciDev as a new base class for devices which use PCIAndrew Schultz
--HG-- extra : convert_revision : fc2bc4399665344220b1a7e345ae6d2df03c9960
2004-02-03Mostly changes to point Tsunami related stuff to use AdaptecControllerAndrew Schultz
dev/tsunami.cc: dev/tsunami.hh: Change to use AdaptecController with Tsunami --HG-- extra : convert_revision : 6ff4f9f7ae1959589340b2ab23755b4dbfec4dbc
2004-02-03Fix to support redefinition of functional_memory base classAndrew Schultz
--HG-- extra : convert_revision : c06b2cfd2787022ee5dc664886873a9afa459434
2004-02-03mergeNathan Binkert
--HG-- extra : convert_revision : 47425264e672f727cbb13aa7b9bb2a67790b25e8
2004-02-02More conversions of ref-counted parameters to references:Steve Reinhardt
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
2004-02-02Change MemReqPtr parameters to references.Steve Reinhardt
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
2004-01-30Update for changes in the consoleNathan Binkert
This is basically the same thing that was done for tlaser_uart --HG-- extra : convert_revision : e0de84b83d1ee4fe0ef769b4de232dbbd7d9c228
2004-01-30MergeNathan Binkert
--HG-- extra : convert_revision : 8690e31b64235874d74ea4a1123a408610fb115b
2004-01-30Linux boots with no devicesAli Saidi
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
2004-01-29Fix character input by handling the character and theNathan Binkert
special console values separately. dev/alpha_console.cc: use new console specific input function --HG-- extra : convert_revision : 08997d6115d2aac3a26cac2774b3c3fc0cd76ab0
2004-01-29provide an output stream for simulator output. (This takes place of theNathan Binkert
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
2004-01-28moved devices around in config space and support figuring out cpuidAli Saidi
from cchip register dev/tsunami_cchip.cc: added support for figuring out which cpu you are --HG-- extra : convert_revision : 7862678a259931bb0a5b2ca8ad298a704bd272ec
2004-01-28Add support for PIC interrupts in IO, and DIRx interrupts in CChipRon Dreslinski
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
2004-01-28our first interruptAli Saidi
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
2004-01-27Add support for RTC to interrupt, HACK in alpha_console temporaryRon Dreslinski
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
2004-01-27uart works in linuxAli Saidi
dev/tsunami_uart.cc: added code make it work with linux's uart code. --HG-- extra : convert_revision : 893a3439dac16cfe68dbd50daa475be04d9ee3de
2004-01-26Support for Tsunami coming along... RTC, PIC working, UART in progressAli Saidi
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-23Add RTC event for uip bitRon Dreslinski
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-22added the 8254 programmable interval timerAli Saidi
--HG-- extra : convert_revision : 6a111db98c05a3dd692c757611c3eb9c8cfdd32f
2004-01-22renamed tsunami_dma to tsunami_ioAli Saidi
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-22updated tsunami_dmaAli Saidi
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-21one step closer to bootingAli Saidi
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-15Slowly on our way to booting with TsunamiAli Saidi
--HG-- extra : convert_revision : ec8e7e2dc929ad84c5e320fbfb02070e94cd1ad1
2004-01-14Minor fixes to loader and an additional header file in alpha_access.hAli Saidi
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-11Modify handling of serialize:dir parameter to make it more useful.Steve Reinhardt
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
2003-12-22add support for simple character input via the system consoleNathan Binkert
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
2003-12-19Make stuff build on openbsdNathan Binkert
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
2003-12-11Stats & serialization tweaks & cleanup. Unserializing fromSteve Reinhardt
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
2003-12-10Factor ExecContext::setStatus(), BaseCPU::execCtxStatusChange(),Steve Reinhardt
and SimpleCPU::setStatus() into separate functions. For example, setStatus(Active) is now activate(). --HG-- extra : convert_revision : 4392e07caf6c918db0b535f613175109681686fe
2003-11-14Make it so that we create a directory for each checkpoint so thatNathan Binkert
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
2003-11-04This is M5!Nathan Binkert
dev/console.cc: Simplescalar -> m5 --HG-- extra : convert_revision : c559258c68b5cae6862718240958171e1258ee2b
2003-11-04A little bit of code here and there to get more access toNathan Binkert
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
2003-11-04fix type! arghNathan Binkert
dev/etherlink.cc: int -> Tick --HG-- extra : convert_revision : 33c45ea306e6532b91d84018702b220b25de463e
2003-11-02Implement more m5 pseduo opcodes:Nathan Binkert
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
2003-11-01Fix overwritting and ordering issues with serialization routinesRon Dreslinski
dev/disk_image.cc: seperate serialization output files for different cow images --HG-- extra : convert_revision : b62551f8e3f6315bb92ae3cb44e077d8084cbfe7