Ali Saidi [Thu, 18 May 2006 17:33:14 +0000 (13:33 -0400)]
add regStats() back to ide_disk
add sinic back to sconscript file
SConscript:
add sinic back to sconscript file
dev/ide_disk.hh:
add regStats() back to ide_disk
--HG--
extra : convert_revision :
a25083993190ceadde977283fbd1fb64e8e7ef86
Ali Saidi [Thu, 18 May 2006 16:52:37 +0000 (12:52 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.nm_m5_pull
--HG--
extra : convert_revision :
f7ceb689dc5594c746e22a27d6061a767daba261
Ali Saidi [Thu, 18 May 2006 16:52:16 +0000 (12:52 -0400)]
fix ide stats and make sinic compile after merge.
dev/ide_disk.cc:
fix dma stats
dev/sinic.cc:
make sinic compile
--HG--
extra : convert_revision :
fbea04ca58f6ab52e98108f7c2b12917c2fe22d6
Steve Reinhardt [Thu, 18 May 2006 02:08:44 +0000 (22:08 -0400)]
Get basic full-system working with AtomicSimpleCPU.
SConscript:
Comment out sinic for now... needs to be fixed to compile under newmem.
configs/test/SysPaths.py:
Fix paths.
configs/test/fs.py:
SimpleCPU -> AtomicSimpleCPU
Fix vmlinux path
cpu/simple/atomic.cc:
Fix suspendContext() so quiesce works.
Don't forget to checkForInterrupts().
cpu/simple/base.cc:
Minor fix to interrupt check code.
dev/ide_disk.hh:
Don't declare regStats() in header since it's not in
.cc file anymore (will need to add it back in when
stats are added back).
dev/io_device.cc:
Set packet dest to Packet::Broadcast.
dev/pciconfigall.cc:
Set PCI config packet result to Success.
python/m5/objects/Root.py:
Add debug object to Root so things like break_cycles
can be set from command line.
--HG--
extra : convert_revision :
aa1c652fe589784e753e13ad9acb0cd5f3b6eafb
Ali Saidi [Wed, 17 May 2006 03:58:37 +0000 (23:58 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
efa962c4ea614e22e8964f6979cd7c9dcd4ee866
Ali Saidi [Wed, 17 May 2006 03:58:31 +0000 (23:58 -0400)]
add single fs newmem test
--HG--
extra : convert_revision :
895beeae44a36f585656e33a4a403dbedbe694ea
Steve Reinhardt [Tue, 16 May 2006 21:36:50 +0000 (17:36 -0400)]
Split SimpleCPU into two different models, AtomicSimpleCPU and
TimingSimpleCPU, which use atomic and timing memory accesses
respectively. Common code is factored into the BaseSimpleCPU class.
AtomicSimpleCPU includes an option (simulate_stalls) to add delays
based on the estimated latency reported by the atomic accesses.
Plain old "SimpleCPU" is gone; I have not updated all the config
files (just test/test.py).
Also fixes to get timing accesses working in new memory model and
to get split-phase memory instruction definitions working with
new memory model as well.
arch/alpha/isa/main.isa:
Need to include packet_impl.h for functions that use Packet objects.
arch/alpha/isa/mem.isa:
Change completeAcc() methods to take Packet object pointers.
Also split out StoreCond template for completeAcc(), since
that's the only one that needs write_result and we get an
unused variable warning if we always have it in there.
build/SConstruct:
Update list of recognized CPU model names.
configs/test/test.py:
Change SimpleCPU to AtomicSimpleCPU.
cpu/SConscript:
Define sources for new CPU models.
Add split memory access methods to CPU model signatures.
cpu/cpu_models.py:
cpu/static_inst.hh:
Define new CPU models.
cpu/simple/base.cc:
cpu/simple/base.hh:
Factor out pieces specific to Atomic or Timing models.
mem/bus.cc:
Bus needs to be able to route timing packets based on explicit dest
so responses can get back to requester. Set dest to Packet::Broadcast
to indicate that dest should be derived from address.
Also set packet src field based on port from which packet is sent.
mem/bus.hh:
Set packet src field based on port from which packet is sent.
mem/packet.hh:
Define Broadcast destination address to indicate that
packet should be routed based on address.
mem/physical.cc:
Set packet dest on response so packet is routed
back to requester properly.
mem/port.cc:
Flag blob packets as Broadcast.
python/m5/objects/PhysicalMemory.py:
Change default latency to be 1 cycle.
--HG--
rename : cpu/simple/cpu.cc => cpu/simple/base.cc
rename : cpu/simple/cpu.hh => cpu/simple/base.hh
extra : convert_revision :
e9646af6406a20c8c605087936dc4683375c2132
Steve Reinhardt [Tue, 16 May 2006 00:30:20 +0000 (20:30 -0400)]
Many files:
Get rid of more unneeded includes.
base/hostinfo.cc:
base/inet.cc:
base/remote_gdb.cc:
cpu/simple/cpu.cc:
dev/alpha_console.cc:
dev/disk_image.cc:
dev/ns_gige.cc:
dev/sinic.cc:
mem/physical.cc:
sim/param.cc:
sim/process.cc:
sim/pseudo_inst.cc:
test/cprintftest.cc:
Get rid of more unneeded includes.
--HG--
extra : convert_revision :
f531ae40db3787f2c55df7d251f251ecae4ab731
Steve Reinhardt [Tue, 16 May 2006 00:06:42 +0000 (20:06 -0400)]
Many files:
Fix sstream includes
arch/alpha/tlb.cc:
base/cprintf.hh:
base/cprintf_formats.hh:
base/crc.cc:
base/statistics.cc:
base/statistics.hh:
base/stats/text.cc:
cpu/memtest/memtest.cc:
cpu/simple/cpu.cc:
dev/pcidev.cc:
sim/eventq.cc:
Fix sstream includes
--HG--
extra : convert_revision :
fd69937ea26b4961e92f1736fa44daa16f54698d
Ali Saidi [Mon, 15 May 2006 21:52:50 +0000 (17:52 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
base/loader/elf_object.cc:
removed SPARC32PLUS since it doesn't work.
--HG--
extra : convert_revision :
620a1c75cdeefbeeb97383d92335cf319d9c9444
Ali Saidi [Mon, 15 May 2006 21:37:03 +0000 (17:37 -0400)]
Add support for sparc/solaris syscall emulation. Not tested yet because I can't get a static sparc 64 binary
arch/sparc/SConscript:
arch/sparc/process.cc:
base/loader/elf_object.cc:
Add support for sparc/solaris syscall emulation.
--HG--
extra : convert_revision :
e22df8476e5c6ae14db1cab1d94d01c0578ea06c
Ali Saidi [Mon, 15 May 2006 21:35:51 +0000 (17:35 -0400)]
fix typo, headers protection should be named __DIR_DIR_..._FILE_HH__
--HG--
extra : convert_revision :
18268bfcb8575a33659ae94b821e1f4cc9b7d821
Gabe Black [Mon, 15 May 2006 03:58:23 +0000 (23:58 -0400)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
--HG--
extra : convert_revision :
2db5529a9fbe8c62e57cad05f093c915f9713c67
Gabe Black [Mon, 15 May 2006 03:57:21 +0000 (23:57 -0400)]
Fixed some problems with signed vs. unsigned numbers which were breaking conditional moves and signed divisions. Also did some minor clean ups.
--HG--
extra : convert_revision :
6389ec18387a68ea5b675badfe1fd10cd30c264d
Gabe Black [Mon, 15 May 2006 03:56:16 +0000 (23:56 -0400)]
Made the decoder handle reg_or_imm type arguments with type qualifiers.
--HG--
extra : convert_revision :
f0ec58d754401fa6f3d64998355644882c5f5c96
Gabe Black [Mon, 15 May 2006 03:55:07 +0000 (23:55 -0400)]
Made EM_SPARC32PLUS be recognized as belonging to the SPARC architecture. Programs which have this set will not work because the stack works differently, so this should probably throw an error and quit.
--HG--
extra : convert_revision :
b770045cad02d30445de0d7cc4d8c611a0ac931f
Gabe Black [Mon, 15 May 2006 03:53:29 +0000 (23:53 -0400)]
Moved the UnimpFault to be global
--HG--
extra : convert_revision :
a42224c70c475c1559e83b8a2ef71ff3b792a3ab
Gabe Black [Mon, 15 May 2006 03:52:45 +0000 (23:52 -0400)]
Copied Korey's MIPS tests over to SPARC
--HG--
extra : convert_revision :
bcfefd77c35245ce938ecb9bb46e97ad07377db8
Ali Saidi [Fri, 12 May 2006 22:51:42 +0000 (18:51 -0400)]
Merge zeep.pool:/z/saidi/work/m5.head
into zeep.pool:/z/saidi/work/m5.nm_m5_pull
--HG--
extra : convert_revision :
fc90e4e8eefd78a3b7554e06fbc666965794753b
Ali Saidi [Fri, 12 May 2006 22:51:23 +0000 (18:51 -0400)]
replace /.automount/ with /n/
--HG--
extra : convert_revision :
8b9ad49fa7e2e8863ebaf3f6709fc4fda62f2862
Ali Saidi [Fri, 12 May 2006 22:16:07 +0000 (18:16 -0400)]
Merge zeep.pool:/z/saidi/work/m5.head
into zeep.pool:/z/saidi/work/m5.nm_m5_pull
SConscript:
dram memory needs to be converted to newmem before we can use it
dev/ide_ctrl.cc:
don't need this printing in newmem
dev/ide_disk.cc:
will read stats in next commit
dev/sinic.cc:
merge sinic from head, still needs work
--HG--
extra : convert_revision :
b9aabd8c7814d07d54ce6f971aad3ec349fa24e1
Ali Saidi [Fri, 12 May 2006 21:47:23 +0000 (17:47 -0400)]
fix the checkpoint bug
--HG--
extra : convert_revision :
1ccae3282737d70b14ff86c8647e2e662a42c3bc
Korey Sewell [Fri, 12 May 2006 06:57:32 +0000 (02:57 -0400)]
FP programs are back to running... Condition Codes can be read and set...
Special Regs (Hi,Lo,FCSR) are now added to the operands for use in decoder.isa.
Now it's back to just debugging execution of code for the release (those unaligned
memory access instruction pairs are still quite the pain i might add)
arch/mips/isa_traits.hh:
declare functions for .cc file
arch/mips/isa_traits.cc:
delete unnecessary overloaded functions
implement condition code functions
implement round function
arch/mips/isa/base.isa:
remove R31 constant... define in the operands.isa file instead
arch/mips/isa/decoder.isa:
wholesale changes once again to FP.
Now the FP Condition Codes are implemented and the FP programs can
run and complete to finish.
Use isnan() instead of my unorderedFP() function
Also, we now access special regs such as HI,LO,FCSR,etc. just like we do any other reg. operand
arch/mips/isa/operands.isa:
add more operands for special control regs in int and FP regfiles
arch/mips/isa/formats/branch.isa:
use R31 instead of r31
arch/mips/isa/formats/fp.isa:
use MakeCCVector to set Condition Codes in FCSR
arch/mips/regfile/float_regfile.hh:
treat control regs like any other reg. Just Index them after the regular architectural registers
arch/mips/regfile/int_regfile.hh:
treat hi,lo as regular int. regs w/special indexing
arch/mips/regfile/regfile.hh:
no longer need for special register accesses with their own function.
--HG--
rename : arch/mips/regfile.hh => arch/mips/regfile/regfile.hh
extra : convert_revision :
5d2f8fdb59606de2b2e9db3e0a085240561e479e
Ron Dreslinski [Thu, 11 May 2006 21:26:11 +0000 (17:26 -0400)]
Initialize the count on the number of devices drained properly.
--HG--
extra : convert_revision :
80833647202985d1c1c7d23c6896831fcd27ff40
Ron Dreslinski [Thu, 11 May 2006 21:24:15 +0000 (17:24 -0400)]
First pass at a serializer object, may need to work on naming of object and functions:
Intended Use:
A SimObject will call the serializer when it needs the state to be serializable (i.e. switchCPUs, checkpoint, switch memory access model). It will call the requestSeialization() function.
The Serializer will signal all the objects in its list to drain their state via the SimObject method drain(). Drain() has a default implementation to just signal done.
When each object is drained it will signal the Serializer that it has drained via the signalDrained() function.
The Serializer will collect these signals, when all have drained it will signal the initial requestor via serializationComplete() method in the SimObject.
Once that object is done, it will signal the Serializer to resumeExecution().
The Serializer will signal all the objects in its list to resume via the resume() method on the SimObject.
SConscript:
Add serializer object to build list
sim/sim_object.cc:
Add default behavior for drain (just signal finished, must be overided if you really must drain something)
sim/sim_object.hh:
Add functions for serializer
--HG--
extra : convert_revision :
15aa2d1b42010c2d703bef9114c11d079c216170
Ali Saidi [Thu, 11 May 2006 21:19:17 +0000 (17:19 -0400)]
make the dma buffer equal to the max dma size
--HG--
extra : convert_revision :
87adee6c2239f67976675c9291dc4fbaa4f67507
Ali Saidi [Thu, 11 May 2006 21:18:19 +0000 (17:18 -0400)]
ide printing to match newmem
--HG--
extra : convert_revision :
ca6665bd93d257a8cf9d43600828ac22998c5810
Ali Saidi [Thu, 11 May 2006 21:17:47 +0000 (17:17 -0400)]
make m5 panic a little more verbose
--HG--
extra : convert_revision :
32f52d829040c06c8a62cab1a7af1ed3b453b6f9
Korey Sewell [Thu, 11 May 2006 07:26:19 +0000 (03:26 -0400)]
Fixes for Paired-Single FP Compare Operations...
Now all the variations of FP should be implemented correctly in the decoder.
The new formats and functions supporting these functions need to be implemented for
some of the FP stuff but for the most part things are looking like their "supposed to"...
arch/mips/isa/decoder.isa:
Fixes for Paired-Single FP Compare Operations...
Now all the variations of FP should be implemented correctly in the decoder.
arch/mips/isa/formats/fp.isa:
Add new PS formats
arch/mips/isa_traits.cc:
Add skeleton overloaded round & truncate functions
arch/mips/isa_traits.hh:
declare overloaded functions
--HG--
extra : convert_revision :
15d5cf7b08ac2dc9ebcd6b268e92d4abffdd8597
Korey Sewell [Thu, 11 May 2006 00:54:03 +0000 (20:54 -0400)]
Support for FP Paired Single Operations
Auxiliary Functions and Formats for FP in general
arch/mips/isa/decoder.isa:
ISA Parser doesnt accept operands of different types in one instruction so fix this for unorderedFP functions...
Add basic support for Paired Singled (PS) FP ops which happen to be part of the MIPS 32-ASE but turned out to
be included in the MIPS32ISA manual... The PS instructions allow SIMD in a pipeline...
arch/mips/isa/formats/fp.isa:
Add some more Formats for FP operation. I will add some auxiliary code through these formats
to alleviate code redundancy in the decoder.isa
arch/mips/isa/operands.isa:
Add operands for Paired Singles Ops
arch/mips/isa_traits.cc:
removed convert&round function and replace with fpConvert.
The whole "rounding mode" stuff is something that should be considered for full-system mode...
Also added skeletons for the unorderedFP,truncFP,and condition code funcs.
arch/mips/isa_traits.hh:
declare some Functions
arch/mips/types.hh:
add new conversion types
--HG--
extra : convert_revision :
79251d590a27b74a3d6a62a2fbb937df3e59963f
Korey Sewell [Wed, 10 May 2006 22:34:26 +0000 (18:34 -0400)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem
--HG--
extra : convert_revision :
0a146eed200abd2c18f135b112987c5cf91a649b
Korey Sewell [Wed, 10 May 2006 20:52:27 +0000 (16:52 -0400)]
revamping code to appropriately handle FP condition code and conversion ops.
There still needs to be a work around to handle the paired singles operations ...
arch/mips/isa/decoder.isa:
More revamping of the floating point ops in decoder.isa. Change all of the
"convert and round" functions to fpConvert. Also, the utility functions
roundFP, truncFP, and unorderedFP are in place everywhere. Things
have been set up to appropriately use the FP condition codes in the decoder.isa
The fp.isa format file and the isa_traits.cc file now needed to be updated
to implement the appropriate "backend" operations/functionality...
arch/mips/isa_traits.hh:
Remove convert & round functions
Add roundFP, truncFP,unorderedFP, and the get/setFPconditionCode
functions
arch/mips/isa_traits.cc:
Add utility functions
--HG--
extra : convert_revision :
3d6708388abae5b432467f528d52e6343afecd9c
Korey Sewell [Wed, 10 May 2006 12:33:52 +0000 (08:33 -0400)]
decoder.isa:
Now handles instructions for FP compares in single or double recision
arch/mips/isa/decoder.isa:
Now handles instructions for FP compares in single or double recision
--HG--
extra : convert_revision :
eb3a13616e6736bf2d1ead0b816dda8c6099b20f
Korey Sewell [Tue, 9 May 2006 19:18:36 +0000 (15:18 -0400)]
decoder.isa:
Basic Code for Floating Point Compare with Single Precision Floats
Added.
arch/mips/isa/decoder.isa:
Basic Code for Floating Point Compare with Single Precision Floats
Added.
--HG--
extra : convert_revision :
56b14da1e9d987c2d2090fd2f79af8b12fe8d2ec
Korey Sewell [Tue, 9 May 2006 18:39:45 +0000 (14:39 -0400)]
decoder.isa:
Added support for FP compare instructions. Somehow these flew beneath
my radar. Also, I start to use special FP utility functions in FP code.
Right now, they are defined in isa_traits.hh but may be moved in the
future
arch/mips/isa/decoder.isa:
Added support for FP compare instructions. Somehow these flew beneath
my radar. Also, I start to use special FP utility functions in FP code.
Right now, they are defined in isa_traits.hh but may be moved in the
future
--HG--
extra : convert_revision :
84a3b66882f3977ce9c1356cf466d62a7fd8bf19
Steve Reinhardt [Tue, 9 May 2006 16:43:01 +0000 (12:43 -0400)]
Print M5 build options for 'scons -h'.
--HG--
extra : convert_revision :
14ef62e513987b89e913e2bf9b8771ee086ed0a0
Korey Sewell [Mon, 8 May 2006 07:59:40 +0000 (03:59 -0400)]
Start working on more complex FP tests
Debug FP instructions to handle these FP insts
arch/mips/isa/bitfields.isa:
add Bitfield for Floating Point Condition Codes
arch/mips/isa/decoder.isa:
Follow instruction naming style with FP single insts
Send the float value to the convert&round functions in single FP
add ll inst support
add 'token' sc support
arch/mips/isa_traits.cc:
Add SINGLE->WORD, WORD->SINGLE, & WORD->DOUBLE conversions
arch/mips/regfile.hh:
update header files
arch/mips/regfile/float_regfile.hh:
Add more FP registers
--HG--
rename : arch/mips/int_regfile.hh => arch/mips/regfile/int_regfile.hh
rename : arch/mips/misc_regfile.hh => arch/mips/regfile/misc_regfile.hh
extra : convert_revision :
92faf0bfd8542ade762ac569ec158d198f6a9c7e
Korey Sewell [Sun, 7 May 2006 22:50:41 +0000 (18:50 -0400)]
First Steps in cleaning up MIPS code - This changeset rearranges the files in the MIPS directory by moving where constants/types/classes are defined
arch/mips/SConscript:
arch/mips/isa_traits.cc:
arch/mips/isa_traits.hh:
arch/mips/process.cc:
arch/mips/linux/linux.cc:
arch/mips/utility.hh:
arch/mips/linux/process.cc:
arch/mips/int_regfile.hh:
arch/mips/misc_regfile.hh:
arch/mips/regfile.hh:
arch/mips/types.hh:
MIPS directory rearranging
--HG--
rename : arch/mips/mips_linux.cc => arch/mips/linux/linux.cc
rename : arch/mips/mips_linux.hh => arch/mips/linux/linux.hh
rename : arch/mips/linux_process.cc => arch/mips/linux/process.cc
rename : arch/mips/linux_process.hh => arch/mips/linux/process.hh
extra : convert_revision :
138eee48c8ed75efcf38572f335a556aaec38fc7
Korey Sewell [Sun, 7 May 2006 18:09:19 +0000 (14:09 -0400)]
Minor changes for FP ... MIPS now works for floating-point programs...
Now we are to the point where more benchmarks and instruction-coverage
is necessary to totally verify/validate correct operation across
all MIPS instructions
arch/mips/isa_traits.hh:
fix for reading double values ... must rearrange bits before using void* to read double.
configs/test/hello_mips:
real hello world MIPS binary
--HG--
extra : convert_revision :
153de1f8a830882c6972bd0bdb56da818f614def
Korey Sewell [Sun, 7 May 2006 17:26:15 +0000 (13:26 -0400)]
Basic MIPS floating point test works now ... I had to realize that when using the double FP reg the
register with the higher # contains the most significant bytes...
arch/mips/isa/decoder.isa:
divide instruction fixes
arch/mips/isa_traits.cc:
use double as argument to cvt & round function.
clean up cout statements in function.
arch/mips/isa_traits.hh:
In MIPS the higher # reg of a doubles pair is ALSO the most significant reg.
Once I switched this the basic MIPS FP test I had worked.
--HG--
extra : convert_revision :
45c80df229e6174d0b52fc7cfb530642b1f1fc35
Korey Sewell [Fri, 5 May 2006 01:21:11 +0000 (21:21 -0400)]
take-out debug only code
arch/mips/isa/formats/fp.isa:
take out debug-only code
--HG--
extra : convert_revision :
12c320b4b1432a626acefc496ec7a188c8b3fb66
Korey Sewell [Fri, 5 May 2006 01:10:51 +0000 (21:10 -0400)]
Merge zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem
--HG--
extra : convert_revision :
c48a8857f5a520ff8061eb3d8f08dcd43661e68c
Korey Sewell [Fri, 5 May 2006 00:49:24 +0000 (20:49 -0400)]
recognized 32 & 64 bit unsigned integer types and set the width appropriately
arch/mips/isa_traits.hh:
debug statements to be taken out real soon like...
--HG--
extra : convert_revision :
4e9abcb99c991db93328d01d7606a2bb942b29ee
Korey Sewell [Wed, 3 May 2006 00:05:16 +0000 (20:05 -0400)]
Redo the FloatRegFile using unsigned integers
Edit the convert_and_round function which access FloatRegFile
arch/isa_parser.py:
recognize when we are writing a 'uint64_t' FloatReg and set the width appropriately
arch/mips/isa/decoder.isa:
Send a 'float' to the convert function instead of a unsigned word. Do this so we dont have to worry about the
bit manipulation ourselves. We can just concern ourselves with values.
Use unsigned double to get movd...
arch/mips/isa/formats/fp.isa:
float debug statement
arch/mips/isa_traits.cc:
add different versions of convert_and_round functions
arch/mips/isa_traits.hh:
Use an array of uint32_t unsigned integers to represent the Floating Point Regfile
configs/test/hello_mips:
basic FP program
cpu/simple/cpu.hh:
spacing
--HG--
extra : convert_revision :
a6fca91ad6365c83025f1131d71fa1b8ee76d7bc
Nathan Binkert [Tue, 2 May 2006 15:45:42 +0000 (11:45 -0400)]
Fix some of lisa's barchart changes
util/stats/barchart.py:
- there is no self.inner_axes
- don't append an empty value to self.xsubticks, otherwise
subsequent calls will get extra empty ticks
- rotate labels 30 degrees instead of 90 so it looks better
--HG--
extra : convert_revision :
1cbac6d1f92bfc6b2c1e886ad5f9d4c78a2b3820
Ali Saidi [Mon, 1 May 2006 22:53:28 +0000 (18:53 -0400)]
move code from packet.hh to packet.cc and packet_impl.hh
fix very annoying not-compiler bug
arch/sparc/regfile.hh:
You have not included an out-of-class definition of your static members. See [9.4.2]/4 and about a billion gcc bug reports.
If statements get around the problem through some magic, and than seems nicer that putting a definition of them in a c file
somewhere.
cpu/simple/cpu.cc:
get() and set() do the conversion now
dev/io_device.hh:
need get() and set() defentions in all the devices
mem/packet.cc:
mem/packet.hh:
move code from packet.hh to packet.cc
mem/physical.cc:
packet_impl needed for templated packet functions
--HG--
extra : convert_revision :
6c11842aa928d9af7b4cabe826306fe1fe09e693
Gabe Black [Sun, 30 Apr 2006 05:46:00 +0000 (01:46 -0400)]
Got hello world to work!
arch/sparc/isa/decoder.isa:
Made sure if a register was assigned to along some control path, then all paths on which no exception would block commit set a value as well. Also, Rs1 is treated as signed for bpr instructions.
arch/sparc/isa/formats/integerop.isa:
Added an IntOpImm11 class which sign extends the SIMM11 immediate field.
arch/sparc/isa/formats/mem.isa:
Fixed how offsets are used, and how disassembly is generated.
arch/sparc/linux/process.cc:
Added fstat and exit_group syscalls.
--HG--
extra : convert_revision :
3b4427d239d254a92179a4137441125b8a364264
Ali Saidi [Sat, 29 Apr 2006 21:37:25 +0000 (17:37 -0400)]
fixes for se
mem/packet.cc:
mem/port.hh:
fix for se compilation
--HG--
extra : convert_revision :
ac960e295f6b51875898245fb55383a59b06cac6
Ali Saidi [Fri, 28 Apr 2006 19:41:22 +0000 (15:41 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
d6f7c4dd146613eeba39249f2d916a77108bc8c1
Ali Saidi [Fri, 28 Apr 2006 19:41:14 +0000 (15:41 -0400)]
don't need BusBridge.py anymore
--HG--
extra : convert_revision :
9ec26ee61d4bc68f1dcd1a8ac162c9519b8e6fde
Ali Saidi [Fri, 28 Apr 2006 19:40:45 +0000 (15:40 -0400)]
random mix of tidbits
configs/test/fs.py:
update fs.py to use a bus bridge
cpu/simple/cpu.hh:
cpu should just return that it doesn't snoop any address ranges
python/m5/objects/System.py:
move boot_osflags to system
--HG--
extra : convert_revision :
b4256df7eada7e65b69513361de8bffc3fdd680b
Ali Saidi [Fri, 28 Apr 2006 19:38:43 +0000 (15:38 -0400)]
devices should increment pkt.time instead of assiging to it
--HG--
extra : convert_revision :
b4ca3c7fc13bf0856eb2a800a11d5611b473ec3e
Ali Saidi [Fri, 28 Apr 2006 19:37:48 +0000 (15:37 -0400)]
add a bridge object, modify bus object to be able to connect to other buses or bridges without panicing
SConscript:
add new cc files to scons
mem/bus.cc:
mem/bus.hh:
implement addressRanges() on the bus.
propigate address ranges to anyone who is interested stripping out ranges of who your propigating to (to avoid livelock)
mem/packet.hh:
add intersect function that returns true if two packets touch at least one byte of the same data (for functional access)
add fixPacket() that will eventually take the correct action giving a timing and functional packet, right now it panics
mem/physical.cc:
Don't panic if the physical memory recieves a status change, just ignore.
--HG--
extra : convert_revision :
d470d51f2fb1db2700ad271e09792315ef33ba01
Ali Saidi [Fri, 28 Apr 2006 19:34:03 +0000 (15:34 -0400)]
Add SparcSystem object
arch/alpha/system.hh:
sim/system.hh:
make boot_osflags apply to all systems
--HG--
extra : convert_revision :
48cf903fd92be250b86817210951b85fa5e74632
Gabe Black [Fri, 28 Apr 2006 19:07:44 +0000 (15:07 -0400)]
Fixed constants to work on 32 bit hosts
--HG--
extra : convert_revision :
acc8e6f60cfdca518fa45afef4165395cba23d4f
Gabe Black [Fri, 28 Apr 2006 18:03:42 +0000 (14:03 -0400)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
cpu/simple/cpu.cc:
Hand merged
--HG--
extra : convert_revision :
68414730c23d41c30cfb7bcfa604029a5fc8622c
Gabe Black [Fri, 28 Apr 2006 17:13:58 +0000 (13:13 -0400)]
Added byteswapping code
--HG--
extra : convert_revision :
67bf0689399328a728a0f3130d58d483e5f2f06e
Gabe Black [Fri, 28 Apr 2006 17:13:35 +0000 (13:13 -0400)]
Improved the initial stack frame
arch/sparc/isa/formats/mem.isa:
Added some debugging output
--HG--
extra : convert_revision :
cea88e2b3eddfa4e60bbbcb02f459d274d80db2e
Gabe Black [Fri, 28 Apr 2006 17:12:46 +0000 (13:12 -0400)]
Added an include which was forgotten
--HG--
extra : convert_revision :
ad76ab45358787edddb89910049bac7cca288824
Gabe Black [Fri, 28 Apr 2006 17:12:17 +0000 (13:12 -0400)]
Fixed up some syscalls
--HG--
extra : convert_revision :
f9a32e14fa4d4d4710df83dbf54cb77482ba5d03
Gabe Black [Fri, 28 Apr 2006 17:11:32 +0000 (13:11 -0400)]
Changed the hello_sparc executable back to the cross compiled one
--HG--
extra : convert_revision :
565f75f76dd26ca0e25de4c89d1597a9f39483fd
Gabe Black [Fri, 28 Apr 2006 17:10:52 +0000 (13:10 -0400)]
Some debugging of the ccr bits
--HG--
extra : convert_revision :
b3d100b2e34dcecc3ba33c9ad4b0b7e40c210ecc
Gabe Black [Fri, 28 Apr 2006 17:10:03 +0000 (13:10 -0400)]
Added in handling of the annul bit for branches, and fixed up computation of ccr bits.
--HG--
extra : convert_revision :
ed38d26e13d25e21819dd32d159f1ee4ffcc780b
Gabe Black [Fri, 28 Apr 2006 17:08:45 +0000 (13:08 -0400)]
Added a linux.cc file to mesh with Korey's changes
--HG--
extra : convert_revision :
2073c1cda4799a60fce917f227018dd2e52456a3
Korey Sewell [Fri, 28 Apr 2006 07:05:11 +0000 (03:05 -0400)]
More Modest Changes for FP MIPS execution...
arch/mips/isa/decoder.isa:
Fix Reg. Operands for FP Conversion Instructions - Must Make Sure That You use 'uw' or 'ud' as needed.
arch/mips/isa_traits.cc:
if a conversion function isnt implemented yet, than have M5 panic...
(plan to implement SINGLE_TO_DOUBLE first)
--HG--
extra : convert_revision :
6a7f703a5d65139d3981a8753c31fc8f5bf313cf
Korey Sewell [Fri, 28 Apr 2006 04:24:25 +0000 (00:24 -0400)]
Use lower two bits of FCSR reg to determine rounding mode (may want to move this out of decoder.isa and into a template)
Have FP conversion instructions use re-defined convert_and_round() function
arch/mips/isa/decoder.isa:
Use lower two bits of FCSR reg to determine rounding mode (may want to move this out of decoder.isa and into a template)
Have FP conversion instructions to use re-defined convert_and_round() function
arch/mips/isa/formats/util.isa:
Remove convert_and_round function from here
arch/mips/isa_traits.cc:
Define convert_and_round function here
arch/mips/isa_traits.hh:
Use "enums" to define FP conversion types & Round Modes
Declare convert_and_round function here
--HG--
extra : convert_revision :
0f4f8c1732a53b277361559ea71af2a1feb4fc64
Korey Sewell [Thu, 27 Apr 2006 20:44:12 +0000 (16:44 -0400)]
change readPC() + 4 to readNextPC() and the same for NNPC ...
arch/mips/isa/decoder.isa:
remove useless cout statements
arch/mips/isa_traits.hh:
space
--HG--
extra : convert_revision :
8b8cf5df6fc3eb92598360343eb887c35cda202d
Korey Sewell [Thu, 27 Apr 2006 09:07:11 +0000 (05:07 -0400)]
Rewrite CFC1 & CTC1 instruction definitions
Use Load/Store Float Memory Formats for FP mem insts
Fix Load/Store into FP to not create a "nop" if it sees reg 0 at the defintion
arch/mips/isa/decoder.isa:
Rewrite CFC1 & CTC1 instruction definitions
Use Load/Store Float Memory Formats for FP mem insts
arch/mips/isa/formats/fp.isa:
comment changes
arch/mips/isa/formats/mem.isa:
Fix Load/Store Float Memory Formats
--HG--
extra : convert_revision :
ef1cb7a78452f8dff044b05c89e61bec866bf1b7
Nathan Binkert [Wed, 26 Apr 2006 21:52:33 +0000 (17:52 -0400)]
Major update to sinic to support VSINIC better
dev/sinic.cc:
- Size the virtualRegs array based on the configured value
- Add debugging stuff for uniquely identifying vnic usage
- Only count totally unprocessed packets when notifying via RxDone
- Add initial virtual address support
- Fix some bugs in accessing packets out of order to make sure that
busy packets are processed first
- Add fifo watermark stuff
- Make number of vnics, zero/delay copy and watermarks parameters
dev/sinic.hh:
add rxUnique and txUnique to uniquely identify tx and rx VNICs
Create a separate list of Busy VNICs since more than one might
be busy and we want to service those first
Add more watermark stuff and new parameters
dev/sinicreg.hh:
Make the number of virtual nics a read-only parameter
add bits for ZeroCopy/DelayCopy
rename Virtual to Vaddr so it's not ambiguous
Add a flag for TxData/RxData to indicate a virtual address
Report rxfifo status in RxDone
python/m5/objects/Ethernet.py:
add more options for the fifo thresholds
add number of vnics as a parameter
add copy type as a parameter
add virtual addressing as a parameter
--HG--
extra : convert_revision :
850e2433b585d65469d4c5d85ad7ca820db10f4a
Nathan Binkert [Wed, 26 Apr 2006 21:36:06 +0000 (17:36 -0400)]
Bit of formatting for sinicreg.hh
dev/sinicreg.hh:
Formatting
--HG--
extra : convert_revision :
267a63f866342b34d9be680d7aa54c2490fb8fd9
Korey Sewell [Wed, 26 Apr 2006 20:13:47 +0000 (16:13 -0400)]
Changes to get Floating Point Instructions w/new regfile to at least not segfault and break my INT tests
arch/mips/isa/decoder.isa:
Change decoder to read COP1 (floating point) instructions to decode correctly
arch/mips/isa_traits.hh:
Change to use overlapping single/double FP regfile
--HG--
extra : convert_revision :
2d15d6d88939f7e0d63279d5c35d7eea536a573c
Nathan Binkert [Tue, 25 Apr 2006 14:57:08 +0000 (10:57 -0400)]
more debugging for sinic
dev/sinic.cc:
more debugging
fix assert
--HG--
extra : convert_revision :
11ac750080f1e65415ff3735011c0b830fbcf72f
Nathan Binkert [Tue, 25 Apr 2006 14:40:35 +0000 (10:40 -0400)]
more debugging for sinic
dev/sinic.cc:
better panic messages
better debugging
--HG--
extra : convert_revision :
06a9c6c8365ba1c1e58276ed63f299c6be25f0ba
Nathan Binkert [Tue, 25 Apr 2006 14:20:37 +0000 (10:20 -0400)]
Fix segfault in sinic
dev/sinic.cc:
check that there is a fault before testing the fault type
--HG--
extra : convert_revision :
0cc95ba660655766b779e77d912dbc685cd476a8
Ali Saidi [Mon, 24 Apr 2006 23:31:50 +0000 (19:31 -0400)]
Mostly done with all device models for new memory system. Still need to get timing packets working and get sinic working
after merge from head. Checkpointing may need some work now. Endian-happiness still not complete.
SConscript:
add all devices back into make file
base/inet.hh:
dev/etherbus.cc:
dev/etherbus.hh:
dev/etherdump.cc:
dev/etherdump.hh:
dev/etherint.hh:
dev/etherlink.cc:
dev/etherlink.hh:
dev/etherpkt.cc:
dev/etherpkt.hh:
dev/ethertap.cc:
dev/ethertap.hh:
dev/pktfifo.cc:
dev/pktfifo.hh:
rename PacketPtr EthPacketPtr so it doesn't conflict with the PacketPtr type in the memory system
configs/test/fs.py:
add nics to fs.py
cpu/cpu_exec_context.cc:
remove this check, as it's not valid. We may want to add something else back in to make sure that no one can delete the
static virtual ports in the exec context
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
dev/alpha_console.cc:
dev/ide_ctrl.cc:
use new methods for accessing packet data
dev/ide_disk.cc:
add some more dprintfs
dev/io_device.cc:
delete packets when we are done with them. Update for new packet methods to access data
dev/isa_fake.cc:
dev/pciconfigall.cc:
dev/tsunami_cchip.cc:
dev/tsunami_io.cc:
dev/tsunami_pchip.cc:
dev/uart8250.cc:
dev/uart8250.hh:
mem/physical.cc:
mem/port.cc:
dUpdate for new packet methods to access data
dev/ns_gige.cc:
Update for new memory system
dev/ns_gige.hh:
python/m5/objects/Ethernet.py:
update for new memory system
dev/sinic.cc:
dev/sinic.hh:
Update for new memory system. Untested as need to merge in head because of kernel driver differences between versions
mem/packet.hh:
Add methods to access data instead of accessing it directly.
--HG--
extra : convert_revision :
223f43876afd404e68337270cd9a5e44d0bf553e
Ali Saidi [Thu, 20 Apr 2006 21:14:30 +0000 (17:14 -0400)]
make ide disk work for newmem
SConscript:
compile ide devices
base/chunk_generator.hh:
add another parameter to the chuck generator called complete() which
returns the number of bytes transfered so far. Very useful for
adding to a pointer.
configs/test/fs.py:
Add ide disk to fs test configuration
dev/ide_ctrl.cc:
dev/ide_ctrl.hh:
dev/ide_disk.cc:
dev/ide_disk.hh:
dev/io_device.cc:
dev/io_device.hh:
dev/pciconfigall.cc:
dev/pciconfigall.hh:
dev/pcidev.cc:
dev/pcidev.hh:
update for new memory system
mem/bus.cc:
support devices that return multiple ranges
remove old ranges before using new info
mem/packet.hh:
make senderstate void* per steve's request that we use every
construct possible in C++
mem/physical.cc:
have memory stamp the packet with the time.
mem/physical.hh:
actually set the memory latency variable
python/m5/objects/Device.py:
Add DmaDevice
python/m5/objects/Ide.py:
Ide disk no longer has a physmem pointer
python/m5/objects/Pci.py:
update pci device for newmem
python/m5/objects/PhysicalMemory.py:
add latency parameter for physical memory
sim/byteswap.hh:
use fast architecture dependent byteswap calls if they exist
--HG--
extra : convert_revision :
e3cf2e8f61064ad302d94bc22010a00c59f3f793
Ali Saidi [Tue, 18 Apr 2006 17:49:32 +0000 (13:49 -0400)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
bf142c05ad4880513ee3438e1fdf62070a6049e3
Ali Saidi [Tue, 18 Apr 2006 17:49:23 +0000 (13:49 -0400)]
dwarf debugging symbols make gdb much happier than stabs. Use them
and maximum debugging in for debug target.
No such thing as -O5 in GCC, so might as well just use -O3
--HG--
extra : convert_revision :
f2e02c4f95c57eace010e75e2457193353088308
Gabe Black [Tue, 18 Apr 2006 13:44:45 +0000 (09:44 -0400)]
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
--HG--
extra : convert_revision :
3eb97976caf57e43119a998c31128ca6f163c05b
Gabe Black [Tue, 18 Apr 2006 13:44:24 +0000 (09:44 -0400)]
Changed MIPS and Alpha to pass the syscall number to the syscall function
arch/alpha/isa/decoder.isa:
Fixed up Alpha to pass the syscall number directly to the syscall function.
arch/mips/isa/decoder.isa:
Fixed up MIPS to pass the syscall number directly to the syscall function.
arch/mips/isa/operands.isa:
Added an R2 operand which is passed to the syscall function as the syscall number to use.
--HG--
extra : convert_revision :
066d486cd6a2761b29e413c6d526c268788975f3
Gabe Black [Tue, 18 Apr 2006 13:27:22 +0000 (09:27 -0400)]
Fixes to SPARC syscall emulation mode.
arch/sparc/isa/base.isa:
Added a set of abbreviations for the different condition tests.
arch/sparc/isa/decoder.isa:
Fixes and additions to get syscall emulation closer to working.
arch/sparc/isa/formats/branch.isa:
Fixed branches so that the immediate version actually uses the immediate value
arch/sparc/isa/formats/integerop.isa:
Compute the condition codes -before- writing to the state of the machine.
arch/sparc/isa/formats/mem.isa:
An attempt to fix up the output of the disassembly of loads and stores.
arch/sparc/isa/formats/trap.isa:
Added code to disassemble a trap instruction. This probably needs to be fixed up so there are immediate and register versions.
arch/sparc/isa/operands.isa:
Added an R1 operand, and fixed up the numbering
arch/sparc/isa_traits.hh:
SyscallNumReg is no longer needed, the max number of sources and destinations are fixed up, and the syscall return uses xcc instead of icc.
arch/sparc/linux/process.cc:
arch/sparc/linux/process.hh:
Added a getresuidFunc syscall implementation. This isn't actually used, but I thought it was and will leave it in.
arch/sparc/process.cc:
arch/sparc/process.hh:
Fixed up how the initial stack frame is set up.
arch/sparc/regfile.hh:
Changed the number of windows from 6 to 32 so we don't have to worry about spill and fill traps for now, and commented out the register file setting itself up.
cpu/cpu_exec_context.hh:
cpu/exec_context.hh:
cpu/simple/cpu.hh:
sim/process.cc:
sim/process.hh:
Changed the syscall mechanism to pass down the syscall number directly.
--HG--
extra : convert_revision :
15723b949a0ddb3d24e68c079343b4dba2439f43
Ali Saidi [Mon, 17 Apr 2006 18:55:15 +0000 (14:55 -0400)]
change packet: reset() to resetMin() resetAll() which reset the minium
and the entire packet respectively.
--HG--
extra : convert_revision :
70b8bc8a2cf304d4c955d1a997df4a9a8edd4989
Kevin Lim [Fri, 14 Apr 2006 15:59:18 +0000 (11:59 -0400)]
Quick fix for the CPU not printing out the right address upon re-execution of a load that missed in the cache.
Split mem ops will solve this problem in the future.
--HG--
extra : convert_revision :
5bb921998aa0408d568030ef544b9905c4038bb2
Korey Sewell [Fri, 14 Apr 2006 07:42:02 +0000 (03:42 -0400)]
These fixes now allow all of the 20 mips tests to work properly!
Floating Point Mips Tests still need to be added, tested, and debugged.
arch/mips/isa/decoder.isa:
Fix mult and multu instructions. This semantic error causes the problem: <int64> = <int32> * <int32>. Although I was placing
the output into a 64-bit integer the multiply was just doing a 32-bit multiply so the solution is to just use
the 'sd' & 'ud' operands so that the ISA parser will use the int64_t and uint64_t types in calculation.
arch/mips/isa/formats/int.isa:
Trace output fix. Don't print first comma unless there is a destination register for sure!
--HG--
extra : convert_revision :
2c503dca70b104fed0b58454975f745dd3cc2eee
Korey Sewell [Thu, 13 Apr 2006 21:40:16 +0000 (17:40 -0400)]
update Hello World binary for mips... the old one did not have a newline
--HG--
extra : convert_revision :
f015cac39e42e11b1a56bbd1c5cf07403eb8f2da
Korey Sewell [Thu, 13 Apr 2006 20:47:32 +0000 (16:47 -0400)]
Move RLIMIT constants to OS/ISA specific files instead of generic OS container classes
Update MIPS/Linux constants
arch/alpha/linux/linux.hh:
move RLIMIT constants to ALPHA/Linux class
arch/alpha/tru64/tru64.hh:
move RLIMIT constants to ALPHA/Tru64 class
arch/mips/mips_linux.hh:
update MIPS constants for MIPS/Linux
kern/linux/linux.hh:
remove RLIMIT constants from generic Linux class... these are now in ISA specific / OS specific classes
kern/tru64/tru64.hh:
remove RLIMIT constants from generic Tru64 class... these are now in ISA specific / OS specific classes
--HG--
extra : convert_revision :
2e2743d73ab18fcd558a5765cb4ef0e9671bd1d7
Korey Sewell [Thu, 13 Apr 2006 09:47:35 +0000 (05:47 -0400)]
remove non-needed files
--HG--
extra : convert_revision :
6900ff6972e92bb1bcb4736cce948784c6b905e1
Korey Sewell [Thu, 13 Apr 2006 09:42:18 +0000 (05:42 -0400)]
Changes that get rid of the OSFlags and derive a new class of this format <architecture>-<OS>.
This class is derived from the original <OS> class and is used to define information that
is both architecure and OS specific (for example, the AlphaLinux class is derived from the
Linux class and defined in arch/alpha/linux/linux.hh).
SConscript:
no need to compile linux.cc and tru64.cc now, since openFlagsTable has been moved
arch/alpha/SConscript:
compile linux.cc and tru64.cc within alpha arch.
arch/alpha/linux/process.cc:
template syscall functions on AlphaLinux instead of Linux ... AlphaLinux is derived off of Linux
arch/alpha/tru64/process.cc:
template syscall functions on AlphaTru64 instead of Linux ... AlphaTru64 is derived off of Linux
moved tableFunc syscall function into this file
arch/mips/SConscript:
compile mips_linux.cc for openFlags table
arch/mips/isa_traits.hh:
remove constants from here
arch/mips/linux_process.cc:
template syscall functions on MipsLinux instead of Linux ... MipsLinux is derived off of Linux
kern/linux/linux.hh:
remove OSFlags
kern/tru64/tru64.hh:
remove OSFlags def., openFlagTable, and tableFunc ...
sim/syscall_emul.hh:
go back to using "OS" instead of "OSFlags"
arch/alpha/linux/linux.cc:
defines openFlagTable
arch/alpha/linux/linux.hh:
arch/alpha/tru64/tru64.hh:
Alpha Linux constants placed here in class derived from Linux class
arch/alpha/tru64/tru64.cc:
defines openFlagTable for AlphaTru64
arch/mips/mips_linux.cc:
MIPS Linux open flag table
arch/mips/mips_linux.hh:
Mips Linux constants placed here in class derived from Linux class
--HG--
extra : convert_revision :
e6c1c2c895429c28fd141732e223e897ab19315e
Ali Saidi [Wed, 12 Apr 2006 21:46:32 +0000 (17:46 -0400)]
Merge zizzer:/bk/newmem
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
5fc80b28362c4acc4dee576f60296b81aea004f2
Ali Saidi [Wed, 12 Apr 2006 21:46:25 +0000 (17:46 -0400)]
fs now gets to the point where it would really like a filesystem.
Time to make the ide device work
arch/alpha/system.cc:
write the machine type and rev in the correct place
cpu/simple/cpu.cc:
reset the packet structure every time it's reused... wow the
simple cpu code for talking to memory is getting horrible.
dev/alpha_console.cc:
move the setAlphaAccess to startup() to make sure that the console
binary is loaded
dev/tsunami_cchip.cc:
dev/tsunami_pchip.cc:
dev/uart8250.cc:
fix a couple of bugs injected in the newmem fixes
mem/bus.cc:
More verbose bus tracing
mem/packet.hh:
Add a constructor to packet to set the result to unknown and a reset
method in the case it's being reused
mem/vport.hh:
don't need are own read/write methods since the base functional port
ones call writeBlob readBlob which do the translation for us
--HG--
extra : convert_revision :
8d0e2b782bfbf13dc5c59dab1a79a084d2a7da0a
Korey Sewell [Wed, 12 Apr 2006 07:51:09 +0000 (03:51 -0400)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-mips
--HG--
extra : convert_revision :
4eff6e7ee7a25b8f5fdad7342b195a869cf528d6
Korey Sewell [Wed, 12 Apr 2006 07:44:45 +0000 (03:44 -0400)]
add OSFlags struct to AlphaISA/MipsISA namespace. The OS classes then use these OSFlags to access architecture-specific AND OS-specific
flags for their functions (e.g. OS::OSFlags::TG_MAP_ANONYMOUS)...
arch/alpha/tru64/process.cc:
sim/syscall_emul.hh:
Add OSFlags to code
arch/mips/isa/decoder.isa:
slight decoder changes (more stylistic then anything)
arch/mips/isa/formats/util.isa:
spacing
arch/mips/isa_traits.hh:
add OSFlags struct to MipsISA namespace. The OS classes then use these OSFlags to access architecture-specific and OS-specific
flags for their functions
kern/linux/linux.hh:
remove constant placement ... define OSFlags in linux.hh
kern/tru64/tru64.hh:
define OSFlags in tru64
--HG--
extra : convert_revision :
59be1036eb439ca4ea1eea1d3b52e508023de6c9
Ali Saidi [Tue, 11 Apr 2006 23:35:30 +0000 (19:35 -0400)]
change how much of the param string is copied into the kenel
Set locked flag if required
make SC always return success -- this needs to be fixed at some point
fix a couple of things
FS executes a bit of console code before dying a horrible death
arch/alpha/linux/system.cc:
only need to copy the length of the os flags param, not 256 bytes
cpu/simple/cpu.cc:
Set the physical flag if required
Make LL/SC always return success
mem/bus.cc:
add some dprintfs and change a assert to a panic
mem/port.cc:
delete the buffer with the [] operator
mem/request.hh:
add a function to reset a request
--HG--
extra : convert_revision :
f2b78ddad33c7f6ffe1c48791d86609ff1d10d46
Ali Saidi [Tue, 11 Apr 2006 17:43:15 +0000 (13:43 -0400)]
Merge zizzer:/bk/newmem
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
ef75b46b9c1c267c84e6bb2b2234d46c4edcda16
Ali Saidi [Tue, 11 Apr 2006 17:42:47 +0000 (13:42 -0400)]
fullsys now builds and runs for about one cycle
SConscript:
easier to fix than temporarily remove
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
mem needed for both fullsys and syscall
dev/baddev.cc:
fix for new mem system
dev/io_device.cc:
fix typo
dev/io_device.hh:
PioDevice needs to be a memobject
dev/isa_fake.cc:
dev/pciconfigall.cc:
dev/pciconfigall.hh:
fix for new mem systems
dev/platform.cc:
dev/platform.hh:
dev/tsunami.cc:
dev/tsunami.hh:
rather than the platform have a pointer to pciconfig, go the other
way so all devices are the same and can have a platform pointer
dev/tsunami_cchip.cc:
dev/tsunami_io.cc:
dev/tsunami_io.hh:
dev/tsunami_pchip.cc:
dev/tsunami_pchip.hh:
dev/uart8250.cc:
python/m5/objects/AlphaConsole.py:
python/m5/objects/BadDevice.py:
python/m5/objects/BaseCPU.py:
python/m5/objects/Device.py:
python/m5/objects/Pci.py:
python/m5/objects/PhysicalMemory.py:
python/m5/objects/System.py:
python/m5/objects/Tsunami.py:
python/m5/objects/Uart.py:
fixes for newmem
--HG--
extra : convert_revision :
b7b67e19095cca64889f6307725aa2f3d84c7105
Korey Sewell [Tue, 11 Apr 2006 05:20:38 +0000 (01:20 -0400)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-mips
--HG--
extra : convert_revision :
977cae02ac9e38143952bfd54f13b321577715f2
Korey Sewell [Tue, 11 Apr 2006 05:17:28 +0000 (01:17 -0400)]
Lots of MIPS test files :
Will remove these in future merge but it is just way easier to keep all these tests in
their own repo folder so I wont have to reset these up every time I pull from bitkeeper
--HG--
extra : convert_revision :
ad9b8797fb16edad0323ee48aba1aa4551ea1cb7
Steve Reinhardt [Tue, 11 Apr 2006 00:02:36 +0000 (20:02 -0400)]
Clean up mmapFunc.
sim/syscall_emul.hh:
Clean up mmapFunc: args should be aligned and PageTable::allocate
already handles multi-page allocations, so most of thw work done here
was unnecessary (as far as I can tell). I didn't test this beyond
compiling though...
--HG--
extra : convert_revision :
d79591a1cc58ea82ea911cc05e0970e81e1d2c60
Korey Sewell [Mon, 10 Apr 2006 22:41:25 +0000 (18:41 -0400)]
edit to test_mips config file
arch/mips/isa_traits.hh:
add FIR misc reg (was lost in merge)
--HG--
extra : convert_revision :
b056c9a307e5de08ff8cc4dfc541342d25c141b8
Ali Saidi [Mon, 10 Apr 2006 18:40:22 +0000 (14:40 -0400)]
Panic if physical memory isn't connected to anything
send range change at init for all devices
dev/io_device.cc:
dev/io_device.hh:
add init function for pio devices to sent status changes around
mem/physical.cc:
mem/physical.hh:
Panic if physical memory isn't connected to anything
--HG--
extra : convert_revision :
4223d1c3c73522d1e196c218eb0084d238677ad9