Annotation of cf/ChangeLog, revision 1.1.1.3

1.1       root        1: /*
                      2:  * Cisco 7200 (Predator) simulation platform.
                      3:  */
                      4: 
                      5: 15-Aug-2005, the project is starting.
                      6:        
                      7: 18-Aug-2005
                      8: -----------
                      9:   - Added support for: sll, addu/subu.
                     10:   - Fixed bugs with b... branch instructions (bad computation of new pc).
                     11:   - Added patch recording for blocks.
                     12:   - A sequence of MIPS instructions (without memory access instructions)
                     13:     from IOS was successfully run ! (need to check correctness).
                     14: 
                     15: 22-Aug-2005
                     16: -----------
                     17:   - Implemented a basic memory subsystem with an mmaped file.
                     18:   - Added memory access instructions (lb,lbu,lh,lhu,lw,lwu,ld,sb,sh,sw,sd).
                     19:   - Added a cross-compiled test program.
                     20:        
                     21: 23-Aug-2005
                     22: -----------
                     23:   - Fixed slti, sltiu, slt instructions.
                     24:   - Fixed memory endianness.
                     25:   - Fixed host memory addressing (bad haddr computation).
                     26: 
                     27: 24-Aug-2005
                     28: -----------
                     29:   - Added a generic memory address lookup function.
                     30:   - Added a minimal ELF loader.
                     31: 
                     32: 28-Aug-2005
                     33: -----------
                     34:   - ELF loader now loads files page per page.
                     35:   - Added device support (with RAM support).
                     36:   - Added MTS32 support for mapping of 4 Kb pages.
                     37:   - Added MTS32 support for device mapping in kernel mode and generic
                     38:     virtual to physical mapping (preparation for TLB).
                     39:   - Added a dummy console driver.
                     40:   - Added mult,multu,div,divu instructions.
                     41:        
                     42: 29-Aug-2005
                     43: -----------
                     44:   - Added a Red-Black trees module.
                     45:   - Block locator uses RB tree module.
                     46:   - It is now possible to run a program with multiple functions!
                     47:   - ELF loader now support multiple program headers and entry point is
                     48:     now used.
                     49:   - Fixed x86 buffer adjustment.
                     50:   - Modified console to be at the same address than c7200 DUART (to test
                     51:     microcode).
                     52:   - Memory access functions now update PC.
                     53:   - Added sra, srl, sllv, srlv, srav instructions.
                     54: 
                     55: 30-Aug-2005
                     56: -----------
                     57:   - Added dsrl32, dsll32, dsra, dsrav, dsra32 instructions.
                     58:   - Added bgtz, blez, bgez instructions.
                     59:   - Fixed sltu instruction.
                     60:   - ELF Entry point is now sign-extended.
                     61:   - Added blezl, bgtzl instructions.
                     62:   - Fixed the MIPS scanner to use unsigned 64-bits integers for addresses.
                     63:   - Added unknown opcode management (basic, it just print the unhandled
                     64:     opcode value and continues).
                     65:   - Added cache instruction.
                     66:   - Added bltzal, bltzall, bgezal, bgezall instructions.
                     67: 
                     68: 31-Aug-2005
                     69: -----------
                     70:   - Added System coprocessor (CP0) definitions.
                     71:   - Added tlbr instruction.
                     72:   - Added basic tlbwi instruction (doesn't change the MTS mappings now).
                     73:   - Added dmfc0, dmtc0, mfc0, mtc0 instructions.
                     74:   - Added TLB dump functions.
                     75:   - Added dummy pref/prefi instructions.       
                     76:   - Added basic exception trigger.
                     77:   - Added syscall, break instructions.
                     78:        
                     79: 01-Sep-2005
                     80: -----------
                     81:   - Fixed exception trigger.
                     82:   - Added dmfc1, dmtc1, mfc1, mtc1, sdc1 instructions.
                     83:   - Fixed the break instruction.
                     84:   - Modified the memory handling to be more friendly with instructions
                     85:     like sdc1 and for more safety in case of badly written device drivers.
                     86:   - Added ldc1 instruction.
                     87: 
                     88: 02-Sep-2005
                     89: -----------
                     90:   - Fixed sltiu/sltu instructions that were doing signed comparisons
                     91:     instead of unsigned comparisons (mis-use of jit).
                     92:   - Added lwr/lwl, swr/swl, ldl/ldr, sdr/sdl, ll/sc instructions 
                     93:     (not tested).      
                     94:   - Added PCI bus management.
                     95:   - Added GT64010 (PCI controller) device.
                     96:   - Added DEC 21050 (PCI bridge) device.
                     97:   - Added NVRAM.
                     98: 
                     99: 03-Sep-2005
                    100: -----------
                    101:   - Beginning of work on IRQs.
                    102: 
                    103: 04-Sep-2005
                    104: -----------
                    105:   - Timer IRQ should be OK.
                    106:   - Added C7200 bay management and Midplane FPGA.
                    107:   - Fixed the JR instruction which was broken in a case like that:
                    108:        lwu k1,0(k1)
                    109:        jr k1
                    110:        move k1,zero
                    111: 
                    112: 05-Sep-2005
                    113: -----------
                    114:   - Fixed jalr (as jr) instruction.
                    115:   - Added RAM "aliasing".
                    116:   - Added SRAM management.
                    117:   - Fixed NVRAM size.
                    118:   - Fixed ldr, swl/swr instructions.
                    119:   - Added c7200 IOcard.
                    120:   - Count register is now properly handled.
                    121:   - Added basic functions to set/clear interrupts.
                    122:   - Modified the console driver to trigger DUART interrupt.
                    123:   - IOS now starts!
                    124:        
                    125: 06-Sep-2005
                    126: -----------
                    127:   - Added "move" virtual instruction. It correspond to "addu" with rt=0.
                    128:     Here it avoids an useless add.
                    129:   - Added b/bal virtual instructions.
                    130:   - Packed NVRAM.
                    131: 
                    132: 08-Sep-2005
                    133: -----------
                    134:   - Added Dallas DS1620 temperature sensors.
                    135:   - Added voltage sensors.
                    136:   - Power supplies are now faked.
                    137:   - IOS Environmental Monitor doesn't try to shutdown the router anymore!
                    138:   - Device list is now displayed at startup.
                    139:        
                    140: 18-Sep-2005
                    141: -----------
                    142:   - Added Address Error Load/Save, TLB Load/Save exceptions.
                    143:     TODO: Branch Delay Slot management.
                    144:   - Modified the default value in config register in CP0 to set appropriate
                    145:     cache sizes. Now it is possible to boot compressed images directly!
                    146:   - Added the teq/teqi instructions.
                    147:   - Hmm, seen some IOS images (k9?) that seem to use the FPU (CP1). This
                    148:     does not prevent the image to boot, but some features will probably
                    149:     be not functional.
                    150:        
                    151: 19-Sep-2005
                    152: -----------
                    153:   - Tweaked the console driver to generate a dummy interrupt. It avoids
                    154:     the console problems.
                    155:   - Fixed the serial driver mueslix PCI vendor/device code.
                    156:   - The midplane FPGA now returns voltages based on virtual PA EEPROM
                    157:     presence. Up to 6 PA-8T were successfully emulated!
                    158: 
                    159: 20-Sep-2005
                    160: -----------
                    161:   - Included amd64-codegen.h with a (near empty) translator.
                    162:   - Some code factorization.
                    163:        
                    164: 21-Sep-2005
                    165: -----------
                    166:   - Added CPU state save/restore on disk.
                    167:   - Sending SIGQUIT to the process dumps the MIPS64 VM state on disk.
                    168:     (only CPU state is saved for now).
                    169:     Device state is not saved, so this does not work with booted IOS images
                    170:     for now (it works for an IOS image being self-decompressing, though).
                    171:   - Some code cleanups.
                    172: 
                    173: 23-Sep-2005
                    174: -----------
                    175:   - Fixed "Dirty" bit in TLB entries.
                    176:   - Extended the number of TLB entries from 48 to 64.
                    177:   - Added tlbp instruction.
                    178:   - Modified the nmc93c46 eeprom driver to allow more than 32 bytes reading.
                    179: 
                    180: 24-Sep-2005
                    181: -----------
                    182:   - Added a symbol table loader.
                    183: 
                    184: 26-Sep-2005
                    185: -----------
                    186:   - Added support for writing in PCI registers
                    187:   - Added a RAW file loader.
                    188:   - Added "add" instruction (without exception support).
                    189: 
                    190: 07-Oct-2005
                    191: -----------
                    192:   - Continued work on SMP support.
                    193:        
                    194: 08-Oct-2005
                    195: -----------
                    196:   - Replaced memory operations with fastcalls instead of asmlinkage functions.
                    197:   - Continued work on SMP support. Now it should be complete, except for
                    198:     LL/SC instructions.
                    199: 
                    200: 10-Oct-2005
                    201: -----------
                    202:   - A lot of work on amd64 jit compiler.
                    203:   - The memory management should be 64-bit compliant now.
                    204:        
                    205: 17-Oct-2005
                    206: -----------
                    207:   - Fixed a bug in SRA instruction in amd64 jit code. IOSEmu is now working
                    208:     on amd64!
                    209: 
                    210: 26-Oct-2005
                    211: -----------
                    212:   - Created a virtual device giving the VM parameters.
                    213:   - Added command line parsing (patch from Nicolas Szalay).
                    214:   - Fixed ERET instruction (LLbit clearing was lacking).
                    215:   - Fixed BREAK instruction (x86/amd64).
                    216:   - Fixed 2 GB limit for log file.
                    217:   - Fixed clobbered registers in x86 translation.
                    218:         
                    219: 28-Oct-2005
                    220: -----------
                    221:   - Added a non-JIT mode (not completely working now)
                    222:   - Added "-j" flag on the command line to disable JIT.
                    223:   - Fixed some stupid bugs in shift operations.
                    224: 
                    225: 31-Oct-2005
                    226: -----------
                    227:   - Thanks to the great help of mtve, we have a working DEC21140 Ethernet
                    228:     driver and now the virtual C7200 can see the real world!!!
                    229: 
                    230: 01-Nov-2005
                    231: -----------
                    232:   - Beginning of a NETIO module to handle network I/O with external world.
                    233:   - Studied (a bit) the PA-8T controller on a real router.
                    234:   - It is now possible to set the base MAC address of the router
                    235:     using the "-m" flag.
                    236:   - Improved logging
                    237:   - The dec21140 code is generalized and it is now possible to have a 
                    238:     PA-FE-TX in any slot.
                    239:        
                    240: 02-Nov-2005
                    241: -----------
                    242:   - Fixed some problems with the NVRAM when it is empty ;
                    243:   - Added a "net_io.c" module that is an abstraction layer
                    244:     for network communications (TAP, Unix sockets...)
                    245:   - Added the "virtual" MIPS "li" instruction which
                    246:     is in fact "addiu reg,zero,value". This permits to have
                    247:     a more optimized JIT code.
                    248:   - Code factorization in the DEC21140 module.
                    249:   - mtve (aka "Mtv Europe") sent a patch for much better console handling,
                    250:     merge is planned on 03-Nov.
                    251:   - Added a "PA driver" framework.
                    252: 
                    253: 03-Nov-2005
                    254: -----------
                    255:   - The console is better handled: special keys are working, and there
                    256:     is a FIFO buffer to avoid character loss (added a "dev_vtty.c" module).
                    257:   - Merging with Mtve patch, that cleans NETIO module and adds features
                    258:     to the console.
                    259:   - Added a clock divisor hack, but it is not completely working.
                    260:     todo: implement a command line option for this.    
                    261: 
                    262: 08-Nov-2005
                    263: -----------
                    264:   - Mtve added tcp client/server NETIO.
                    265:   - The clock divisor is now working! It is set by the "-k" command line
                    266:     option.
                    267:   - Fixed the csr5 register handling in DEC21140 driver code.
                    268: 
                    269: 13-Nov-2005
                    270: -----------
                    271:   - A lot of cosmetic changes from Mtve.
                    272:   - Modified the infrastructure to allow the use of CPU groups
                    273:     that share a certain number of devices (per-CPU device array).
                    274:     All device drivers have been modified to handle this.
                    275:   - Took a look at LSI ATMizer II+, which is the circuit used on
                    276:     PA-A3-OC3 boards. The ATMizer is based on a MIPS CPU, so it should
                    277:     be possible to emulate it.
                    278:   - Added a per-CPU dedicated thread.
                    279:        
                    280: 23-Nov-2005
                    281: -----------
                    282:   - The PA-A1 ATM stuff is working!!!
                    283: 
                    284: 24-Nov-2005
                    285: -----------
                    286:   - Fixed a bug in the PA-A1 driver in TX buffer chaining.
                    287: 
                    288: 25-Nov-2005
                    289: -----------
                    290:   - Address bus masking, which clears bits 32 and 33 of physical addresses.
                    291:     It avoids the use of device aliasing.
                    292:   - Fixed the DEC21140 TX part which was incomplete.
                    293: 
                    294: 29-Nov-2005
                    295: -----------
                    296:   - There are still bugs in big packet forwarding. This is probably the ATM
                    297:     driver (added more debugging info).
                    298:   - Fabien Devaux wrote a README explaining the command line options.
                    299:        
                    300: 30-Nov-2005
                    301: -----------
                    302:   - Code cleanup in the net_io module.
                    303:   - Added the "ptask" (periodic tasks) module, this is mainly for TX ring
                    304:     scanning of network devices.
                    305: 
                    306: 01-Dec-2005
                    307: -----------
                    308:   - Added a memory logger (FIFO of 10 accesses), this was useful to debug the
                    309:     PA-A1 RX problem.
                    310:   - Fixed a RX buffer chaining problem in PA-A1.
                    311: 
                    312: 02-Dec-2005
                    313: -----------
                    314:   - Added support for PA-A1 reset ("clear int", "shut/no shut").
                    315:   - Optimized the IRQ handling (irq_pending flag in CPU structure
                    316:     is used as a "cache").
                    317: 
                    318: 05-Dec-2005
                    319: -----------
                    320:   - Optimized the cp0 count/compare process for the x86_64 platform
                    321:     (unfortunately, this doesn't work for the x86 platform).
                    322: 
                    323: 06-Dec-2005
                    324: -----------
                    325:   - Modified the NVRAM handling to allow calendar emulation ("sh calendar" is
                    326:     now working).
                    327: 
                    328: 12-Dec-2005
                    329: -----------
                    330:   - Added support for the NPE-400.
                    331:   - Playing with the PA-POS-2OC3 (called "Charlotte" by Cisco).
                    332: 
                    333: 15-Dec-2005
                    334: -----------
                    335:   - Added teq/teqi instructions to the x86_64 jit.
                    336: 
                    337: 20-Dec-2005
                    338: -----------
                    339:   - Added a Virtual ATM switch fabric to emulate an ATM backbone.
                    340: 
                    341: 22-Dec-2005
                    342: -----------
                    343:   - Final release for 0.2.2 train (0.2.2i).
                    344:        
                    345: 23-Dec-2005
                    346: -----------
                    347:   - Starting 0.2.3 train (0.2.3a)
                    348:   - Added proper NPE-150 support.
                    349:   - Added bit-bucket support (zeroed memory zone).
                    350:   - Added NPE type selection.
                    351: 
                    352: 24-Dec-2005
                    353: -----------
                    354:   - Added beginning of support for NPE-300 (endianness problems with PCI
                    355:     controllers ?)
                    356: 
                    357: 28-Dec-2005
                    358: -----------
                    359:   - Fixed the endianness problem with the NPE-300.
                    360:   - Added NPE300-IO-FE.
                    361: 
                    362: 31-Dec-2005
                    363: -----------
                    364:   - Added CLI option to load a symbol file.
                    365:   - Moved JIT code from dynamips.c to mips64_jit.c
                    366:   - Added support for NPE-100.
                    367:   - Updated the README file for NPE type selection.
                    368:   - Suppressed the annoying message "%%Error: Unrecognized I/O card in bay 0"
                    369: 
                    370: 03-Jan-2006
                    371: -----------
                    372:   - The bit clearing in physical addresses was done stupidly.
                    373:     Only the bit 33 is used to bypass L2 caching. 
                    374:     Re-introduced SRAM aliasing.
                    375:     PHY address 0x100000000 is in fact for PCI I/O space.
                    376:   - Began to play with the Cirrus Logic PD6729.
                    377:   - Added Bootflash based on Intel 28F008SA chips (1 Mb)
                    378:   - Fixed the alignment error occuring with "show version".
                    379: 
                    380: 04-Jan-2006
                    381: -----------
                    382:   - Better understanding of Flash SIMM register with bank number and bank
                    383:     size: modified the Flash SIMM code to handle a 8 Mb flash in 1 bank
                    384:     (emulation of Intel 28F016SA chip) which should be sufficient to store 
                    385:     crashinfo files or misc files like configs,...
                    386:   - Added ROM remote logging capabilities (with remote emulator control).
                    387: 
                    388: 05-Jan-2006
                    389: -----------
                    390:   - Integrated HEC and AAL5 field computation functions found at:
                    391:     http://cell-relay.indiana.edu/cell-relay/publications/software/CRC/
                    392:     (Author is Charles Michael Heard).
                    393:   - Added HEC field management to the virtual ATM switch fabric.
                    394:   - Added HEC and AAL5 CRC fields to the TX part of the TNETA1570 driver.
                    395: 
                    396: 06-Jan-2006
                    397: -----------
                    398:   - Added block timestamping, to evaluate use JIT of blocks and eventually
                    399:     enhance algorithm of block classifying.
                    400:   - Added a flag to the virtual devices to prevent use of MMAPed zones
                    401:     by MTS (used by NVRAM driver).
                    402:   - Added functions to extract IOS configuration from NVRAM.
                    403:     Pressing "Ctrl-] + c" nows write configuration to disk at any time.
                    404:        
                    405: 08-Jan-2006
                    406: -----------
                    407:   - Added support for PEM (NPE-B) EEPROM. It will probably allows support
                    408:     of NPE-175/NPE-225.
                    409: 
                    410: 09-Jan-2006
                    411: -----------
                    412:   - Added support for NPE-175/NPE-225 and added NPEB-IO-FE.
                    413: 
                    414: 10-Jan-2006
                    415: -----------
                    416:   - Enhancements to the remote console over TCP port.
                    417:   - Port to the Cygwin environment, allowing the emulator to run on Windows
                    418:     machines!
                    419: 
                    420: 11-Jan-2006
                    421: -----------
                    422:   - Added a feature to push an IOS configuration into NVRAM ("-C" command line
                    423:     option). 
                    424:   - Added enhanced checks to the NVRAM config export.
                    425:   - Added a variant of udp_connect() function for systems that do not support
                    426:     RFC 2553.
                    427:   - Added support for AUX port (TCP port).
                    428: 
                    429: 12-Jan-2006
                    430: -----------
                    431:   - Better memory logger.
                    432:   - Added breakpoint capabilities.
                    433:   - Fixed a segfault occuring on some IOS images with x86_64 JIT.
                    434:     (modified the minimum remaining size in JIT buffer adjustment).
                    435: 
                    436: 13-Jan-2006
                    437: -----------
                    438:   - The ROM is now embedded in the source code (added an utility to convert
                    439:     ELF file to C code). It is possible to use an alternate ROM using the
                    440:     "-R" option.
                    441:   - Enhanced the MTS lookups to allow use of embedded ROM for code execution.
                    442: 
                    443: 15-Jan-2006
                    444: -----------
                    445:   - Added PCI I/O space management.
                    446:   - Added a fake Cirrus Logic PD6729 PCI-to-PCMCIA host adapter.
                    447:   - Cleanups in NPE initialization code.
                    448:   - Fixed some bridge problems with the NPE-300.
                    449:   - Code factorization in the C7200 initialization module.
                    450:   - Generalization of C7200-IO-FE driver for all NPE types.
                    451:   - Added Fault History support.
                    452:   - Added chassis selection (standard or VXR)
                    453:   - Finally found the bug in the non-jit emulation code! It was a cast problem
                    454:     in mult/multu instructions.
                    455: 
                    456: 16-Jan-2006
                    457: -----------
                    458:   - Added generic hash tables.
                    459:   - Added "instruction lookup tables" (ILT), which greatly improve performance
                    460:     of non-JIT mode.
                    461:   - Added instruction statistics for the non-JIT mode ("Ctrl-] + j")
                    462: 
                    463: 17-Jan-2006
                    464: -----------
                    465:   - Added a port for non-x86 hosts. The emulator ran successfully on a
                    466:     Tru64 Unix box (Alpha CPU)! It should also be able to compile and run
                    467:     on MacOS X (PowerPC).
                    468: 
                    469: 24-Jan-2006
                    470: -----------
                    471:   - Added support for DMA channels on Galileo GT64k controllers since it seems
                    472:     that they may be used by IOS (NPE-400 for sure, others NPE?).
                    473:        
                    474: 25-Jan-2006
                    475: -----------
                    476:   - Added Linux Raw Ethernet driver to the NetIO infrastructure.
                    477:   - Hmm, I'm probably missing something in the DMA/SRAM interaction and
                    478:     endianness... 
                    479: 
                    480: 26-Jan-2006
                    481: -----------
                    482:   - The DMA problem is finally fixed, in fact the SRAM can be accessed with
                    483:     byte-swapping.
                    484:   - Added an unicast limiter to the DEC21140, to receive only trafic directed
                    485:     to the virtual machine (+ multicast/broadcast). This is done by analyzing
                    486:     the setup frames (MAC address filter).
                    487: 
                    488: 27-Jan-2006
                    489: -----------
                    490:   - The Linux Raw Ethernet driver needs promiscuous mode to be enabled to 
                    491:     receive appropriate packets, added the required code.
                    492:   - Added endianness definitions, and replaced hton[sl]/ntoh[sl] by the new
                    493:     definitions (for exchanges between VM and host).
                    494: 
                    495: 28-Jan-2006
                    496: -----------
                    497:   - Added parser infrastructure.
                    498: 
                    499: 29-Jan-2006
                    500: -----------
                    501:   - Added a virtual bridge system.
                    502:   - Release 0.2.3b
                    503: 
1.1.1.2   root      504: 31-Jan-2006
                    505: -----------
                    506:   - Fixed a stupid bug in DMA handling, which in certain conditions can
                    507:     cause an infinite loop.
                    508: 
                    509: 01-Feb-2006
                    510: -----------
                    511:   - Added an "instruction block hash" which avoids lookups in the instruction
                    512:     red-black tree. The IBH table takes only 16 Kb of memory.
                    513:   - Added CRC-12 and CRC-16 functions for future use.
                    514:   - Added a "gen_eth" NetIO driver, which allow to access ethernet interfaces
                    515:     in a portable way (tested on Linux and Cygwin).
                    516:   - Fixes to the PowerPC build on Darwin thanks to Olivier Cahagne.
                    517:   - Minor cosmetic changes to display supported/unsupported PA and NPE.
                    518:   - Release 0.2.3c
1.1.1.3 ! root      519: 
        !           520: 06-Feb-2006
        !           521: -----------
        !           522:   - Added working Serial interfaces (PA-4T+) !
        !           523:   - Bug: CDP not working with serial interfaces ("debug cdp events" reports
        !           524:     a checksum problem).
        !           525: 
        !           526: 07-Feb-2006
        !           527: -----------
        !           528:   - Started the 0.2.4 release.
        !           529:   - Modified the command line parser to allow many NIO per PA (for example
        !           530:     for serials).
        !           531:   - A lot of code cleanups in the C7200 initialization.
        !           532:   - Added PA-8T support.
        !           533:   - To fix: CDP with Serial interfaces: using cp_len (instead of cp_len+4)
        !           534:     in packet rx fixes the problem but breaks IP. Probably something related
        !           535:     to padding, see how a CDP packet is sent (special flag in tx ring ?)
        !           536:   - Added virtual "beqz" instruction.
        !           537:   - Added the "-X" option, allowing to use host memory directly instead of
        !           538:     mapping a file to simulate RAM (faster).
        !           539:   - Beginning of code reorganization to allow multiple instance contexts.
        !           540: 
        !           541: 08-Feb-2006
        !           542: -----------
        !           543:   - Added a basic virtual Frame-Relay switch. Unfortunately, LMI must be
        !           544:     implemented to maintain links up.
        !           545:   - Finally found the problem related to CDP! It was simply a padding problem.
        !           546: 
        !           547: 09-Feb-2006
        !           548: -----------
        !           549:   - Add support of promiscuous mode for the DEC21140 "unicast limiter":
        !           550:     promiscuous mode is used in bridging configurations.
        !           551:   - Fixed another bug with the serial interfaces: it seems that there is
        !           552:     a "length substractor" for the txring.
        !           553: 
        !           554: 10-Feb-2006
        !           555: -----------
        !           556:   - Played a little with the PA-POS-OC3, without success.
        !           557:        
        !           558: 14-Feb-2006
        !           559: -----------
        !           560:   - Finally implemented the basic LMI stuff (only ANSI Annex D). Fortunately,
        !           561:     IOS rocks and uses auto-detection, so no extra configuration is needed.
        !           562:   - Integrated a Makefile patch from Max Khon for FreeBSD.
        !           563:   - Updated documentation.
        !           564:   - Release 0.2.4.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.