Current Release

New users can download the current version of ML-RSIM from this web page.
It includes all patches listed below.
Make a note of the release date listed in the README file to correctly apply later patches.


ML-RSIM Patches in Reverse Chronological Order

Apply patches as follows:

  • download desired patch file
  • enter the directory of your ml-rsim distribution
    e.g. if ML-RSIM is installed in /home/user10/john/software/ml-rsim, type
    cd /home/user10/john/software/ml-rsim
  • type patch < <patchfile>
  • it is recommended to apply all patches in chronological order
Date Type Description Affected Files Patch File
05/25/2005 Bug Fixes Fixed histogram overflow in statistics records. Corrected dup2 system call. src/sim_main/stat.c
lamix/fs/kern_descrip.c
ml-rsim-patch-050525
03/03/2005 New feature & Bug Fixes Increased maximum size of cache miss status holding register (MSHR). Corrected bus coherency deadlock. Corrected memory ordering issue for multi-ported caches. Corrected implementation of LRU replacement for set-associative caches. src/Bus/bus.c
src/Caches/cache_param.h
src/Caches/cache_debug.c
src/Caches/cache_init.c
src/Caches/l1i_cache.c
src/Caches/l1d_cache.c
src/Caches/l2cache.c
src/Caches/pipeline.h
src/Caches/pipeline.c
src/IO/io_generic.c
src/Memory/mmc_bus.c
ml-rsim-patch-050303
01/14/2005 New feature Added processor watchdog to detect potentially stalled processors. Put simulation to sleep and print message to inform user. src/Processor/mainsim.cc ml-rsim-patch-050114
01/13/2005 Bug Fix Eliminate potential deadlock related to snooping of bus transactions in the I/O device bus interface. src/IO/io_generic.c ml-rsim-patch-050113
04/29/2004 New feature New simulator traps:
1) write simulation time (cycles) to log file
2) invoke debugger from simulated code
See reference manual for more details.
src/Processor/mainsim.cc
src/Processor/mainsim.h
src/Processor/traps.cc
src/sim_main/Makefile
lamix/interrupts/traps.h
ml-rsim-patch-040429
Also copy invoke_debugger.c and invoke_debugger.h to src/sim_main
04/28/2004 Bug fix Additional address validity check in all memory instructions if executing without virual memory. src/Processor/funcs.cc
src/Processor/active.h
ml-rsim-patch-040428
03/02/2004 Bug fix Corrects problem with unitialized variable in hostfs_mkdir routine. lamix/usf/hostfs/hostfs_vnops.c ml-rsim-patch-040302
12/11/2003 New feature New command line flags -r <icount> and -s <icount> control beginning and end of statistics collection. Both flags operate on graduated instruction counts and let users skip initial program phases and abort the simulation at a specific point. See Reference Manual for more details. src/Processor/mainsim.cc ml-rsim-patch-031211
12/10/2003 Bug fix Corrects object alignment problem with newer Sun compiler in exec.cc
Adds effective UID/GID to system calls in sysinfo.c
src/Processor/exec.cc
lamix/syscall/sysinfo.c
ml-rsim-patch-031210
10/10/2003 Bug fix Corrects emulation of SRA instruction and adds timeout/retry mechanism for directory operations in virtual filedescriptor management to better handle host NFS/AFS server outages. src/Processor/funcs.cc
src/Processor/filedescriptor.cc
ml-rsim-patch-031010
07/02/2003 New feature New debugging mechanism dumps most internal state (queues, buffers, etc.) to log file when simulator receives SEGFAULT/BUSERR, or when user sends SIGUSR1. src/Bus/bus_debug.c
src/Caches/cache.h
src/Caches/cache_debug.c
src/Caches/lqueue.h
src/Caches/pipeline.h
src/Caches/system.c
src/Caches/ubuf.h
src/Caches/ubuf.c
src/IO/ahc.h
src/IO/ahc.c
src/IO/io_generic.h
src/IO/io_generic.c
src/IO/pci.h
src/IO/pci.c
src/IO/realtime_clock.h
src/IO/realtime_clock.c
src/IO/scsi_bus.h
src/IO/scsi_bus.c
src/IO/scsi_controller.h
src/IO/scsi_controller.c
src/IO/scsi_disk.c
src/Memory/mmc_debug.c
src/Processor/mem_debug.cc
src/Processor/signalhandler.cc
src/sim_main/evlst.h
src/sim_main/evlst.c
ml-rsim-patch-030523
05/23/2003 Maintenance Corrects minor timing problem in disk model occurring when modeling fast disks.
Corrects several potential memory access problems and leaks.
src/IO/disk_mech.c
src/IO/disk_storage.c
src/IO/scsi_disk.c
src/Caches/cache_help.c
src/Memory/mmc_init.c
src/Processor/filedesc.cc
src/Processor/tagcvt.h
src/Processor/tagcvt.hh
src/Processor/tlb.cc
src/Processor/traps.cc
lamix/kernel/fork.c
ml-rsim-patch-030523
05/22/2003 Bug fix, maintenance & new features Improved system bus statistics reports cycle count and bus utilization by transaction class.
Simulator reports which Lamix kernel is used for simulation.
Fixes PCI configuration reporting bug on Linux.
Brings list of PCI vendors and products up to date.
src/Bus/bus.c
src/Bus/bus.h
src/IO/pci.c
src/Processor/startup.cc
lamix/Makefile
lamix/dev/pci/pci_subr.c
lamix/dev/pci/pcidevs.h
lamix/dev/pci/pcireg.h
ml-rsim-patch-030522
Also copy devlist2h.awk, pcidevs and pcidevs_data.h to lamix/dev/pci
05/21/2003 New feature Introduces Halt feature to stop processor when idle. Used by Lamix scheduler in place of idle loop, greatly improves simulation speed when doing disk I/O.
Reworked processor utilization statistics to account for halted times.
src/Caches/l1d_cache.c
src/Caches/syscontrol.c
src/Processor/active.cc
src/Processor/except.cc
src/Processor/exec.hh
src/Processor/mainsim.cc
src/Processor/memprocess.cc
src/Processor/memunit.h
src/Processor/procstate.cc
src/Processor/procstate.h
src/Processor/signalhandler.cc
lamix/interrupts/traphandlers.c
lamix/kernel/kernel.c
lamix/kernel/kernel.h
lamix/kernel/misc.S
lamix/kernel/schedule.c
lamix/kernel/syscontrol.h
lamix/mm/init.S
lamix/syscall/kprint.c
lamix/syscall/simtraps_asm.S
ml-rsim-patch-030521
04/16/2003 Bug fix Correct bug in persistent disk storage on Linux.
Stall instruction fetch while flushing pipeline on exception.
Fix incorrect implementation of heap data structure.
May affect timing of simulated applications !
src/IO/disk_storage.c
src/Processor/exec.hh
src/Processor/heap.h
ml-rsim-patch-030416
04/15/2003 New feature & optimization Increases socket buffer size to reduce risk of fragmentation.
Optimization and cleanup of Yacsim event-driven simulation library.
lamix/machine/param.h
src/Processor/mainsim.cc
src/sim_main/evlst.h
src/sim_main/evlst.c
ml-rsim-patch-030415
03/19/2003 New feature & bug fix Detailed system bus statistics with transaction counts broken down by type and source module.
Also fixed minor SGI compilation problem in traps.cc
src/Bus/bus.c
src/Bus/bus.h
src/Caches/l1d_cache.c
src/Caches/l1i_cache.c
src/Caches/l2cache.c
src/Processor/traps.cc
ml-rsim-patch-030319
03/07/2003 Bug fix Missing preprocessor macro for C++ compilation in kernel header file. Affects only compilation of C++ programs and only if lamix/ is in the header file search path. lamix/sys/signal.h
ml-rsim-patch-030307
02/24/2003 New feature Optional configuration of initial date and time for realtime clock:
rtc_start_time <hour:min:sec>
rtc_start_date <mon/day/year>
May also use keyword current to initialize realtime clock to current time. Defaults to original fixed start value if no configuration is specified.
src/IO/realtime_clock.c
ml-rsim-patch-030224
01/22/2003 Bug fix Branch misprediction recovery caused segmentation fault for branch instructions in another branch's delay slot. src/Processor/branchpred.cc
src/Processor/tagcvt.h
src/Processor/tagcvt.hh
ml-rsim-patch-030122
01/21/2003 New feature Optional tagged TLB, avoids flushing of TLB entries during context switches. Added new configuration parameters itlbtag and dtlbtag with default value 0 (off) for backwards compatibility. bin/rsim_params
src/Processor/config.cc
src/Processor/except.cc
src/Processor/exec.cc
src/Processor/memunit.hh
src/Processor/procstate.cc
src/Processor/tlb.cc
src/Processor/tlb.h
ml-rsim-patch-030121
12/04/2002 Bug fix Loading executables from simulated disks failed due to incorrect page attributes. TLB performed address translation even for access violations, reporting incorrect virtual addresses to exception handlers. lamix/kernel/exec_elf32.c
lamix/syscalls/simtraps.c
lamix/mm/vm.h
src/Processor/tlb.cc
ml-rsim-patch-021204
11/25/2002 New feature Alternative ideal memory controller model allows overlapped requests with fixed latency, in addition to the sequential queued fixed-latency request. mmc_sim parameter changed to accept three settings: fixed, pipelined and detailed src/Memory/mmc_debug.c
src/Memory/mmc_init.c
src/Memory/mmc_main.c
src/Memory/mmc_param.h
src/Memory/mmc_stat.c
ml-rsim-patch-021125
11/14/2002 Bug fix Getdents64Handler() skipped file names in very long directories (affects HostFS operation);
-D command line option did not handle absolute paths
src/Processor/traps.cc
src/Processor/mainsim.cc
ml-rsim-patch-021114


For questions or comments
contact mlrsim@cs.utah.edu

Last updated: 05/25/2005