📄 changelog
字号:
----------- - Fixed inter-pages jumps in delay slots (reported by nula) - Added a check preventing to run the idle-pc feature when an idle-pc value is already defined (since it would give biased results). - bugfix: VTTY list not locked in vtty_create() - bugfix: ensure the CPU is running before incrementing pending timer IRQs. - Added a checklist for minimal C7200 hardware components. It checks good init of ram, rom, nvram and zero devices.19-Jul-2006----------- - Some work on JIT tuning (flush).20-Jul-2006----------- - Better info logging for VTTY and C7200 modules. - Added a debug level for VMs. 21-Jul-2006----------- - Various code cleanups. - Added "c7200 set_debug_level" hypervisor command and "--vm-debug" command line option. Now, by default, less details are printed. - Fixed a bug with select() on Cygwin platform: before, only 64 FDs could be used.24-Jul-2006----------- - bugfix: accept_fd was not closed in VTTY module (BTS entry #42) - bugfix: properly handle CR/LF in configuration files (FR, ATM, ...) (BTS entry #36) - bugfix: accept fd not correctly printed in log file. - Added a mini-parser for hypervisor: allows directory with blanks, ... - bugfix: bad use of setsockopt() in the hypervisor.25-Jul-2006----------- - Added the capability to use Null NetIO with the hypervisor ("nio create_null" command). - Added a FIFO NetIO for intra-hypervisor communications. - Merged a patch from Peter Ross for incorrect idle-pc parsing with 64-bit values. - Non-JIT mode optimization for instruction fetch (although it could be enhanced again). - Various code cleanups.26-Jul-2006----------- - Added "ethsw clear_mac_addr_table" to clear MAC address table of a virtual ethernet switch. - Added "ethsw show_mac_addr_table" to show all MAC addresses learnt by a virtual ethernet switch. - Fixed a potential bug with jalr/jr instructions, where the stack is used to save the return PC. If the instruction in the delay slot returned directly to the jit main loop (exception,...), the stack would be in an inconsistent state. This fix is also required for Darwin/x86. 27-Jul-2006----------- - Stack alignment for Darwin/x86 in memop functions and unknown opcode handling. - The Darwin/x86 build requires -mdynamic-no-pic as compilation option. - Fixed some inline assembly mistakes with "lock" prefix. - The Darwin/x86 port seems to be working correctly. - Fixed the amd64 version of "jr" instruction similarly to the x86 version (no problem with "jalr" in this case).29-Jul-2006----------- - Merged a patch from Peter Ross (suxen_drol@hotmail.com): * disable dynamips escape commands for serial * support receipt of char 0x00 * force the device to into raw mode (cfmakeraw) * include additional uart register addresses in c7200 iofpga switch. The README is also updated. - Fixed some sign problems in VTTY module.31-Jul-2006----------- - Merged a parch from Peter Ross for correct handling of Ctrl-C when a TCP console is used. - Code cleanup (JIT usage flag per VM, ...) - C3600: implemented a working ns16552 console driver. - C3600: fixed clpd6719 driver. - C3600: working environmental monitor. - C3600: changed default RAM to 128 Mb. - Fixed clobbered registers on AMD64 platform ("r14" was missing).01-Aug-2006----------- - Added command line support for C3600 instances. - C3600: added appropriate deletion code. - C3600: added mainboard EEPROM support. - C3600: added bootflash of 8 Mb. - C3600: analyzed triggering of various IRQs.03-Aug-2006----------- - C3600: added NM EEPROM support, slot activation now depends on the NM state. - Fixed nmc93c46 EEPROM code to set the data out bit to a high value when not reading data (was required for C3600 NM EEPROM) + various bug-fixes and cleanups.04-Aug-2006----------- - C7200: some cleanups in PA function naming. - C7200: code refactoring for PA drivers. - C7200: ethernet stuff is now independent of dec21140 and am79c971 code. - C3600: added NM management stuff. - Mueslix serial stuff is now independent for C3600 and C7200. - C3600: added NM-1E, NM-1FE and NM-4T network modules. => problems: * no keepalive required for NM-1E/NM-1FE (media status ?) * NM-4T packet delivery failure when end of RX ring is hit.06-Aug-2006----------- - Modified Am79c971 MII registers to keep the link up in FastEthernet mode. - Merged a patch from Peter Ross for Console and AUX ports optimizations (especially with TCP mode) * console and aux FILE streams * reimplement vtty_read_and_store() as state machine: - parse telnet escape codes, instead of forwarding them to router. - display instance and router name in xterm/vt title bar. - Modified the Mueslix driver to have something working for both C3600 and C7200 models. Added some debugging info. - C3600: better ethernet NM code. - C3600: Added NM-4E (4 ethernet ports) network module.07-Aug-2006----------- - Fixed the remote control driver which incorrectly used static variables. - NVRAM address can now be known with the remote control driver. - Command line usage is now correctly displayed depending on the selected platform.08-Aug-2006----------- - Some work on PA-4B (Munich32 chip).09-Aug-2006----------- - Continuing on PA-4B (trying to understand TP3420).10-Aug-2006----------- - C7200: Added PA Mgmt IRQ support (required for PA-4B, seen on a real c7200 with PA-4B offered by Vernon Missouri). - Added TP3420 definitions.15-Aug-2006----------- - Continuing on PA-4B. Better understanding of the TX ring. Fixed interrupt queue management. 19-Aug-2006----------- - Added hv_vm.c module to handle generic VM operations. - Added hv_c3600.c module for the Cisco 3600 platform. - Fixed a bug in VTTY flushing.20-Aug-2006----------- - Added code to gen_eth module for Cygwin to prevent WinPCAP from giving back transmitted packets. It requires WinPCAP 0.4-alpha1 or better. TODO: need to be tested! 21-Aug-2006----------- - Fixed C3660 boot. Trying to understand/discover the hardware. Environmental monitor should be ok.24-Aug-2006----------- - Added NS16552 flush optimization (Peter Ross). - Fixed missing periodic task removal in NS16552.26-Aug-2006----------- - C3660: * Better understanding of NM presence / EEPROM registers. * Analyzed registers used when a Net IRQ is triggered.28-Aug-2006----------- - C3660: Network Modules are now working! Remaining stuff: OIR.29-Aug-2006----------- - Added more generic code to handle Cisco EEPROM to change easily chassis MAC addresses. - Updated README with C3600 information. - Updated hypervisor documentation (README.hypervisor). - Added dated package build to the Makefile (make packdev) - Checked WinPCAP fix of 20-Aug-2006: working. - Added the capability for high priority IRQ (like NetIO IRQ) to break the idle loop. Great latency improvement with NetIO IRQ. - C3600: the DUART irq is now higly prioritized. It gives better console reactivity. 30-Aug-2006----------- - Huge performance improvement on dec21140 and am79c971 drivers, by transmitting up to 16 packets in one TX ring scan pass. - Added the same to Serial driver (untested). - Added "unicast limiter" feature to the am79c971 driver, similarly to the dec21140 driver. Not having this caused the virtual instances to see unrelated host traffic when using linux_eth/gen_eth NIO and consequently a bad performance was obtained. Thanks to Greg for noticing that. - Beginning of rework of PCI subsystem for PCI bridge support. (Greg noticed that with 12.2T releases, the PCI bus numbering is different for the C3660). 31-Aug-2006----------- - Finished the PCI subsystem rework. - C7200: Fixed PCI bridge use for midplanes (std: dec21050, vxr: dec21150).01-Sep-2006----------- - Finally fixed the Serial problem on C3620 platform (hack in the driver to trigger interrupts differently). - Cleanup for VM PCI bus pool and C7200 "hidden" I/O bridge was missing.03-Sep-2006----------- - Added safety checks to the PCI bus management. - Added a PLX9060 device (very basic for now). - Rewritten the PA-POS-OC3 driver to use the new PLX9060 driver. - Cleanup: removed use of c7200 bay info in drivers (everything uses PCI for configuration). - C7200: removed the bay module which contained static definitions of PCI bus, physical addresses for PA, ... Now everything is handled dynamically by the PCI subsystem and the remaining drivers (PA-4B, PA-POS-OC3) have been fixed. - C3600: removed PCI bus info from the bay module (due to PCI bridge new code).04-Sep-2006----------- - Fixed some typos in comments. - Added a standalone utility to extract IOS configuration from an NVRAM file. - Removed pcireg.h (from NetBSD) which was just used for one definition. - Added a "COPYING" file for the GPLv2 licence.05-Sep-2006----------- - Added basic packet filtering framework, to simulate packet loss or alteration. - Hypervisor commands now supports a variable number of parameters. - bugfix: doing a "sh run" and then pressing "Escape" was causing trouble to the VTTY (the state machine was in an incorrect state). 06-Sep-2006----------- - Removed erroneous special handling of intra-page jumps in delay slots. (problem with c3640 12.0(7)T IP+ image).07-Sep-2006----------- - C3600: processors ID are now correct. - Avoid removing the JIT block of the caller with the "cache" instruction. - Added "hypervisor version" to allow clients (Dynagen) to know the current version. - Added missing explanation for "-P <platform>" command line parameter. - C7200: Fixed incorrect cleanup of IO PCI bridge.08-Sep-2006----------- - Better code for VM error messages. - Fixed the write attempts to ROM at startup.09-Sep-2006----------- - C3600: added support for io memory size, which prevents Smart Init from running (hypervisor command: c3600 set_iomem <router> <val>). - C3600: fixed incorrect handling of commands for this platform, which caused port 0 to be disabled when manipulating other ports.11-Sep-2006----------- - Fixed loop overflow in idle pc computation. - Added base64 encoding/decoding module from Yannick Le Teigner. - Added hypervisor commands "vm push_config" and "vm extract_config" to manage IOS configurations. Extracting to base64 is ok (verified with a third party decoder: http://www.opinionatedgeek.com/dotnet/tools/Base64Decode/Default.aspx ) - C3600: NVRAM checksum is now correctly computed.12-Sep-2006----------- - Following a suggestion of Yannick Le Teigner, applied the optimization principle to PA-A1 card already used in dec21140, ... Latency is clearly better (on my system, this dropped from about 150ms to 50 ms).14-Sep-2006----------- - Incorrect display of device name in PLX9060 driver. - Added manpages provided by Erik Wenzel (erik@debian.org). Many thanks to him for this and for his work on packaging for Debian. - Final 0.2.5 release. - C7200: Added missing NVRAM checksum.15/21-Sep-2006----------- - Working on NM-16ESW. 22-Sep-2006----------- - NM-16ESW: interfaces are now up (handles specifically the appropriate MII register).23/25-Sep-2006-------------- - Still continuing on the NM-16ESW (first packets received/transmitted).26-Sep-2006----------- - NM-16ESW: seems to be working! (although there are still a lot of things to do).28-Sep-2006----------- - Added a hack to allow Ethernet NM to work correctly in 3620/3640 (seen when directly attached to the real network with very few packets incoming). - NM-16ESW: proper support for tx ring scatter/gather support. - NM-16ESW: fixed a bug in ARL insertion. - NM-16ESW: send directly BPDU packets to the CPU.29-Sep-2006----------- - NM-16ESW: added support for "trunks" (ie etherchannel). - Added "Ctrl+p" sequence key to dump Port Adapter / Network Module info (only NM-16ESW reports something at this time).30-Sep-2006----------- - NM-16ESW: proper management of station movement (etherchannel is handled).01-Oct-2006----------- - NM-16ESW: added register handling.02-Oct-2006----------- - NM-16ESW: playing with the port mirroring feature. 04-Oct-2006----------- - Finally understood how to handle link status changes! Now, "shut"/"no shut" is working. Better understanding of MII registers in general.05-Oct-2006----------- - Fixed bug described in BTS entry #65 (in the case where two virtual addresses point at the same physical address, the JIT can use inappropriate block). This was a "silent" bug.07-Oct-2006----------- - Modified the hypervisor parser to allow long lines (to upload IOS configs).09-Oct-2006----------- - NM-16ESW: added ingress and egress port mirroring (todo: BPDU and CDP packets shouldn't be replicated).10-Oct-2006----------- - 0.2.6-RC1 release. - NM-16ESW: implemented ARL count. Fixed the MAC address table display problems.11-Oct-2006----------- - C3600: fixed NVRAM configuration export. - Merged a patch for Solaris/x86 from Damjan Marion. - Cleaned the EEPROM stuff to have something more generic. - NM-16ESW: base MAC address is now automatically generated.12-Oct-2006----------- - NM-16ESW: added support to discard input packets.13-Oct-2006----------- - NM-16ESW: modified the discard support to let BPDU packets arrive to the CPU. - Added online setup of idle-pc through the hypervisor command "vm set_idle_pc_online <vm_name> <cpu_id>". - Values computed for idle-pc are now stored in the virtual MIPS CPU and can be known through the hypervisor command "vm show_idle_pc_prop <vm_name> <cpu_id>".
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -