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
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
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
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
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
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
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
on various platforms.
base/hashmap.hh:
gcc on Alpha doesn't always define __LP64__,
even though it arguably should.
cpu/exec_context.cc:
Clear register file on non-full-system too (even though
it typically gets overwritten by the initial regs from
the Process object).
sim/process.cc:
Clear initial register copy in Process object.
Not all regs get initialized when the executable is loaded.
--HG--
extra : convert_revision : f1fe4734a5ea81331d70994cb5284b1e9db0dceb
base/loader/elf_object.cc:
The symbol versioning stuff screws up OpenBSD. We don't need it anyway
--HG--
extra : convert_revision : 736d5c1baaf7f5727665f84cc08e3781e193b389
base/time.cc:
base/time.hh:
Don't set the current time in the constructor. Use a flag and
make the default to not set the time.
Change reset() to set(). Dunno. Just seems right.
--HG--
extra : convert_revision : 5a3b09ed30376d4863b45b2bae551ba1c3aff8e1
to do it:
in .ini file set binned_fns=foo null bar foo
what this says is, track foo when it is called by null (i.e. anything). bin bar only when it is called by foo.
essentially, if you have a path of functions to track, the 0th, 2nd, 4th fn listed are the fns to track, and the 1st, 3rd, 5th are their respective callers.
base/statistics.hh:
turn it back to FS_MEASURE since we already have a build in place
kern/tru64/tru64_events.cc:
remove FS_MEASURE #defs. add more DPRINTF's. manage an anomaly that happens when tracking idle_thread.
kern/tru64/tru64_events.hh:
remove FS_MEASURE #defs
kern/tru64/tru64_system.cc:
make DumpState print all the time, but only with DPRINTF. add a new parameter to tru64System a vector<string> binned_fns, to read in from .ini file. now all this binning stuff is dynamically generated.
kern/tru64/tru64_system.hh:
remove all static binning stuff, add support for dynamic
sim/system.cc:
change nonPath bin name to Kernel, remove FS_MEASURE
sim/system.hh:
change nonPath to Kernel
--HG--
extra : convert_revision : 9ee813c0a64273bab4125815b7bc8145c5897ec1
code.
base/statistics.hh:
We're getting rid of FS_MEASURE, but for now, we're going
to still use a compile time flag to turn on and off binning
of statistics. (The flag is STATS_BINNING)
cpu/exec_context.cc:
cpu/exec_context.hh:
kern/tru64/tru64_system.cc:
get rid of FS_MEASURE
cpu/simple_cpu/simple_cpu.cc:
yank the function call tracking code out of the cpu and move
it into the software context class itself.
kern/tru64/tru64_system.hh:
get rid of FS_MEASURE
move all of the tacking stuff to the same place.
sim/system.hh:
cleanup
--HG--
extra : convert_revision : 73d3843afe1b3ba0d5445421c39c1148d3f4e7c0
(very painful) bus reset from occuring
base/loader/elf_object.cc:
Fixed to allow proper loading of local symbols
--HG--
extra : convert_revision : 5c9a1f4d7b5748a1c8cabdfd67763c21f988f8fd
arch/alpha/vtophys.cc:
base/remote_gdb.cc:
Fix to remote debugger while in PAL code
dev/pcidev.cc:
Remove extra debug printf
--HG--
extra : convert_revision : e64988846ad05cd3ddf47034d72d99dae3501591
- Make the MemoryController use address ranges (via Range) instead
of an address and a mask
base/remote_gdb.cc:
reflect name change
dev/alpha_access.h:
better include
dev/alpha_console.cc:
- FunctionalMemory no longer takes care of mapping my address into
the proper address space. It must be done locally.
- the memory controller no longer uses a mask, but a size, and the
size is determined by the device, not the .ini file
- fix up address calculations to reflect the removal of a mask
- PhysicalMemory::getSize() -> PhysicalMemory::size()
dev/alpha_console.hh:
- FunctionalMemory no longer takes care of mapping my address into
the proper address space. It must be done locally.
- the memory controller no longer uses a mask, but a size, and the
size is determined by the device, not the .ini file
- fix up address calculations to reflect the removal of a mask
- get rid of MmapDevice and inherit from FunctionalMemory
--HG--
extra : convert_revision : e3a65c9debf6f899632d62c70781cbdc2826616b
base/range.hh:
Add a constructor that takes the beginning and end as arguments
size returns T not a bool
quick make_range() function that is a shortcut for making a range
kinda like make_pair()
quick formatting fix
--HG--
extra : convert_revision : 94b1d462710e6fb55e72e1da2ad8c46993af1ef7
to be consistent with the way that the stl works. It also makes
lots of other stuff easier. (Maybe those guys were smart?)
Overload the various comparison operators so that you can test
for overlapping of ranges, etc.
base/range.hh:
Totally rework the Range class. Now the range is from [start, end)
to be consistent with the way that the stl works. It also makes
lots of other stuff easier. (Maybe those guys were smart?)
Overload the various comparison operators so that you can test
for overlapping of ranges, etc.
make parse function private and offer operator= instead
isValid -> valid
and for you erik, I add comments
test/Makefile:
add range.o
test/rangetest.cc:
better tests
--HG--
extra : convert_revision : dd58720aa3d02f20b03e933f2eaa3320c82bb27a
The last change only caught the ones with types that
started with capitals. This pass catches the rest
(mostly STL and uint*_t types).
base/cprintf_formats.hh:
cpu/simple_cpu/simple_cpu.cc:
sim/serialize.cc:
sim/serialize.hh:
Change "foo_t& foo" to "foo_t &foo".
--HG--
extra : convert_revision : fc7f7425db2aef33e490f952b5ce74c8c36d0d41
base/kgdb.h:
Remove flags that aren't used
base/remote_gdb.cc:
Better debugging:
- Give each class a name() function so that the trace infrastructure
knows the correct object name.
- Make the remote debugger capable of detach.
- Split out the RGDB trace flag into a bunch of specific flags.
Remove dead code
Add a new trap type
base/remote_gdb.hh:
Add a name() to the various objects for the trace system
base/trace.hh:
don't need a using directive
add DPRINTFNR: debug printf, no flag, raw output
kern/tru64/tru64_system.cc:
use the INT trap type instead of IF
--HG--
extra : convert_revision : 25e610216c6f43d5d328651bba915f71bade059e
This primarily to be internally consistent (sometimes we used one,
sometimes the other, even within the same line of code!).
I picked the latter to be symmetric with "Foo *foo".
base/cprintf_formats.hh:
base/range.hh:
base/refcnt.hh:
base/res_list.hh:
base/statistics.hh:
base/str.hh:
cpu/exec_context.hh:
cpu/simple_cpu/simple_cpu.cc:
cpu/simple_cpu/simple_cpu.hh:
sim/serialize.cc:
sim/serialize.hh:
sim/syscall_emul.hh:
Change "Foo& foo" declarations to "Foo &foo".
--HG--
extra : convert_revision : ca1b0e85a578b539214bda3b8d61ac23792f2e87
not while printing out the data. This allows the data
to be dumped more than once.
base/cprintf.hh:
need a destructor
--HG--
extra : convert_revision : 235e9fe24488ac4c0ae1b562ef9fa6e0bd1e899c
statStream catchall that we had before)
Also provide an optional output directory that multiple simulator output
files can be written to.
Make most output files use the output directory
base/misc.cc:
send warnings to the outputStream as well
base/trace.cc:
dprintf_stream defaults to cerr
dev/console.cc:
use the output directory for the console output if it exists
dev/etherdump.cc:
dump to the output directory if it exists
sim/builder.cc:
sim/builder.hh:
move constructor and destructor to .cc file
use a function to get the stream that the builder dumps its
output to, and create a separate file in the output directory
if able
sim/main.cc:
statStream -> outputStream
sim/serialize.cc:
dump checkpoints to the output directory if specified
sim/universe.cc:
provide an output stream for simulator output. (This takes place of the
statStream catchall that we had before)
Also provide an optional output directory that multiple simulator output
files can be written to.
--HG--
extra : convert_revision : 03abce20edbbf7ec19c9ddd8d69ec8485c383532
arch/alpha/isa_desc:
don't say warn: Warning:
base/misc.cc:
avoid printing two newlines in a row
sim/main.cc:
print out a message just before we enter the event queue
--HG--
extra : convert_revision : 2a824d4b67661903fc739a0fb0759aa91d72382c
but did not test... however the only thing this
affects in libelf is the header, so I don't expect
any functional problems.
base/loader/elf_object.cc:
Set LIBELF_LINUX to 0 to build on zax.
--HG--
extra : convert_revision : d024b33deff6fc8ea6f1d465f76dc8d9d63254ab
to find and remove stats from the files so we can put less
burden on the python interpreter.
base/statistics.cc:
Manually insert newlines into the python code so that we now have one
stat per line. (Make it so we can use grep -v to remove stats)
test/stattest.cc:
update to reflect changes in how python is accessed
--HG--
extra : convert_revision : 554edcf9c795b33d00d3d15554447c8accebebfa
base/loader/elf_object.cc:
- Use program header instead of section headers for loading.
The old code doesn't work for Alpha/Linux user binaries.
- Deal properly with single-segment ELF executables (e.g. kernels)...
haven't tested this but it looks like it matches the functionality
of the patch the L4::Pistachio guys sent.
- Factor load symbol code into one common function.
- Some formatting to match style conventions.
- Only include libelf stuff in .cc file, not .hh.
base/loader/elf_object.hh:
- Use program header instead of section headers for loading.
The old code doesn't work for Alpha/Linux user binaries.
- Factor load symbol code into one common function.
- Only include libelf stuff in .cc file, not .hh.
--HG--
extra : convert_revision : 782062d09d43083b01e65cd645c941f49c27640a