Ali Saidi [Tue, 1 Jun 2004 19:43:27 +0000 (15:43 -0400)]
Added ability to specify system type/revision in config file. This
way a Tru64 system can be either Tlaser (by default) or Tsunami.
Added debugSymbolTable to Tru64 for symbol printing in InstExec Trace
cpu/exetrace.cc:
Fixed bug if debugSymbolTable doesn't exist, we shouldn't try to
look something up in it.
kern/tru64/tru64_system.hh:
Added ability to specify system type/revision in config file. This
way a Tru64 system can be either Tlaser (by default) or Tsunami.
--HG--
extra : convert_revision :
c69a7411f0aa118ca5a766e43b7ceb7a5bb04cdf
Ali Saidi [Mon, 31 May 2004 23:47:17 +0000 (19:47 -0400)]
Added and cleaned up some comments
dev/tsunami_cchip.hh:
clean up some comments
kern/linux/linux_syscalls.cc:
Cleaned up spacing of syscall numbers
kern/linux/linux_system.hh:
Added doxygen comments
--HG--
extra : convert_revision :
23ecdaa92a208458dd5c5d3c68ac9012ce2690da
Ali Saidi [Mon, 31 May 2004 22:58:54 +0000 (18:58 -0400)]
Merged head into linux tree
base/stats/mysql.hh:
Rename of Statsistics namespace to stats... merge from head
--HG--
extra : convert_revision :
a5a7f6268b35e75fba1b1800a74fcd6dbd09d974
Ali Saidi [Sun, 30 May 2004 21:45:46 +0000 (17:45 -0400)]
Cleaned up and commented code. I think we are ready to merge with head.
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
Kevin Lim [Fri, 28 May 2004 18:42:59 +0000 (14:42 -0400)]
Updated FastCPU model with all the recent changes.
arch/alpha/ev5.cc:
Updated to support new forms of setIntReg and setFloatRegDouble. Will need to be cleaned up in the future.
arch/isa_parser.py:
Added in FastCPU model.
--HG--
extra : convert_revision :
384a27efcb50729ea6c3cc11653f395c300e48db
Kevin Lim [Fri, 28 May 2004 15:41:52 +0000 (11:41 -0400)]
Merged in new FastCPU stuff with existing code.
arch/alpha/ev5.cc:
Added templatized processInterrupts() function that can be used by all of the CPU models.
arch/alpha/isa_desc:
Merged in changes to remove CPU dependence.
arch/isa_parser.py:
Merged in changes.
cpu/static_inst.hh:
Includes FastCPU execute methods.
--HG--
extra : convert_revision :
fcaa1dca35a9b316c73982bec8680df564f50bd8
Kevin Lim [Thu, 27 May 2004 21:46:16 +0000 (17:46 -0400)]
FastCPU model added. It's very similar to the SimpleCPU, just without a lot of the stats tracking.
Also various changes to make the CPU model less ISA dependent, which includes moving the code that checks for interrupts up to the ISA level, moving code that zeroes the zero registers up to the ISA level, and removing opcode and ra from the regfile.
arch/alpha/alpha_memory.cc:
The regfile has been changed so it no longer has the opcode and ra. Instead the xc holds the actual instruction, and from there the opcode and ra can be obtained with OPCODE() and RA().
arch/alpha/ev5.cc:
Moved code that once existed within simpleCPU to ev5, and templatized it.
This way the CPU models can call processInterrupts and the ISA specific interrupt handling is left to the ISA's code.
Also moved ISA specific zero registers from simpleCPU to here.
arch/alpha/ev5.hh:
Added macros for obtaining the opcode and ra from the instruction itself, as there is no longer opcode or ra in the regfile.
arch/alpha/isa_desc:
Added in declarations for the FastCPU model.
arch/alpha/isa_traits.hh:
Removed opcode and ra from the regfile. The xc now holds the actual instruction, and the opcode and ra can be obtained through it.
Also added the declaration for the templated zeroRegisters() function, which will set the zero registers to 0.
arch/isa_parser.py:
Added in FastCPUExecContext so it will generate code for the FastCPU model as well.
cpu/exec_context.cc:
Added in a more generic trap function so "ev5_trap" doesn't need to be called. It currently still calls the old method, with plans for making this ISA dependent in the future.
cpu/exec_context.hh:
Exec context now has the instruction within it. Also added methods for exec context to read an instruction from memory, return the current instruction, and set the instruction if needed.
Also has declaration for more generic trap() function.
cpu/simple_cpu/simple_cpu.cc:
Removed references to opcode and ra, and instead sets the xc's instruction with the fetched instruction.
cpu/static_inst.hh:
Added declaration for execute() using FastCPUExecContext.
--HG--
extra : convert_revision :
0441ea3700ac50b733e485395d4dd4ac83666f92
Ali Saidi [Thu, 27 May 2004 18:20:50 +0000 (14:20 -0400)]
test to see if pushing to m5-tru64 triggers an e-mail
--HG--
extra : convert_revision :
df7aab669a8521d031c7202e36c3c086fa979854
Steve Reinhardt [Thu, 27 May 2004 18:12:49 +0000 (14:12 -0400)]
postint, postext:
Fix output path /m5 -> /z/m5
--HG--
extra : convert_revision :
11ebcc7e62f02be8b0aeb8857eebc33a27e29513
Steve Reinhardt [Thu, 27 May 2004 18:06:39 +0000 (14:06 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5
--HG--
extra : convert_revision :
38d50d3d3640f02622e5ace5ac12b67d63eda3f0
Steve Reinhardt [Thu, 27 May 2004 18:06:29 +0000 (14:06 -0400)]
config_files.doxygen:
Apparently <> don't need backslashes if they're inside dbl-quoted strings.
--HG--
extra : convert_revision :
dd5294781d0ef818d1a5b622f3415510baefb402
Andrew Schultz [Thu, 27 May 2004 02:39:36 +0000 (22:39 -0400)]
base_linux.ini:
Change disk image COW layer to be anonymous.
--HG--
extra : convert_revision :
f0829acb26166fb0d63ed84f86288e973bf59a6a
Ali Saidi [Wed, 26 May 2004 22:49:24 +0000 (18:49 -0400)]
removal of bootloader from config file, merged
--HG--
extra : convert_revision :
9168d939d4e707b00be6609368b592a0829a7226
Ali Saidi [Wed, 26 May 2004 22:48:11 +0000 (18:48 -0400)]
Fixed serial support in 2.6 (too much work for...)
Removed bootloader and just wrote command line into linux kernel
base/inifile.cc:
the forked process should not return, it should exit.
dev/tsunami_uart.cc:
dev/tsunami_uart.hh:
The serial port in reality has some delay and linux expects it. This
schedules an interrupt 300 cycles after the transmit instead of
immediately
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
removed boot loader and stuck boot command line in the kernel manually
--HG--
extra : convert_revision :
68aa54f8ca4e8391789f7a4c1ae227e6f8b94e13
Lisa Hsu [Wed, 26 May 2004 17:06:32 +0000 (13:06 -0400)]
this now pings in single-user mode, so it should ping in other modes fine as well.
dev/ns_gige.cc:
remove some useless DPRINTF's and add some useful ones. fix the missing RXDESC interrupt.
--HG--
extra : convert_revision :
17142480db1eaafa24f88640f8c7b8e7e077de1a
Andrew Schultz [Tue, 25 May 2004 20:36:20 +0000 (16:36 -0400)]
Merge zizzer:/bk/linux
into zower.eecs.umich.edu:/.automount/zizzer/z/alschult/DiskModel/linux
--HG--
extra : convert_revision :
67753db3defad3c44640df09a9465670f1667800
Andrew Schultz [Tue, 25 May 2004 20:35:18 +0000 (16:35 -0400)]
Varied fixes to get linux running. Allow for shutdown on linux.
dev/ide_disk.cc:
Fix to PIO writes and also add command needed for shutdown
dev/pcidev.cc:
Change the panic on write to read-only registers to a debug print. The
kernel tries to write back over all of the PCI registers to restore
the saved SRM state, so we need to let it do this without panicing.
sim/system.cc:
Add back increment of number of running systems to allow trap of halt
work correctly.
--HG--
extra : convert_revision :
84aba4effbec14545f3610c19a8e321d7e7f7cf2
Ali Saidi [Tue, 25 May 2004 19:59:54 +0000 (15:59 -0400)]
Changed name of lisa's device to NSgigE instead of Etherdev so it
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
Andrew Schultz [Mon, 24 May 2004 22:58:27 +0000 (18:58 -0400)]
Fix to the PIO read state machine (write still needs fixes)
--HG--
extra : convert_revision :
2e8afcfe3448d921b26ebb76e65c0b237339e9b1
Ali Saidi [Mon, 24 May 2004 19:06:21 +0000 (15:06 -0400)]
parser.out and parser.py shouldn't have been added to the repository
--HG--
extra : convert_revision :
c6a66243f5a1ec0f05d4233a0652a47db1ceba25
Ali Saidi [Mon, 24 May 2004 16:38:00 +0000 (12:38 -0400)]
Merge zeep.eecs.umich.edu:/.automount/zizzer/z/m5/Bitkeeper/linux
into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision :
4c0755b9c3b19f928006da227edc335d328a9efe
Ali Saidi [Mon, 24 May 2004 16:37:45 +0000 (12:37 -0400)]
removed mbuf code from linux since it only exists in tru64
--HG--
extra : convert_revision :
b1dbd8a143b7c1204bf57f6964880f957242d4fb
Nathan Binkert [Sun, 23 May 2004 16:53:34 +0000 (12:53 -0400)]
make the interaction of the stats event stuff with the
database work better.
base/stats/events.cc:
properly connect to the database
base/stats/mysql.cc:
cleanup the event stuff too
--HG--
extra : convert_revision :
f05fd6456decc9c4f95beff5c12497439e45f886
Nathan Binkert [Fri, 21 May 2004 19:06:04 +0000 (15:06 -0400)]
fix column name for indexes
--HG--
extra : convert_revision :
34831eed6b218e470096f010438fd2f32a4960c5
Nathan Binkert [Fri, 21 May 2004 17:58:39 +0000 (13:58 -0400)]
add a few statistics events
arch/alpha/ev5.cc:
Add an event for faults
cpu/simple_cpu/simple_cpu.cc:
add events for uncached reads/writes
--HG--
extra : convert_revision :
747bdf12761e2de6ebbf54fecc9e0b71915b3a02
Nathan Binkert [Fri, 21 May 2004 17:57:44 +0000 (13:57 -0400)]
Add support for event tracking. Esentially this puts a sequence
of events into the database for a given run.
base/stats/mysql.cc:
base/stats/mysql.hh:
reorganize mysql stat stuff so that other stuff can use
the same database connection
base/traceflags.py:
Trace flag to print out events
--HG--
extra : convert_revision :
4d502532ed0ba40b42baefee46b2c99defcc620c
Nathan Binkert [Fri, 21 May 2004 17:39:20 +0000 (13:39 -0400)]
rename namespace Statistics to Stats
--HG--
extra : convert_revision :
28f1703f8d7d8cf33fb952ae450f66bdba860fb7
Nathan Binkert [Fri, 21 May 2004 17:03:17 +0000 (13:03 -0400)]
Change the namespace Statistics to Stats
--HG--
extra : convert_revision :
3084b292bbe2e8a392af8e99a31763ca0b0a9467
Erik Hallnor [Fri, 21 May 2004 03:26:44 +0000 (23:26 -0400)]
Update the adaptive cache compression scheme.
--HG--
extra : convert_revision :
50c158b0545c29c03e346f1bd2952951ac77659b
Nathan Binkert [Thu, 20 May 2004 02:00:30 +0000 (22:00 -0400)]
Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/ziff/z/binkertn/research/m5/latest
--HG--
extra : convert_revision :
d5f03880c6564b80f662a467524c79aa90b1a0b0
Nathan Binkert [Thu, 20 May 2004 01:54:05 +0000 (21:54 -0400)]
Replaced by python
--HG--
extra : convert_revision :
5c95c2b3169b8b1a51166d7f8fcde3de39fa30f9
Andrew Schultz [Wed, 19 May 2004 19:58:24 +0000 (15:58 -0400)]
Remove the uncacheable bit 39 check (needs to be merged in with head tree
if Tru64 is to continue to be supported on Turbolaser) and fixed
translation of physical addresses by clearing PA<42:35> when the real
uncachable bit (43) is set
arch/alpha/ev5.hh:
Change to support 256 ASNs and seperate VA_SPACE checks for EV5 and EV6
also add support proper translation of uncacheable physical addresses
dev/ide_ctrl.cc:
Fix to work with real address translation
--HG--
extra : convert_revision :
aa3d1c284b8271d4763a8da2509c91bbcf83189a
Steve Reinhardt [Wed, 19 May 2004 05:09:13 +0000 (22:09 -0700)]
Add a level of indirection to the register accessors used in
instruction execute methods. Register i now means the instruction's
i'th src (or dest) operand, not architectural register i. Current
models that use the architectural reg index can look that up easily
in the instruction object. Future models that do register renaming
should find this much simpler to deal with.
arch/isa_parser.py:
Generate register accessors with an extra level of indirection.
cpu/simple_cpu/simple_cpu.hh:
Modify register accessors to use an extra level of indirection.
--HG--
extra : convert_revision :
f4c7d6bfa92fb2ea6251f31ee368809c3643f08f
Steve Reinhardt [Tue, 18 May 2004 23:09:02 +0000 (16:09 -0700)]
Replace explicit xc->misspeculating() tests in execute() methods
with an IsNonSpeculative flag.
No effect on results of non-full-system or SimpleCPU.
Very small impact on full-system FullCPU runs since old wrong-path
call_pal insts used to change the PC, where now they're treated
as no-ops.
arch/alpha/isa_desc:
Get rid of xc->misspeculating() checks, use IsNonSpeculative flag instead.
cpu/static_inst.hh:
Add IsNonSpeculative flag and isNonSpeculative() method to test it.
--HG--
extra : convert_revision :
7ec536bfc28b905c429c09eb920ed73ef2beeeba
Lisa Hsu [Tue, 18 May 2004 18:30:17 +0000 (14:30 -0400)]
fix the indefinite interrupting of the ethernet device.
dev/ns_gige.cc:
clear the device interrupts
dev/ns_gige_reg.h:
Add a new mask
--HG--
extra : convert_revision :
ce3617315677cbee577ed8893821a8abc5a1a10d
Lisa Hsu [Tue, 18 May 2004 17:53:11 +0000 (13:53 -0400)]
lift FnEvents and and Binning stuff out of LinuxSystem into commonn places with Tru64.
kern/linux/linux_system.cc:
add binned_fns parameter to System, remove nonLinux events from LinuxSystem, fix ~LinuxSystem() by adding delete of some things that need to be deleted.
kern/linux/linux_system.hh:
fix header file to go with linux_system.cc, removing nonLinux events and adding binned_fns param.
kern/tru64/tru64_system.cc:
add somme consistency by having having binned_fns be _binned_fns in the Tru64System arg list.
--HG--
extra : convert_revision :
b2ec0c1614e185aafa177c220b91d1f6a4fe6876
Lisa Hsu [Tue, 18 May 2004 05:40:03 +0000 (01:40 -0400)]
merge m5 with linux for the event and binning lifting
--HG--
extra : convert_revision :
09d3678746c2e9a93a9982dc75d5e1ac309cb2fa
Steve Reinhardt [Mon, 17 May 2004 19:10:28 +0000 (12:10 -0700)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision :
4dae71fe3482737a22745b27c2ca6983191c4a18
Lisa Hsu [Mon, 17 May 2004 19:08:24 +0000 (15:08 -0400)]
lift system-independent binning stuff out of Tru64System into System.
kern/tru64/tru64_system.cc:
make binned_fns a parameter for System in addition to Tru64System. Do all the fnEvents setting at the System level, since that is system-independent.
kern/tru64/tru64_system.hh:
deal with FnEvents in the System, and move some fns over to System.
sim/system.cc:
sim/system.hh:
lift binning stuff into System out of Tru64System
--HG--
extra : convert_revision :
591dee6f2013f5c43037726c529a00682b5cf82e
Steve Reinhardt [Mon, 17 May 2004 18:50:02 +0000 (11:50 -0700)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision :
266d03e82a04cca07f669f778ad11907f2f003d2
Steve Reinhardt [Mon, 17 May 2004 18:49:46 +0000 (11:49 -0700)]
Significant changes to ISA description to completely factor
out CPU model. ISA description now generates multiple
output source files to (in theory) reduce compilation time.
arch/alpha/isa_desc:
Update for parser changes. Move most constructors
out of class declarations (which are now in decoder.hh)
and into decoder.cc. Move all execute() methods into
exec output.
arch/isa_parser.py:
Significant changes to make ISA description completely
independent of CPU model, and isolate model-dependent parts
of parser into one little class (CpuModel). Also split up code
output into multiple files (a header, a main source file, and
per-cpu execute() method files).
Noticeable changes to language as a result. See updated Doxygen
documentation.
cpu/simple_cpu/simple_cpu.hh:
SimpleCPUExecContext typedef no longer needed.
Add forward declaration of Process.
cpu/static_inst.hh:
SimpleCPUExecContext and FullCPUExecContext typedefs no longer needed.
Make eaCompInst() and memAccInst() return const refs.
--HG--
extra : convert_revision :
71471f267804fafd0a881bac7445677e76334daf
Lisa Hsu [Mon, 17 May 2004 17:22:19 +0000 (13:22 -0400)]
push the new system_events file that i was prevented from pushing way back when cable died. :(. also, fix the printing of binned stats, it was printing hex values instead of bin names.
base/stats/text.cc:
fix the printing of binned stats.
--HG--
extra : convert_revision :
3a04d004f5ea1d90536f7102fce946fd6dd34613
Andrew Schultz [Mon, 17 May 2004 15:51:26 +0000 (11:51 -0400)]
Changes to let system boot with COW image
--HG--
extra : convert_revision :
f98f05834c2d3dc07448b17596247f17e7b73cfd
Lisa Hsu [Mon, 17 May 2004 14:40:45 +0000 (10:40 -0400)]
Merge zizzer.eecs.umich.edu:/bk/m5
into shizzle.(none):/home/hsul/work/m5
--HG--
extra : convert_revision :
fb775c1ed5ac9712929bbd7186b9ab13e90e2dc1
Nathan Binkert [Sun, 16 May 2004 15:41:41 +0000 (11:41 -0400)]
Now that the generation stuff is working, make the gendir
work correctly.
--HG--
extra : convert_revision :
08a5147f5a5cac46800eeef47b4a23451a1139c2
Nathan Binkert [Sun, 16 May 2004 13:28:06 +0000 (09:28 -0400)]
Make the build process deal with the target arch directory
and generated files a bit better.
--HG--
extra : convert_revision :
e2216289bb53fd231e228c2d9d740317c00991bb
Ali Saidi [Fri, 14 May 2004 21:39:32 +0000 (17:39 -0400)]
manual merge of linux_system and makefile
kern/linux/linux_system.cc:
merged
--HG--
extra : convert_revision :
81ef6a46f76968985f44c72f296a79ea77e73d12
Ali Saidi [Fri, 14 May 2004 21:34:15 +0000 (17:34 -0400)]
Linux boots... various fixes to make console work correctly
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
Lisa Hsu [Thu, 13 May 2004 15:40:22 +0000 (11:40 -0400)]
Merge zizzer.eecs.umich.edu:/bk/m5
into shizzle.(none):/home/hsul/work/m5
--HG--
extra : convert_revision :
e47c4db52bdf074b596591f145ffb1a6443d63a4
Lisa Hsu [Thu, 13 May 2004 15:40:07 +0000 (11:40 -0400)]
lift some things out of the tru64 directory into common directory so linux can use it without replication later.
kern/tru64/tru64_events.cc:
kern/tru64/tru64_events.hh:
lift out SkipFuncEvent and FnEvents since these can be used by any OS.
kern/tru64/tru64_system.cc:
add system_events (the common OS events file)
--HG--
extra : convert_revision :
4d7a843d67459af4d77e433ae3c1b0fbc5f0b56b
Nathan Binkert [Thu, 13 May 2004 12:08:42 +0000 (08:08 -0400)]
Add VPtr class that makes it possible to esentially create
a pointer to an object that lives inside simulated memory.
Useful for doing a bit of analysis of what's going on in
the running kernel.
--HG--
extra : convert_revision :
d78089cce5ec4334483a710ba512eaf18d9b0319
Nathan Binkert [Thu, 13 May 2004 12:03:36 +0000 (08:03 -0400)]
remove the annotation junk
arch/alpha/isa_desc:
remove the annotation junk
Move some code to AlphaPseudo where it belongs
arch/alpha/pseudo_inst.cc:
arch/alpha/pseudo_inst.hh:
remove the annotation junk
add pseudo instruction code that was previously misplaced
--HG--
extra : convert_revision :
97db8402aa34e0bdf044b138c52331fc9e714986
Nathan Binkert [Thu, 13 May 2004 11:28:54 +0000 (07:28 -0400)]
pass the address of both the old an new pcbb on context
switches. (Makes other uncommitted code easier to merge.)
arch/alpha/ev5.cc:
pass the address of both the old an new pcbb on context
switches
--HG--
extra : convert_revision :
bff8c8d1b532ad5f9af6270169bbfb1b5c05256a
Nathan Binkert [Thu, 13 May 2004 11:00:31 +0000 (07:00 -0400)]
wrap mbuf stuff in the tru64 namespace since other OSes
may be different
--HG--
extra : convert_revision :
75ea218b5219c7a2b5bf7dca7c52dfff22740478
Nathan Binkert [Thu, 13 May 2004 10:59:05 +0000 (06:59 -0400)]
Avoid sending a signal to ourselves if we're not debugging
--HG--
extra : convert_revision :
d6ba1ce30bad4a44d716238a8107c3bff0ce89c4
Andrew Schultz [Wed, 12 May 2004 20:55:49 +0000 (16:55 -0400)]
Fixes to DMA writing (still unverified) and added serialize/unserialize
dev/ide_ctrl.cc:
Added serialize/unserialize functions and move some inlined functions
to regular functions
dev/ide_ctrl.hh:
Change inlined functions to regular functions
dev/ide_disk.cc:
Changes to dmaWrite and also add serialize/unserialize functions
dev/ide_disk.hh:
Support for serializing/unserializing
--HG--
extra : convert_revision :
40e016dc7f6637b033fe33409338437c985a05f4
Nathan Binkert [Wed, 12 May 2004 19:49:01 +0000 (15:49 -0400)]
Make a new stat type of Value which is a scalar stat that
proxies for a real C/C++ scalar value or scalar functor.
This replaces the scalar() and functor() terms that were
previously used in formulas. This helps when dumping
statistics because the formulas are not supposed to change.
cpu/base_cpu.cc:
Add a number of cycles stat to the cpu object that tracks the
number of cycles that the cpu has executed. This starts to pave
the way for cpu cycles being different from event ticks.
cpu/base_cpu.hh:
provide a functor for calculating all simulated instructions
of all CPUs and a virtual function for determining that number.
To deal with the change from functor() to Value::functor()
cpu/simple_cpu/simple_cpu.cc:
simTicks -> numCycles
numInsts is now a real Scalar stat, not a Formula
cpu/simple_cpu/simple_cpu.hh:
numInsts is now a real Scalar stat, not a Formula
count all instructions
sim/stat_control.cc:
simInsts, simTicks, hostMemory, and hostSeconds are no
longer Statistics::Formula but rather Statistics::Value
add new stat for tick frequency
sim/stats.hh:
don't need everything to be extern.
test/Makefile:
Make stuff work a tad bit better
test/stattest.cc:
test out Statistics::Value
--HG--
extra : convert_revision :
c812e8baa2b17c08abf3a68ed1e1125dc6f2cfb4
Lisa Hsu [Wed, 12 May 2004 02:42:57 +0000 (22:42 -0400)]
Merge zizzer.eecs.umich.edu:/bk/linux
into shizzle.(none):/home/hsul/work/linux
--HG--
extra : convert_revision :
729b97489f990bffd23add762582b73d2eb2137d
Lisa Hsu [Wed, 12 May 2004 02:42:45 +0000 (22:42 -0400)]
successful merge, linux still builds and runs as far it used to, network device still transmit ARP packet.
arch/alpha/alpha_memory.cc:
change to the main m5 tree convention for naming
base/traceflags.py:
add ide and pciconfigall traceflags
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
kill some old binning styled stuff
--HG--
extra : convert_revision :
0558878906817975a714b1c7c08f9ee405468535
Andrew Schultz [Tue, 11 May 2004 22:09:45 +0000 (18:09 -0400)]
Merge zizzer:/bk/linux
into zower.eecs.umich.edu:/.automount/zizzer/z/alschult/DiskModel/linux
--HG--
extra : convert_revision :
879834af81a124b1f1b546f1591713a8c36913e4
Andrew Schultz [Tue, 11 May 2004 22:06:50 +0000 (18:06 -0400)]
Changes to fix bad DMA handling by disk when using scatter gather page
mappings (writes still unverified, and read could probably be looked over
a bit more too)
dev/ide_disk.cc:
dev/ide_disk.hh:
Major changes to fix bogus handling of dma transfers. The read seems to
work pretty well, but the write is unverfied until we can get a disk
image that actually tries to write.
dev/tsunami_pchip.cc:
Change mask to properly mask 13 bits not 12
--HG--
extra : convert_revision :
08fe9bc32970e449cd045de479553a96a4e389d6
Lisa Hsu [Tue, 11 May 2004 05:15:18 +0000 (01:15 -0400)]
first pass at merging m5 with linux
--HG--
extra : convert_revision :
dfe23349b80ae3b34d3cb95c5734e01ef62f700e
Steve Reinhardt [Tue, 11 May 2004 02:21:04 +0000 (22:21 -0400)]
dma_bus_interface_impl.hh:
Fix template param (breaks on g++ 3.3).
--HG--
extra : convert_revision :
b469aa9aab105bbc5a72a20a48a4abd2e218ff8c
Steve Reinhardt [Mon, 10 May 2004 23:10:47 +0000 (16:10 -0700)]
Do a better job of factoring out CPU model in ISA description.
(Still not perfect though.)
arch/alpha/isa_desc:
Do a better job of factoring out CPU model. (Still not perfect though.)
Pull execute() methods out of class declarations into separate section
of file, allowing (1) easier replication for different CPU models and
(2) a path to putting them all in a separate file. Force all instruction
execution context into a single model-dependent class (SimpleCPU itself
for SimpleCPU, DynInst for FullCPU).
arch/isa_parser.py:
Do a better job of factoring out CPU model. (Still not perfect though.)
Pull execute() methods out of class declarations into separate section
of file, allowing (1) easier replication for different CPU models and
(2) a path to putting them all in a separate file.
Also restructure top level to allow parser to run under interactive
interpreter session for easier debugging.
cpu/exec_context.hh:
Add a few new methods to clean up isa_desc.
cpu/simple_cpu/simple_cpu.cc:
cpu/static_inst.hh:
StaticInst::execute no longer takes a CPU and an ExecContext,
just a unified FooCPUExecContext.
cpu/simple_cpu/simple_cpu.hh:
Add methods to redirect calls to ExecContext so SimpleCPU
can act as sole instruction execution context for itself.
Typedef SimpleCPU to SimpleCPUExecContext.
--HG--
extra : convert_revision :
ecc445503bc585585da5663fe61796580e744da6
Ali Saidi [Mon, 10 May 2004 00:14:18 +0000 (20:14 -0400)]
Added ULL for 64bit ints
Added function to skip determine_cpu_caches(). We may have to update this in the
future: see note below.
arch/alpha/alpha_memory.cc:
dev/ide_ctrl.cc:
dev/tsunamireg.h:
Added ULL for 64bit ints
kern/linux/linux_system.cc:
Added a function to skip determine_cpu_caches, right now it is only used for
printing in proc, however in the future we may either want to implement the SC_CTL
IPR register or manually set alpha_l1i_cacheshape, alpha_l1d_cacheshape,
alpha_l2_cacheshape, alpha_l3_cacheshape to ((size << 10) | (linesize>>1)<<4 | way)
kern/linux/linux_system.hh:
added event to skip determine_cpu_caches()
--HG--
extra : convert_revision :
1065f2091bbe6832b730af490f5b4672c2afedce
Steve Reinhardt [Sun, 9 May 2004 06:32:30 +0000 (23:32 -0700)]
Very minor fixes.
util/tracediff:
stats:file option is now stats:text_file
--HG--
extra : convert_revision :
74b6294da0003345e84bc1533d536dab271b6033
Steve Reinhardt [Sat, 8 May 2004 02:20:30 +0000 (19:20 -0700)]
Merge
--HG--
extra : convert_revision :
7999c243a80482b9feffdf8f3dd4ff061b189377
Nathan Binkert [Thu, 6 May 2004 23:01:16 +0000 (19:01 -0400)]
don't do dependencies on make generate
--HG--
extra : convert_revision :
0dac37a1676e795bf2ebf9572e37b6b78af7929a
Andrew Schultz [Thu, 6 May 2004 19:21:07 +0000 (15:21 -0400)]
Whole mess'o'changes.. see individual files
arch/alpha/vtophys.cc:
Removed buggy code that tries to fix PAL addresses (may cause problems
while trying to debug in PAL code, but that should do this fix outside
of vtophys)
base/loader/symtab.cc:
base/loader/symtab.hh:
cpu/exetrace.cc:
Changed InstExec traces to always print a symbol name
dev/ide_ctrl.cc:
dev/ide_disk.cc:
Tabs
dev/ide_disk.hh:
Change buffer size
dev/tsunami_pchip.cc:
Fix translatePciToDma to support scatter gather mapping
kern/linux/linux_system.cc:
Force simulator to wait until remote debugger attaches (should be removed
or turned on/off with a flag)
--HG--
extra : convert_revision :
1d08aebe3f448c87a963dd613de3e2e0cff0d48d
Nathan Binkert [Thu, 6 May 2004 16:10:16 +0000 (12:10 -0400)]
Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/ziff/z/binkertn/research/m5/latest
--HG--
extra : convert_revision :
12234085865daa71e32981177d3376c93b3ed11e
Nathan Binkert [Thu, 6 May 2004 16:09:54 +0000 (12:09 -0400)]
add support for sticking generated files in the build directory
instead of with the source code. This will hopefully be especially
useful when we're generating dozens of files when we flesh out the
object description stuff.
remove generated files from the source tree. python is required
to build now.
base/trace.hh:
no need for the underscore in the name
base/traceflags.py:
clean up code
--HG--
extra : convert_revision :
f68af8c3460eb7e73a1defaea3081a02ad7db33c
Erik Hallnor [Thu, 6 May 2004 00:57:07 +0000 (20:57 -0400)]
Documentation fixes
--HG--
extra : convert_revision :
9f62115463e6e624a95ae83189dac21c593a2ee4
Nathan Binkert [Wed, 5 May 2004 03:44:09 +0000 (23:44 -0400)]
file used by old compile time binning which lisa's since fixed
--HG--
extra : convert_revision :
b8ae8371fdf22b601bcfd15ce7c28af6ed081dc0
Nathan Binkert [Wed, 5 May 2004 03:42:15 +0000 (23:42 -0400)]
add a bit more data to the rob dump
--HG--
extra : convert_revision :
99f76a62d1a1f057868c4303905cc269fd56aab7
Nathan Binkert [Tue, 4 May 2004 21:01:00 +0000 (17:01 -0400)]
Major stats package cleanup
Add support for generic visitors for stats and use them
to implement independent output functions.
Support for mysql output and some initial code for hacking
on mysql output with python
arch/alpha/pseudo_inst.cc:
base/hybrid_pred.cc:
base/hybrid_pred.hh:
base/sat_counter.cc:
base/sat_counter.hh:
cpu/simple_cpu/simple_cpu.cc:
kern/tru64/tru64_events.cc:
sim/main.cc:
sim/process.cc:
sim/process.hh:
sim/sim_events.cc:
sim/sim_object.cc:
sim/system.hh:
update for changes in stats package
base/statistics.cc:
move the python output code to base/stats/puthon.(cc|hh)
and reimplement it as a visitor.
move the text output code to base/stats/text.(cc|hh) and
reimplement it as a visitor.
move the database stuff into base/stats/statdb.(cc|hh) and
get rid of the class. Put everything as globals in the
Statistics::Database namespace.
allocate unique ids for all stats.
directly implement the check routine and get rid of the
various dumping routines since they're now in separate files.
make sure that no two stats have the same name
clean up some loops
base/statistics.hh:
major changes to the statistics package again
lots of code was factored out of statistics.hh into several
separate files in base/stats/ (this will continue)
There are now two Stat package types Result and Counter that
are specified to allow the user to keep the counted type
separate from the result type. They are currently both doubles
but that's an experiment. There is no more per stat ability to
set the type. Statistics::Counter is not the same as Counter!
Implement a visitor for statistics output so that new output
types can be implemented independently from the stats package
itself.
Add a unique id to each stat so that it can be used to keep
track of stats more simply. This number can also be used in
debugging problems with stats.
Tweak the bucket size stuff a bit to make it work better.
fixed VectorDist size bug
cpu/memtest/memtest.cc:
Fix up for changes in stats package
Don't use value() since it doesn't work with binning. If you
want a number as a stat, and to use it in the program itself,
you really want two separate variables, one that's a stat,
and one that's not.
cpu/memtest/memtest.hh:
Fix up for changes in stats package
test/Makefile:
Try to build stuff now that directories matter
test/stattest.cc:
test all new output types
choose which one with command line options
--HG--
extra : convert_revision :
e3a3f5f0828c67c0e2de415d936ad240adaddc89
Erik Hallnor [Tue, 4 May 2004 20:32:43 +0000 (16:32 -0400)]
Update for doxygen 1.3.6
--HG--
extra : convert_revision :
e7a1820a5651dc68e2927194aeabd23a3d852487
Nathan Binkert [Tue, 4 May 2004 16:23:57 +0000 (12:23 -0400)]
Function for getting username
--HG--
extra : convert_revision :
50c0bf7b083e780071e85fabdcd6f91a96f4b2e3
Nathan Binkert [Tue, 4 May 2004 12:20:21 +0000 (08:20 -0400)]
don't duplicate stat names
--HG--
extra : convert_revision :
2a19b12457cb19e233e4b133044ff95eb5d44e2f
Andrew Schultz [Mon, 3 May 2004 15:48:17 +0000 (11:48 -0400)]
Merge zizzer:/bk/linux
into zower.eecs.umich.edu:/.automount/zizzer/z/alschult/DiskModel/linux
--HG--
extra : convert_revision :
8eca0fba9d96bffea7a24bce9b14f0284bd58c83
Andrew Schultz [Mon, 3 May 2004 15:47:52 +0000 (11:47 -0400)]
Checkin of latest IDE and some separation between platforms (Tsunami and
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
Erik Hallnor [Thu, 29 Apr 2004 06:12:49 +0000 (02:12 -0400)]
Derive from SimObject so stats are registered.
--HG--
extra : convert_revision :
cbc70641235f040ebff6a98de7ff6384e06b8dbd
Erik Hallnor [Thu, 29 Apr 2004 04:52:43 +0000 (00:52 -0400)]
Change the way the DMAInterface works internally to make it easier to change things in the future.
--HG--
extra : convert_revision :
2f7275f95433918549e76b16a8903e5df2d0188c
Steve Reinhardt [Wed, 28 Apr 2004 23:28:37 +0000 (16:28 -0700)]
Minor enhancements to Python config stuff:
- Add support for assigning NULL to SimObject pointers. In Python,
this is a special value, distinct from None.
- Initial, incomplete pass at regenerating C++ parameter code (declarations
and INIT_PARAM macros) from .odesc files.
util/config/m5config.py:
- Add support for assigning NULL to SimObject pointers. In Python,
this is a special value, distinct from None.
- Initial, incomplete pass at regenerating C++ parameter code (declarations
and INIT_PARAM macros) from .odesc files.
--HG--
extra : convert_revision :
d7ae8f32e30b3c0829fd1a60589dd998e2e0d0d7
Erik Hallnor [Wed, 28 Apr 2004 20:14:29 +0000 (16:14 -0400)]
Merge ehallnor@zizzer:/bk/m5
into zizzer.eecs.umich.edu:/y/ehallnor/work/m5
--HG--
extra : convert_revision :
f658c6d2e86a736702fcb88b0493904a72f5e47f
Erik Hallnor [Wed, 28 Apr 2004 20:12:20 +0000 (16:12 -0400)]
Little updates do the documentation.
--HG--
extra : convert_revision :
647f2bc32064b1f330513d812d59357f01adc012
Erik Hallnor [Wed, 28 Apr 2004 00:16:00 +0000 (20:16 -0400)]
Add an adaptive compression scheme.
--HG--
extra : convert_revision :
4ebf32976ba983cb3b9175cdf5f2e1359fa49c8b
Nathan Binkert [Thu, 22 Apr 2004 22:10:35 +0000 (18:10 -0400)]
Cleanup configs since bridges are now autosensing of addresses
and are bidirectional.
--HG--
extra : convert_revision :
840c940b4cee991f3a0c8e365fb60c0ef9166cf2
Lisa Hsu [Wed, 21 Apr 2004 22:43:39 +0000 (18:43 -0400)]
just comment ns_gige.cc a little more
dev/ns_gige.cc:
add some comments
--HG--
extra : convert_revision :
96ae82f1f48b8e2e2ba8a6a0e2f37d8f992d15b3
Lisa Hsu [Wed, 21 Apr 2004 22:23:41 +0000 (18:23 -0400)]
This is where I'm at for Linux Ethernet before I head to Mexico.
base/range.hh:
andrew thought this might be a bug.
dev/etherpkt.cc:
don't need std:: since there is a using directive
dev/ns_gige.cc:
update to new PIO and PCI system
dev/ns_gige.hh:
update to deal with new PIO and PCI setup
dev/ns_gige_reg.h:
Add some new #defines that I ended up needing
dev/pcidev.cc:
some changes to the debugging printfs of pci device
--HG--
extra : convert_revision :
955ba8e8e1c418cfe1c6549dc3451ea091541556
Erik Hallnor [Fri, 16 Apr 2004 03:47:17 +0000 (23:47 -0400)]
Fix the way write delay are sent on the data bus so that they are always sent. Also fixes the problem of sending both responses and write delays.
--HG--
extra : convert_revision :
3bb684526bf2ed5ab7b05c54d768291baf5dec02
Erik Hallnor [Wed, 14 Apr 2004 22:44:38 +0000 (18:44 -0400)]
Code cleanup and debugging for the bus.
--HG--
extra : convert_revision :
8356dbf022e1aca71ff75f2947382af6a37d65b4
Erik Hallnor [Tue, 13 Apr 2004 03:54:21 +0000 (23:54 -0400)]
Each direction in the BusBridge can now buffer max requests before blocking
--HG--
extra : convert_revision :
c411cbf0affafebbc914d92d6691729fc3125486
Erik Hallnor [Tue, 13 Apr 2004 03:52:53 +0000 (23:52 -0400)]
Delete the new store data.
--HG--
extra : convert_revision :
1a03ab0500867e9855ff0cc343e29200c109cb1f
Erik Hallnor [Tue, 13 Apr 2004 02:07:33 +0000 (22:07 -0400)]
Add data to stores to make compression results consistant across version of the code.
--HG--
extra : convert_revision :
c72f46685e31cc93b1c1ddab78b8cf30473d4ac9
Erik Hallnor [Fri, 9 Apr 2004 04:36:53 +0000 (00:36 -0400)]
Connect the bus bridge up correctly, internally.
--HG--
extra : convert_revision :
323c0a79800721e4ecd253000095eb0a7a36bb29
Steve Reinhardt [Tue, 6 Apr 2004 17:02:00 +0000 (10:02 -0700)]
Beta version of Python configuration tool. Generates .ini files from
Python script description.
arch/alpha/alpha_memory.cc:
dev/io_device.cc:
Add DEFINE_SIM_OBJECT_CLASS_NAME for intermediate SimObjects.
test/paramtest.cc:
Fix stupid spelling.
--HG--
extra : convert_revision :
dc020208cb6507c1afb1ed771a7218daba678e09
Steve Reinhardt [Mon, 5 Apr 2004 18:01:01 +0000 (11:01 -0700)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision :
ca1c124e667fb6d2927959a2078dd2e28c26cd2b
Steve Reinhardt [Mon, 5 Apr 2004 18:00:48 +0000 (11:00 -0700)]
Changes to config to allow everything (including 'children'
and 'type') to be specified via instance name and not just
config class. Old code only did instance-name lookup for
SimObject parameters. This feature makes life easier for
transitioning to the Python script-based config.
sim/builder.cc:
Use ConfigNode::find to look for "type" parameter so it can
be found if set under instance name (not config class).
sim/param.cc:
Make Param<bool> accept "1" for true and "0" for false.
--HG--
extra : convert_revision :
f40d0878d0f03b2e216f0506c05d0e52db608cca
Erik Hallnor [Mon, 5 Apr 2004 05:09:46 +0000 (01:09 -0400)]
Make BusBridge bidirectional. Add a new slave and master interface to help accomplish this.
--HG--
extra : convert_revision :
41bf9ce95e2965e13f7325b0b0b3be198ca86aee
Steve Reinhardt [Sat, 3 Apr 2004 21:46:10 +0000 (13:46 -0800)]
More {Itb,Dtb} -> {ITB,DTB} renames (forgot to test build KERNEL).
Also missed renames in a bunch of config files somehow.
(See previous changeset for list of renames.)
arch/alpha/alpha_memory.cc:
arch/alpha/ev5.cc:
arch/alpha/faults.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/simple_cpu/simple_cpu.hh:
More {Itb,Dtb} -> {ITB,DTB} renames (forgot to test build KERNEL).
--HG--
extra : convert_revision :
b2c6ca0916b72b59895520fcacaf028667560a0d