summaryrefslogtreecommitdiff
path: root/dev/tsunami.hh
AgeCommit message (Collapse)Author
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-02-21formatting fixesNathan Binkert
--HG-- extra : convert_revision : 8b9bfed29b66e8bce11448f175273f5ebb6876b2
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-13Use parameter structs for initialization so it's easierNathan Binkert
to add new devices. Abstract the Platform more so that it is unnecessary to know know platform specifics for interrupting or translating PCI DMA addresses. dev/ide_ctrl.cc: convert to parameter struct for initialization use the interrupt functions in the PciDev base class convert from tsunami to using platform We don't need an interrupt controller here. dev/ide_ctrl.hh: don't use Tsunami, use Platform make the IdeDisk a friend so that it can access my plaform convert to parameter struct for construction dev/ide_disk.cc: don't use tsunami references, but platform references dev/ns_gige.cc: Convert to parameter struct for initialzation. Use code in base class for interrupts so we don't need to know anything about the platform. Don't need an IntrControl *. dev/ns_gige.hh: We don't need a Tsunami * anymore convert to a parameter struct for construction dev/pcidev.cc: deal with new parameter struct dev/pcidev.hh: - Move all of the configuration parameters into a param struct that we can pass into the constructor. - Add a Platform * for accessing new generic interrupt post/clear and dma address translation fuctions - Create functions for posting/clearing interrupts and translating dma addresses dev/platform.cc: have default functions that panic on pci calls dev/platform.hh: don't make the pci stuff pure virtual, but rather provide default implementations that panic. Also, add dma address translation. dev/tsunami.cc: this-> isn't necessary here. add pci address translation dev/tsunami.hh: implement the pciToDma address translation --HG-- extra : convert_revision : 7db27a2fa1f1bd84704921ec7ca0280b5653c43e
2004-10-25Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5-smpAli Saidi
--HG-- extra : convert_revision : 59173b5d4599cfe1cbaa96705e9731ee5a8d8647
2004-10-25changes to make interrupts part of the platform rather than tsunamiAli Saidi
specific --HG-- extra : convert_revision : f51788dd41c23f13b253268bb2b286a5225ef087
2004-10-23get rid of some unused variablesNathan Binkert
--HG-- extra : convert_revision : 187cee0e0bad09bbaff059eb60f20d7d32c1b52c
2004-06-04Updated copyright on Tsunami and kern/linux files.Ali Saidi
dev/baddev.cc: dev/baddev.hh: dev/ide_ctrl.cc: dev/ide_ctrl.hh: dev/ide_disk.cc: dev/ide_disk.hh: dev/ns_gige.cc: dev/ns_gige.hh: dev/pciconfigall.cc: dev/pciconfigall.hh: dev/pcidev.cc: dev/pcidev.hh: dev/pcireg.h: dev/platform.cc: dev/platform.hh: dev/tsunami.cc: dev/tsunami.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: kern/linux/linux.hh: kern/linux/linux_syscalls.cc: kern/linux/linux_syscalls.hh: kern/linux/linux_system.cc: kern/linux/linux_system.hh: Updated copyright dev/tsunamireg.h: Updated copyright and fixed a ULL --HG-- extra : convert_revision : 4800bd227c7064044ee98169d6a91f74c791956f
2004-06-01Removed dynamic cast to get interrupt frequency and replaced with aAli Saidi
virtual function in alphaaccess.cc dev/alpha_console.cc: dev/alpha_console.hh: dev/platform.hh: dev/tsunami.cc: dev/tsunami.hh: dev/tsunami_io.hh: Removed dynamic cast to get interrupt frequency and replaced with a virtual function --HG-- extra : convert_revision : 01f514a33d8f76c6527ab25a713d5c86f9fd646e
2004-05-30Cleaned up and commented code. I think we are ready to merge with head.Ali Saidi
dev/baddev.hh: dev/pcidev.hh: dev/tsunami.hh: dev/tsunami_cchip.hh: dev/tsunami_io.hh: dev/tsunami_pchip.hh: Added doxygen comments dev/pciconfigall.hh: Added doxygen comments. Made the hlist of devices private and provided members to modify the data. dev/pcidev.cc: updated for change in pciconfigall dev/tsunami_pchip.cc: Deleted commented out code we don't need kern/linux/linux_syscalls.cc: Simplified the number -> name conversion. kern/linux/linux_syscalls.hh: Removed StandardNumber and replaced with Number. kern/linux/linux_system.cc: kern/linux/linux_system.hh: LinuxSkipIdeDelay50msEvent was simply the same as the SkipFunc event, so I removed it. Same with with LinuxSkipFuncEvent. --HG-- extra : convert_revision : 1508c335f87d90373f5772f3a0407ea13e858d7e
2004-05-25Changed name of lisa's device to NSgigE instead of Etherdev so itAli Saidi
doesn't conflict with the old ethernet driver name. Added config file to try to boot Tru64 with Tsunami Cleaned up kern/linux a bit more and fixed bug where we were using Tru64 system calls dev/ns_gige.cc: dev/ns_gige.hh: dev/tsunami.hh: Changed name of lisa's device to NSgigE instead of Etherdev so it doesn't conflict with the old ethernet driver name. kern/linux/linux_syscalls.hh: the Syscalls still used the Tru64 calls, oops.. fixed. --HG-- extra : convert_revision : dedd20686cc367ed37f31920f753566afbc69045
2004-05-14Linux boots... various fixes to make console work correctlyAli Saidi
dev/console.cc: commented out code that checks if an interrupt is happening before issuing one because they can get lost when linux boots dev/console.hh: added a setPlatform function to set the platform to interrupt dev/platform.hh: dev/tsunami.cc: dev/tsunami.hh: Added virtual functions to post console interrupts dev/tsunami_io.cc: allowed a 64bit read of the PIC since we can't do a physical byte read dev/tsunami_uart.cc: moved TsunamiUart to PioDevice various little fixes to make linux work dev/tsunami_uart.hh: Made Tsunami_Uart a PIO device dev/tsunamireg.h: added some UART defines and used the ULL macros kern/linux/linux_system.cc: commented out waiting for gdb --HG-- extra : convert_revision : 8cfd0700f3812ab349a6d7f132f85f4f421c5c5e
2004-05-03Checkin of latest IDE and some separation between platforms (Tsunami andAndrew Schultz
Turbolaser) base/range.hh: Change semantics of range to be inclusive of the end value, may need to check other users of range to make sure they are semantically correct. This was needed for access of last byte in range of address on IDE and makes sense for case of range from 0 to all f dev/ide_ctrl.cc: dev/ide_ctrl.hh: dev/ide_disk.cc: dev/ide_disk.hh: Whole mess of changes.. at current state simulator will boot and read partition table and then have a bunch of errors and panic dev/pciconfigall.cc: dev/pciconfigall.hh: dev/platform.hh: Changes to work with platform separation dev/tsunami.cc: dev/tsunami.hh: Change to work with platform separation --HG-- extra : convert_revision : e1de22b54df7fdcf391efc2a8555ada93f46beab
2004-03-23Add initial support for IDEAndrew Schultz
--HG-- extra : convert_revision : e07dc6c87b0b692d428b541d4032fcf82996ef15
2004-03-11It was annoying me that there was PCIConfigAll and PciDev and PciConfigData. ↵Lisa Hsu
so for consistency I changed it. dev/pciconfigall.cc: dev/pciconfigall.hh: dev/pcidev.cc: dev/pcidev.hh: dev/tsunami.hh: change PCIConfigAll to PciConfigAll --HG-- extra : convert_revision : d2fa3f59b906c870fd9d46cfa94728c7587e3652
2004-02-09Fixes for updating mmu mappingsAndrew Schultz
dev/tsunami.hh: Added generic platform base class --HG-- extra : convert_revision : ff74956937f9fca5bdfa5e3779add776e4a91f8b
2004-02-05added some commentsAli Saidi
--HG-- extra : convert_revision : eeb0a2c227261ce601ec5e5e8e57b58cbcf22a17
2004-02-05added some commentsAli Saidi
--HG-- extra : convert_revision : b33c94984f8d9ac2baf8d7b45fa79460846b1755
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-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-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-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