Commit graph

2511 commits

Author SHA1 Message Date
Steve Reinhardt
284e3e9c46 Add script to generate new build directories.
--HG--
extra : convert_revision : 2d2455ced5b33476bf88483c81ddf447a0658be2
2005-08-30 23:53:35 -04:00
Steve Reinhardt
87dfb4050e Fix to work with older versions of mysql_config that don't support --include.
Also add mysql version check.

--HG--
extra : convert_revision : 36b6174ed1c64e8c5516f6adee71f27e068ceca2
2005-08-30 23:34:36 -04:00
Steve Reinhardt
c4793184bd Build options are set via a build_options file in the
build directory instead of being inferred from the name
of the build directory.
Options are passed to C++ via config/*.hh files instead of
via the command line.  Build option flags are now always
defined to 0 or 1, so checks must use '#if' rather than
'#ifdef'.

SConscript:
    MySQL detection moved to SConstruct.
    Add config/*.hh files (via ConfigFile builder).
arch/alpha/alpha_memory.cc:
arch/alpha/ev5.cc:
arch/alpha/ev5.hh:
arch/alpha/isa_traits.hh:
base/fast_alloc.hh:
base/statistics.cc:
base/statistics.hh:
base/stats/events.cc:
base/stats/events.hh:
cpu/base.cc:
cpu/base.hh:
cpu/base_dyn_inst.cc:
cpu/base_dyn_inst.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/o3/alpha_cpu.hh:
cpu/o3/alpha_cpu_builder.cc:
cpu/o3/alpha_cpu_impl.hh:
cpu/o3/alpha_dyn_inst.hh:
cpu/o3/alpha_dyn_inst_impl.hh:
cpu/o3/alpha_params.hh:
cpu/o3/commit_impl.hh:
cpu/o3/cpu.cc:
cpu/o3/cpu.hh:
cpu/o3/fetch_impl.hh:
cpu/o3/iew.hh:
cpu/o3/iew_impl.hh:
cpu/o3/regfile.hh:
cpu/o3/rename_impl.hh:
cpu/o3/rob_impl.hh:
cpu/ozone/cpu.hh:
cpu/pc_event.cc:
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
sim/process.cc:
sim/process.hh:
    Convert compile flags from def/undef to 0/1.
    Set via #include config/*.hh instead of command line.
arch/alpha/isa_desc:
    Convert compile flags from def/undef to 0/1.
    Set via #include config/*.hh instead of command line.
    Revamp fenv.h support... most of the ugliness is hidden
    in base/fenv.hh now.
base/mysql.hh:
    Fix typo in #ifndef guard.
build/SConstruct:
    Build options are set via a build_options file in the
    build directory instead of being inferred from the name
    of the build directory.
    Options are passed to C++ via config/*.hh files instead of
    via the command line.
python/SConscript:
    Generate m5_build_env directly from scons options
    instead of indirectly via CPPDEFINES.
python/m5/convert.py:
    Allow '0' and '1' for booleans.
    Rewrite toBool to use dict.
base/fenv.hh:
    Revamp <fenv.h> support to make it a compile option
    (so we can test w/o it even if it's present) and to
    make isa_desc cleaner.

--HG--
extra : convert_revision : 8f97dc11185bef5e1865b3269c7341df8525c9ad
2005-08-30 13:18:54 -04:00
Steve Reinhardt
e007aa59e3 Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : dc9d0dc344389063f7b2026bd7cf737bdab3ee8b
2005-08-26 08:18:23 -04:00
Steve Reinhardt
50186d1320 Add explicit check for Python version to SConstruct.
build/SConstruct:
    Add explicit check for Python version.

--HG--
extra : convert_revision : 19ee788f72d63eb301e4be4c0c5729a5025c379f
2005-08-26 08:18:12 -04:00
Nathan Binkert
bdd78df6d8 better debugging of the configuration builder.
--HG--
extra : convert_revision : 9c51937e8bcc1ff93e24bd507d662fd50b5de6a0
2005-08-23 11:47:55 -04:00
Nathan Binkert
c0de2e7f12 Clean up the passing of the boot command line to the kernel.
kern/linux/linux_system.cc:
    Don't hard code the address of the command line in the kernel,
    instead, deduce it from the location of known symbols.
    don't use strcpy, it's dangerous.
kern/linux/linux_system.hh:
    Don't hard code the address of the command line in the kernel,
    instead, deduce it from the location of known symbols.

--HG--
extra : convert_revision : 128b1d5dbd00b0b8571707da99f86f76e29abfd1
2005-08-23 11:47:12 -04:00
Nathan Binkert
c761aaae65 Lots of fixes to serialization and naming of various device
objects.  The improper serialization of arrays was particularly
bad.

dev/alpha_console.cc:
dev/isa_fake.cc:
dev/ns_gige.cc:
dev/pciconfigall.cc:
dev/tsunami_cchip.cc:
dev/tsunami_io.cc:
dev/tsunami_pchip.cc:
    the pio interface is a different simobject and should have a
    different name.
dev/ethertap.cc:
    fix serialization.
dev/ide_ctrl.cc:
    - the pio interface is a different simobject and should have a
    different name.
    - properly initialize variables
    - When serializing an array, the size is the number of elements,
    not the number of bytes!
dev/pcidev.cc:
    When serializing an array, the size is the number of elements,
    not the number of bytes!
dev/tsunami_io.hh:
    Don't make objects SimObjects if they're not exposed to python.
    Don't add serialization functions to events, it's generally not
    what you want.
    allow the real time clock and interval timer to serialize themselves,
    must pass a base name since it is not a SimObject and the values will
    be going into the section of the parent.

--HG--
extra : convert_revision : 3fc5de9b858ed770c8f385cf38b53242cf859c33
2005-08-23 11:45:52 -04:00
Nathan Binkert
1771ee203f don't use sprintf. It's not guaranteed to not scribble over memory.
base/remote_gdb.cc:
    use snprintf, it's safer
dev/ide_disk.cc:
    use strncpy instead of snprintf

--HG--
extra : convert_revision : 90455e3f6bcb4c771724298a5a0b79a5b483a85c
2005-08-23 11:38:27 -04:00
Steve Reinhardt
03e256b0f0 A few minor fixes to get things to build on Cygwin.
README:
    Clarify cygwin EIO error explanation.
build/SConstruct:
    Cygwin header files cause uninitialized var warnings.
dev/ide_ctrl.cc:
    Get rid of unnecessary byte-swap calls, some of which were
    too ambiguous for cygwin (or gcc 3.4.4).
dev/pcidev.cc:
    Disambiguate arg for overloaded byte swap operation
    (and fix it to be the correct one).

--HG--
extra : convert_revision : be37c6315aacbec6332b1d09e726b39b4aa18dce
2005-08-19 17:10:17 -04:00
Steve Reinhardt
40696ccda2 Minor tweaks for 1.1 release.
README:
    Updated for release 1.1.  Clarified several minor things (I hope).

--HG--
extra : convert_revision : a088f670739d33765611ce413b96854a1b51bb0f
2005-08-19 00:10:45 -04:00
Nathan Binkert
cee0d47e15 Fix another bug from the freebsd merge
--HG--
extra : convert_revision : b153b0c12b6678df148839617954a9a4c6fec7d4
2005-08-18 14:19:11 -04:00
Nathan Binkert
4f53a4705e Fix a couple of turbolaser problems that were introduced by the
new freebsd code.

dev/ns_gige.cc:
    g++ doesn't like it when you declare a variable inside a case
    label.  Pull the declaration outside.

--HG--
extra : convert_revision : d39e84fc58f2dd5b09c5948eedb4b1d7848e9817
2005-08-18 13:29:40 -04:00
Benjamin Nash
568868d38f Clean up freebsd_system.cc.
kern/freebsd/freebsd_system.cc:
    Use htog instead of htoa.

--HG--
extra : convert_revision : 09224d60ce5bb3827c9f046127ff6fc72fa008d6
2005-08-16 16:08:42 -04:00
Benjamin Nash
979d609656 Merge zed.eecs.umich.edu:/.automount/fox/y/mserrano/m5_dir/m5
into  zed.eecs.umich.edu:/z/benash/bk/m5

--HG--
extra : convert_revision : 9b7ca872187a13179118ad0651301d531332dc63
2005-08-16 15:45:30 -04:00
Miguel Serrano
1906abcde0 Uart fix.
dev/uart8250.cc:
    Fixed implementation of "transmit interrupt clear".

--HG--
extra : convert_revision : cb69d61413ea799d5d3825fe2f0891dd72995561
2005-08-16 15:44:57 -04:00
Benjamin Nash
0d82e0f8b6 Merge m5.eecs.umich.edu:/bk/m5
into  zed.eecs.umich.edu:/z/benash/bk/m5

--HG--
extra : convert_revision : 36bb126381caf84d85a566579225b02c15f8f356
2005-08-16 15:27:39 -04:00
Nathan Binkert
09bb203484 Updates to job scripts to accept more than 15 characters of jobname
Make the Link directory even more useful by working with
sub-directories.

util/pbs/job.py:
    Expose JOBNAME as a separate parameter from PBS_JOBNAME.  If the
    former exists, it is used as the jobname for starting the job, if
    it doesn't exist, PBS_JOBNAME is used.  This is to get around the 15
    character maximum pbs job name length.  While we're at it, shuffle
    things around to hopefully make things a bit more clear.
util/pbs/send.py:
    Make the Link directory functionality more sophisticated, copy
    sub-directories and links to directories.  (we still don't copy
    dotfiles though)
    Add the setname() function to contact pbs and use raj's hack to
    tell the webpage about longer jobnames. (it's gross, don't look)
    truncate the pbs job name to 15 characters so that it works.

--HG--
extra : convert_revision : 4a76b1a1c33721c7ca93e2fbb761f95bc3a2ac69
2005-08-16 11:27:49 -04:00
Benjamin Nash
bcc333e920 Merge zed.eecs.umich.edu:/.automount/fox/y/mserrano/m5_dir/m5
into  zed.eecs.umich.edu:/z/benash/bk/m5

dev/ide_ctrl.cc:
dev/ide_ctrl.hh:
dev/ide_disk.cc:
dev/ide_disk.hh:
dev/ns_gige.cc:
dev/pciconfigall.cc:
dev/pcidev.cc:
dev/rtcreg.h:
dev/tsunami_io.cc:
dev/tsunami_io.hh:
dev/uart8250.cc:
dev/uart8250.hh:
python/m5/objects/Tsunami.py:
    Merge code.

--HG--
extra : convert_revision : e97d5dbcc051d2061622201265430d359f995d48
2005-08-15 17:17:17 -04:00
Miguel Serrano
b64eae5e52 Changes for getting FreeBSD to run.
SConscript:
    Added more files to compile: dev/pcifake.cc, dev/isa_fake.cc, kern/freebsd/freebsd_system.cc, kern/freebsd/freebsd_events.cc.
arch/alpha/isa_traits.hh:
    Added constant for argument register 2 as it is needed by FreebsdSystem::doCalibrateClocks().
cpu/exec_context.hh:
cpu/o3/alpha_cpu.hh:
    Replaced htoa()s with gtoh() and htog().
cpu/o3/fetch_impl.hh:
cpu/simple/cpu.cc:
    Replaced htoa() with gtoh().
dev/disk_image.cc:
    Replaced htoa()s with letoh()s.
dev/ide_ctrl.cc:
    Got rid of magic numbers.
    Added IdeChannel and IdeRegType type names where necessary.
dev/ide_ctrl.hh:
    Got rid of unnecessary macros.
    Changed RegType_t to IdeRegType.
    Changed bmi_regs to allow accessing registers by name instead of just by array index.
    Added IdeChannel enum type to use in place of bool variables which were used to specify IDE channel.
dev/ide_disk.cc:
    Rewrote IdeDisk::read and IdeDisk::write functions to specify registers by name instead of indexing through an array.
dev/ide_disk.hh:
    Updated command register struct.
dev/ns_gige.cc:
dev/ns_gige.hh:
    Made ReadConfig and WriteConfig begin with a lower-case letter.
    writeConfig() now takes a pointer to data as a parameter instead of a copy of data.
dev/pciconfigall.cc:
    writeConfig() now takes a pointer to data as a parameter instead of a copy of data.
dev/pcidev.cc:
    Cleaned up readConfig() and writeConfig() functions.
dev/pcidev.hh:
    Added macros to make code that works with the BARs (base adress registers) more readable. writeConfig() now takes a pointer to data.
dev/pcireg.h:
    Changed PCIConfig struct to make accessing elements more straight forward. Removed type 1 (for PCI-to-PCI bridges) PCI configuration space struct since it is not used.
dev/rtcreg.h:
    Added macros for bit fields in RTC status registers A & B.
dev/sinic.cc:
    Function name change: WriteConfig --> writeConfig.
    writeConfig() now takes a pointer to data instead of a copy of data.
    The accessing of elements of PCIConfig structure is updated.
dev/sinic.hh:
    Function name change: WriteConfig --> writeConfig.
    writeConfig() now takes a pointer to data instead of a copy of data.
dev/tsunami_io.cc:
    Added implementation of new RTC and PIT classes.
dev/tsunami_io.hh:
    Added classes for RTC and PIT modules.
dev/tsunamireg.h:
    Added macros for DMA ports used by Tsunami-Tru64.
dev/uart8250.cc:
    Got rid of a magic number.
    Transmit (Tx) interrupts should clear upon a read of the Interrupt ID register.
dev/uart8250.hh:
    Added comments and macros dealing with the UART Interrupt ID register.
kern/linux/linux_system.cc:
    Replaced htoa() with htog().
python/m5/objects/Pci.py:
    PciFake is a python class for Pci Devices that do nothing.
python/m5/objects/Tsunami.py:
    TsunamiFake was renamed as IsaFake.
sim/system.cc:
    Replaced htoa()s with htog()s.
dev/isa_fake.cc:
    New BitKeeper file ``dev/isa_fake.cc''
    TsunamiFake was renamed as IsaFake.
dev/isa_fake.hh:
    New BitKeeper file ``dev/isa_fake.hh''
    TsunmaiFake was renamed as IsaFake.
dev/pitreg.h:
    New BitKeeper file ``dev/pitreg.h''
    Useful macros for working with PIT (Periodic Interval Timer) registers.

--HG--
extra : convert_revision : 33f3a8a1034af4f6c71b32dd743e371c8613e780
2005-08-15 16:59:58 -04:00
Nathan Binkert
38da461fd7 Fix NextEthernetAddr
python/m5/config.py:
    NextEthernetAddr shouldnt' be a Singleton since we want __init__ to be
    called more than once.
    Make the EthernetAddr class a "proxy" so that unproxy will
    be called and NextEthernetAddr will generally work correctly.

--HG--
extra : convert_revision : c89bf268e805e202ae71030fcea4833867c7e477
2005-08-15 16:12:19 -04:00
Benjamin Nash
49063eb24f Improve FreeBSD networking support.
dev/ns_gige.cc:
    Added FreeBSD support.  Required additional register read/write functionality, hash filtering (faked), and EEPROM read access.
dev/ns_gige.hh:
    Added constants and variables for FreeBSD support.  Also created eepromKick() to advance state machine.
dev/ns_gige_reg.h:
    Defined additional register bit fields.
dev/pcidev.cc:
    Fix &= typo.
dev/sinic.cc:
    Remove an INIT_PARAM_DFLT macro.
dev/tsunami_io.cc:
    Fix DPRINTF typo.
kern/freebsd/freebsd_system.cc:
    Edit comments.

--HG--
extra : convert_revision : 37aaa1303d57d3784381e85acb3bc1743adeb8c0
2005-08-12 18:30:35 -04:00
Benjamin Nash
a115249eb0 Merge zed.eecs.umich.edu:/.automount/fox/y/mserrano/m5_new/m5
into  zed.eecs.umich.edu:/z/benash/bk/m5

SConscript:
dev/ide_disk.hh:
    Formatting.
dev/ide_ctrl.cc:
    Endianness
dev/ide_disk.cc:
dev/pcidev.cc:
dev/tsunami_io.cc:
dev/uart8250.cc:
    Clean up code.

--HG--
extra : convert_revision : cb554f0e3a701371d2106cd7e11a4a22f773acc2
2005-07-28 13:16:45 -04:00
Miguel Serrano
74fd4f68c5 .
SConscript:
    add pcifake
dev/ide_ctrl.cc:
dev/ide_ctrl.hh:
dev/ide_disk.cc:
dev/ide_disk.hh:
    endianess
dev/tsunami_io.cc:
    rtc, date/time

--HG--
extra : convert_revision : 21ad27c780749cb6f6eef2b57798c0c292c3f14d
2005-07-28 11:49:01 -04:00
Miguel Serrano
6a8ae7a6a0 ghgfsdf
dev/pciconfigall.cc:
    removed union.
dev/pcidev.cc:
    .
dev/rtcreg.h:
    more macros to avoid magic numbers.
dev/tsunami_io.cc:
    replaced magic numbers, no more advancing RTC as it isn't reaaly necessary.
dev/tsunami_io.hh:
    removed declarations of things that go unused.
dev/uart8250.cc:
    reading the Interrupt ID register should clear TX interrupt flag.
dev/uart8250.hh:
    useful #defines.
kern/freebsd/freebsd_system.cc:
kern/freebsd/freebsd_system.hh:
    nothing.
python/m5/objects/Pci.py:
    new PciFake.

--HG--
extra : convert_revision : 88259704f5b215591d1416360180810fcda14d26
2005-07-28 11:47:06 -04:00
Benjamin Nash
648c3beb1d Merge m5read@m5.eecs.umich.edu:/bk/m5
into  zed.eecs.umich.edu:/z/benash/bk/m5

--HG--
extra : convert_revision : 5cfec85dbfc33b942929e6d379275618f2c60c33
2005-07-26 12:48:26 -04:00
Benjamin Nash
6e0ad62fdc Various changes to I/O, addition of PciFake device to improve FreeBSD compatibility.
SConscript:
    Include pcifake.cc, fix spacing.
dev/ide_ctrl.cc:
    Consolidate switch-case blocks.
dev/ide_disk.cc:
    Add comments.
dev/pciconfigall.cc:
    Adjust spacing.
dev/pcidev.cc:
    Adjust spacing, rearrange code.
dev/tsunami_io.cc:
    Rearrange code.
dev/uart8250.cc:
    Switch uart interrupt interval back to original value.
python/m5/objects/Pci.py:
    Add PciFake class to be used as a PCI-ISA bridge device.

--HG--
extra : convert_revision : 8aea94318510079a310377f297aa161ba5f7864c
2005-07-26 12:28:33 -04:00
Steve Reinhardt
1e2c16c912 Fix for passing functional memory param to timing mem.
python/m5/config.py:
    Fix error message.

--HG--
extra : convert_revision : 4e57f7bdd4ea7dfdd3e88c60080f993997b0bda2
2005-07-18 19:58:43 -04:00
Steve Reinhardt
4ddad6f782 Fix for bug in using compression in full-system mode.
Involves adding functional memory param
(for full-system mode only, for now).

--HG--
extra : convert_revision : f42cf087969427b5406be0162e13163d3624684f
2005-07-14 07:53:26 -04:00
Benjamin Nash
32b52fe712 Various changes to m5/dev files to work with FreeBSD.
dev/ide_ctrl.cc:
dev/ide_disk.cc:
dev/pcidev.cc:
    Made endian-independent.
dev/ide_disk.hh:
    fixed.
dev/pciconfigall.cc:
    The data to write is contained in a 32-bit unsigned int now. The union method would not have worked on big-endian machines.
dev/pcidev.hh:
    Fixed typo.
dev/tsunami_io.cc:
    Return zero on RTC alarm reads.
dev/uart8250.cc:
    Fix uart interrupt handling.

--HG--
extra : convert_revision : b5c08e8e77644c399c20888666406805ff1b6649
2005-07-13 12:30:13 -04:00
Nathan Binkert
8019b8dcc3 no license in tree
--HG--
extra : convert_revision : 4a9bb7be1e7e3f465ad34b9129b7c1e0578dbfcc
2005-07-06 22:22:01 -04:00
Steve Reinhardt
c1eb93748f config:
Add license.

--HG--
extra : convert_revision : af110213e79464b8f2d970a2e906d1234e818c6d
2005-07-05 21:08:13 -04:00
Benjamin Nash
6d7911dea0 Hand merge ide_disk.cc
dev/ide_disk.cc:
    Don't initialize data to 0.

--HG--
extra : convert_revision : 643bcf15b52c3e14231d8136b8cb049a8896457a
2005-07-01 15:57:14 -04:00
Miguel Serrano
4f2480a18b Merge m5read@m5.eecs.umich.edu:/bk/m5
into zamp.eecs.umich.edu:/.automount/fox/y/mserrano/m5_new/m5

--HG--
extra : convert_revision : bb3e977e79599c459fb32f309ce5b486f1639afa
2005-07-01 15:12:09 -04:00
Miguel Serrano
16a2357e86 .
--HG--
extra : convert_revision : 1ed206b27498641b64d7f35c74ea1f0623398d4e
2005-07-01 15:10:18 -04:00
Benjamin Nash
6bf9703213 Merge m5read@m5.eecs.umich.edu:/bk/m5
into zed.eecs.umich.edu:/z/benash/bk/m5

--HG--
extra : convert_revision : b421397b21326ec2bdd3ce82b9f69e224b380610
2005-07-01 15:07:13 -04:00
Benjamin Nash
81b57af241 Fix formatting, move default size (0x8) of TsunamiFake from C++ code to Python code.
dev/ide_disk.cc:
    Fix formatting.  Panic if unexpected register type is given.
python/m5/objects/Tsunami.py:
    Add default size of TsunamiFake device.

--HG--
extra : convert_revision : 03a35a2f6468b95746cba41ce7e93afeeb70ccef
2005-07-01 13:06:35 -04:00
Steve Reinhardt
efd0c5d4b0 Initialize bpred table pointers.
--HG--
extra : convert_revision : 9999c05b7fb8f66c2b9d5544868994f82d432d19
2005-06-30 21:59:08 -04:00
Benjamin Nash
6cf1740bf5 Remove #include statments in various files within kern/
kern/freebsd/freebsd_system.cc:
kern/freebsd/freebsd_system.hh:
kern/kernel_stats.cc:
kern/kernel_stats.hh:
kern/linux/aligned.hh:
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
kern/linux/linux_threadinfo.hh:
kern/linux/printk.cc:
kern/linux/sched.hh:
kern/linux/thread_info.hh:
kern/system_events.cc:
kern/system_events.hh:
    Remove unecessary #include statements.

--HG--
extra : convert_revision : 7e32d3b096fc92708ea45db9b172bada906024cd
2005-06-30 16:18:07 -04:00
Benjamin Nash
e563acd5c6 Formatting, reduce maximum number of functional memory children.
dev/ide_disk.cc:
dev/pcidev.cc:
    Formatting.

--HG--
extra : convert_revision : 6f5824aa220fe311751fb10ec8648fe64dfa4775
2005-06-30 13:12:12 -04:00
Steve Reinhardt
5107b3bc83 Fixes for cygwin compile.
dev/ide_atareg.h:
    Need endian.h for LITTLE_ENDIAN.
sim/syscall_emul.hh:
    Need to include sys/fcntl.h to get O_BINARY.

--HG--
extra : convert_revision : 606f9506dc483f3952dcc65b8ba25c28001f2c43
2005-06-30 00:42:27 -04:00
Nathan Binkert
ec1f689d0d Easier remote debugging at boot time.
sim/system.cc:
    Add a global variable that will tell the remote debugger to
    wait when a given CPU is is registered.

--HG--
extra : convert_revision : a093c9331daa675d4b59a321e53a5da6ea292c40
2005-06-29 22:20:38 -04:00
Nathan Binkert
451e41c6e9 Fix uninitialized variables in ide controller
dev/ide_ctrl.cc:
    Initialize variables to zero to avoid uninitialized usage.

--HG--
extra : convert_revision : 98fd0bfc2b7530938c6ab3a55345d0e594098238
2005-06-29 22:16:40 -04:00
Benjamin Nash
6c7eeae865 Formatting.
--HG--
extra : convert_revision : c26a04563d571aae2b509eadf9f3eb5f61f3b2f7
2005-06-29 18:44:50 -04:00
Benjamin Nash
93d5b3ece0 Formatting and decrerease maximum number of children in functional memory.
SConscript:
    Adjust formatting.

--HG--
extra : convert_revision : 3665c763f389084136ea88ffbd765a00c49c52c5
2005-06-29 18:11:33 -04:00
Benjamin Nash
eaeb1b6ff0 Merge m5read@m5.eecs.umich.edu:/bk/m5
into zed.eecs.umich.edu:/z/benash/bk/m5

--HG--
extra : convert_revision : a27bb3737d8a7d5c1fadf27f4cb5018d0b6054da
2005-06-29 11:17:12 -04:00
Nathan Binkert
8a0bc84022 Allow CPUs to specify their own CPU ids.
Make the AlphaConsole calculate the number of CPUs instead
of passing that in as a parameter.

cpu/base.cc:
    pass the desired cpu_id into registerExecContext, offsetting it
    by the thread number.  a cpu_id of -1 means that it should be
    generated for you.
cpu/base.hh:
    Take the cpu_id as a parameter
cpu/o3/alpha_cpu_builder.cc:
cpu/simple/cpu.cc:
    Accept the cpu_id as a parameter
    while we're here, let's remove the multiplier since it is
    not used.
dev/alpha_console.cc:
    don't take the number of CPUs as a parameter.  Calculate it from
    the system based on the number of CPUs that have been registered.
    move init() code to startup() to ensure that all CPUs are registerd.
dev/alpha_console.hh:
python/m5/objects/AlphaConsole.py:
    don't take the number of CPUs as a parameter.
    move init() code to startup() to ensure that all CPUs are registerd.
python/m5/objects/BaseCPU.py:
    take the cpu_id as a parameter.  Default it to -1 which means
    that it will be generated.
sim/system.cc:
    allow the registerExecContext functioin to take a desired
    cpu_id as a parameter.  Check to ensure that the id isn't
    already used.  Accept -1 as a request to have an id assigned.
sim/system.hh:
    keep track of the number of registered exec contexts.
    provide a function for accessing the number of exec contexts
    that checks to ensure that they are all registered correctly.

--HG--
extra : convert_revision : 8e12f96ff8a49fa16cdbbdb4c05c651376c35788
2005-06-29 01:20:41 -04:00
Benjamin Nash
bc76a807af Merge m5read@m5.eecs.umich.edu:/bk/m5
into zed.eecs.umich.edu:/z/benash/bk/m5

--HG--
extra : convert_revision : 453615c8194ae9ca96330b7493c6b19fc89c3a72
2005-06-28 14:03:04 -04:00
Nathan Binkert
036a8ceb8d Don't hard code the location of m5AlphaAccess. Instead, move the
code into a function that can be called by the AlphaConsole class.
AlphaConsole will pass in its address.

arch/alpha/ev5.hh:
    Move Phys2K0Seg to ev5.hh and fixup the TSUNAMI uncacheable
    bits so that they will be converted correctly.
dev/alpha_access.h:
    Do not hard code the location of the AlphaConsole
dev/alpha_console.cc:
    fixup #includes
    tell the system where the alpha console is
sim/system.hh:
    Provide a function that will tell the system where the AlphaAccess
    structure (device) lives

--HG--
extra : convert_revision : 92d70ca926151a32eebe9925de597459ac58013e
2005-06-28 12:42:15 -04:00
Nathan Binkert
d172447a7a Pass the location of the m5 console backdoor to the console
instead of compiling it into the console version

dev/alpha_access.h:
    move serialization stuff to alpha_console.hh
    define the ALPHA_ACCESS_BASE in m5 instead of in console.c and
    have m5 pass the value to the console
dev/alpha_console.cc:
dev/alpha_console.hh:
    Move serialization stuff into a derived class of AlphaAccess
sim/system.cc:
    pass the value of ALPHA_ACCESS_BASE to the console code via
    the m5AlphaAccess console variable.

--HG--
extra : convert_revision : 0ea4ba239f03d6dad51a6efae0385aa543064117
2005-06-28 01:09:13 -04:00