📄 changelog
字号:
----------- - Added block timestamping, to evaluate use of JIT blocks and eventually enhance algorithm of block classifying. - Added a flag to the virtual devices to prevent use of MMAPed zones by MTS (used by NVRAM driver). - Added functions to extract IOS configuration from NVRAM. Pressing "Ctrl-] + c" nows write configuration to disk at any time. 08-Jan-2006----------- - Added support for PEM (NPE-B) EEPROM. It will probably allow support of NPE-175/NPE-225.09-Jan-2006----------- - Added support for NPE-175/NPE-225 and added NPEB-IO-FE.10-Jan-2006----------- - Enhancements to the remote console over TCP port. - Port to the Cygwin environment, allowing the emulator to run on Windows machines!11-Jan-2006----------- - Added a feature to push an IOS configuration into NVRAM ("-C" command line option). - Added enhanced checks to the NVRAM config export. - Added a variant of udp_connect() function for systems that do not support RFC 2553. - Added support for AUX port (TCP port).12-Jan-2006----------- - Better memory logger. - Added breakpoint capabilities. - Fixed a segfault occuring on some IOS images with x86_64 JIT. (modified the minimum remaining size in JIT buffer adjustment).13-Jan-2006----------- - The ROM is now embedded in the source code (added an utility to convert ELF file to C code). It is possible to use an alternate ROM using the "-R" option. - Enhanced the MTS lookups to allow use of embedded ROM for code execution.15-Jan-2006----------- - Added PCI I/O space management. - Added a fake Cirrus Logic PD6729 PCI-to-PCMCIA host adapter. - Cleanups in NPE initialization code. - Fixed some bridge problems with the NPE-300. - Code factorization in the C7200 initialization module. - Generalization of C7200-IO-FE driver for all NPE types. - Added Fault History support. - Added chassis selection (standard or VXR) - Finally found the bug in the non-jit emulation code! It was a cast problem in mult/multu instructions.16-Jan-2006----------- - Added generic hash tables. - Added "instruction lookup tables" (ILT), which greatly improve performance of non-JIT mode. - Added instruction statistics for the non-JIT mode ("Ctrl-] + j")17-Jan-2006----------- - Added a port for non-x86 hosts. The emulator ran successfully on a Tru64 Unix box (Alpha CPU)! It should also be able to compile and run on MacOS X (PowerPC).24-Jan-2006----------- - Added support for DMA channels on Galileo GT64k controllers since it seems that they may be used by IOS (NPE-400 for sure, other NPE?). 25-Jan-2006----------- - Added Linux Raw Ethernet driver to the NetIO infrastructure. - Hmm, I'm probably missing something in the DMA/SRAM interaction and endianness... 26-Jan-2006----------- - The DMA problem is finally fixed, in fact the SRAM can be accessed with byte-swapping. - Added an unicast limiter to the DEC21140, to receive only trafic directed to the virtual machine (+ multicast/broadcast). This is done by analyzing the setup frames (MAC address filter).27-Jan-2006----------- - The Linux Raw Ethernet driver needs promiscuous mode to be enabled to receive appropriate packets, added the required code. - Added endianness definitions, and replaced hton[sl]/ntoh[sl] by the new definitions (for exchanges between VM and host).28-Jan-2006----------- - Added parser infrastructure.29-Jan-2006----------- - Added a virtual bridge system. - Release 0.2.3b31-Jan-2006----------- - Fixed a stupid bug in DMA handling, which in certain conditions can cause an infinite loop.01-Feb-2006----------- - Added an "instruction block hash" which avoids lookups in the instruction red-black tree. The IBH table takes only 16 Kb of memory. - Added CRC-12 and CRC-16 functions for future use. - Added a "gen_eth" NetIO driver, which allow to access ethernet interfaces in a portable way (tested on Linux and Cygwin). - Fixes to the PowerPC build on Darwin thanks to Olivier Cahagne. - Minor cosmetic changes to display supported/unsupported PA and NPE. - Release 0.2.3c06-Feb-2006----------- - Added working Serial interfaces (PA-4T+) ! - Bug: CDP not working with serial interfaces ("debug cdp events" reports a checksum problem).07-Feb-2006----------- - Started the 0.2.4 release. - Modified the command line parser to allow many NIO per PA (for example for serials). - A lot of code cleanups in the C7200 initialization. - Added PA-8T support. - To fix: CDP with Serial interfaces: using cp_len (instead of cp_len+4) in packet rx fixes the problem but breaks IP. Probably something related to padding, see how a CDP packet is sent (special flag in tx ring ?) - Added virtual "beqz" instruction. - Added the "-X" option, allowing to use host memory directly instead of mapping a file to simulate RAM (faster). - Beginning of code reorganization to allow multiple instance contexts.08-Feb-2006----------- - Added a basic virtual Frame-Relay switch. Unfortunately, LMI must be implemented to maintain links up. - Finally found the problem related to CDP! It was simply a padding problem.09-Feb-2006----------- - Add support of promiscuous mode for the DEC21140 "unicast limiter": promiscuous mode is used in bridging configurations. - Fixed another bug with the serial interfaces: it seems that there is a "length substractor" for the txring.10-Feb-2006----------- - Played a little with the PA-POS-OC3, without success. 14-Feb-2006----------- - Finally implemented the basic LMI stuff (only ANSI Annex D). Fortunately, IOS rocks and uses auto-detection, so no extra configuration is needed. - Integrated a Makefile patch from Max Khon for FreeBSD. - Updated documentation. - Release 0.2.4.15-Feb-2006----------- - Fixed a cosmetic bug when displaying MAC address at startup. - Fixed a stupid bug in "srav" instruction in x86_64 JIT code. The arithmetic shift operation was done on a 64-bit basic instead of 32-bit, causing bad propagation of the sign-bit. - Added support for multiple instances (no CLI present yet).17-Feb-2006----------- - Fixed 2 bugs in Frame-Relay switch: a crash occured when receiving a packet gave an error, and if many DLCI with the same ID on different interfaces were used, only one was announced on one interface.18-Feb-2006----------- - Began work on advanced configuration parsing (instances).19-Feb-2006----------- - Is the count/compare mechanism pertinent ?23-Feb-2006----------- - Continued work on advanced config parsing (instances,NIO). - Added registry infrastructure. - Fixed some mistakes in documentation.28-Feb-2006----------- - Continued work on advanced config parsing (NIO). - Added an IRQ counter. - Continued debugging on recurrent crashes problem. - Added proper checks to mts32_raw_lookup (at least it avoids the coredump...) - Added display of all CP0 registers (except TLB).02-Mar-2006----------- - Hardened a little the IRQ subsystem, but this doesn't fix the problem. - Added a debugging mode to track jumps to address 0 (x86_64 only!). - Fixed the teq/teqi instructions in amd64/x86 modes that were buggy.04-Mar-2006----------- - Added some assembly optimized routines for x86 hosts. - Fixed a stupid bug in mts32_raw_lookup (op_size and op_type were swapped). 06-Mar-2006----------- - Added Unix and Null NETIO types for config files. - Fixes for incorrect behavior in virtual memory access routines, in case of exception.08-Mar-2006----------- - Removed the configuration file parsing, in favor of a remote control system for use with the dynagen project. 09-Mar-2006----------- - Added basic hypervisor infrastructure. - Added basic NIO code to the hypervisor commands. 10-Mar-2006----------- - Added the hypervisor NIO code. - Added Frame-Relay and ATM switches to the hypervisor commands. 11-Mar-2006----------- - Played (successfully) with OIR (Online Insertion and Removal). OIR will require device deletion...12-Mar-2006----------- - Fixed EEPROM code which used global variables. - Added the necessary code for basic OIR. - Added PCI device removal.15-Mar-2006----------- - A lot of work on C3600 integration (although it is not functional). - Added a basic ns16552 driver.17-Mar-2006----------- - Added some hypervisor commands for PA setup and OIR. 20-Mar-2006----------- - Hardened the Mueslix driver: after OIR, a "no shut" on a new interface crashed the virtual router. Now, IRQ status is managed appropriately.24-Mar-2006----------- - Added ptask (periodic task) removal. - Added a basic (nearly empty) C3600 IO FPGA chip.25-Mar-2006----------- - Added a NIO RX multiplexer. - Added NIO unset operation for PA.26-Mar-2006----------- - Modified the virtual ATM/Frame-Relay switches and NIO bridge to use the new NIO RX multiplexer. - Added the NIO bridges to the hypervisor commands. - Fixed a stupid bug in hypervisor ATM/FR switch command, the VC were badly parsed. - Fixed a memory leak in the hypervisor module (tokens not freed).27-Mar-2006----------- - Added appropriate locks to the ATM and Frame-Relay switches. - Added VC removal for ATM and Frame-Relay switches.28-Mar-2006----------- - Added registry management to the ATM/FR switches and NIO bridge.30-Mar-2006----------- - Added a refcount system to the NIO RX multiplexer.31-Mar-2006----------- - Added NIO removal for NIO bridges. - Added NIO bridge removal. - Modified the NIO bridge code to use the registry infrastructure. - Same as above, for ATM and Frame-Relay switches.03-Apr-2006----------- - Added the required infrastructure for online removal. - Added hypervisor commands for PA removal and to display C7200 hardware. - Fixed a bug in PCI device removal. - It's now possible to change cards on the fly! - The Mueslix driver was incorrectly modified: the TX ring scanner must run even if the NIO is not defined. - Modified the DEC21140 driver to report a Link Down when the NIO is not defined.04-Apr-2006----------- - Added packet dump (for debugging) to NetIO receive/send operations.08-Apr-2006----------- - The SMP bug seems to be fixed! The irq_cause field is now manipulated atomically (inline asm for x86 and x86_64, pthread mutex on other machines).12-Apr-2006----------- - Added a VM abstraction layer (for different platforms). - Fix of X86 assembly file for Cygwin. - The IOS config file is now saved with a specific filename from the VM instance.13-Apr-2006----------- - Added per-instance logfile.14-Apr-2006----------- - Fixed a stupid bug in non-JIT mode with IRQs.17-Apr-2006----------- - bugfix: "null" NIO creation didn't record the NIO in registry. - bugfix: mueslix logging. - bugfix: adding an NIO to the RX listener list (bad double linked-list) - bugfix: bad fgets() use in NIO bridge and ATM/FR switches.18-Apr-2006----------- - bugfix: the same NIO could be recorded many times in the NIO RX multiplexer due to bad design in NIO adding.19-Apr-2006----------- - Beginning of work on AMD Am79c971 ethernet controller (used by PA-4E and PA-8E).20-Apr-2006----------- - The emulation of AMD Am79c971 seems to be working very well. - Modified the physical memory dump function to use the VM log file.21-Apr-2006----------- - Modified the PA-4E/PA-8E EEPROM definitions to work with VXR midplanes. - PA-4E is now usable.23-Apr-2006----------- - Added "shutdown" operation for PA-4E/PA-8E drivers.24-Apr-2006----------- - Enhanced lock file management (with POSIX locks). - The devices are now dependent from VMs instead of being dependent of CPU groups. This makes a lot of things cleaner.27-Apr-2006----------- - Added IRQ clearing with GT64K (DMA transfers). - Study of GT64120 controller to understand address decoding process. 28-Apr-2006----------- - Fixed a bug with NPE-175/NPE-225 PEM EEPROM selection. - The NPE-400 is now able to support 512 Mb of DRAM! (the supplemental memory is in fact considered as IO memory) - Added a safety check with RAM size. - The CPU identifier (PRID register) is now fixed depending on the NPE board.01-May-2006----------- - Modified device subsystem to order devices by physical addresses, optimized dev_lookup/dev_lookup_next. - Added infrastructure for various object cleanup. - Added "shutdown" code for SRAM, NVRAM, Bootflash, Zero, remote control
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -