1 |
/* |
/* |
2 |
* Cisco 7200 (Predator) simulation platform. |
* Cisco 7200/3600/2691 simulation platform. |
3 |
*/ |
*/ |
4 |
|
|
5 |
15-Aug-2005, the project is starting. |
15-Aug-2005, the project is starting. |
1486 |
- Incorrect display of device name in PLX9060 driver. |
- Incorrect display of device name in PLX9060 driver. |
1487 |
- Added manpages provided by Erik Wenzel (erik@debian.org). Many thanks |
- Added manpages provided by Erik Wenzel (erik@debian.org). Many thanks |
1488 |
to him for this and for his work on packaging for Debian. |
to him for this and for his work on packaging for Debian. |
1489 |
|
- Final 0.2.5 release. |
1490 |
|
- C7200: Added missing NVRAM checksum. |
1491 |
|
|
1492 |
|
15/21-Sep-2006 |
1493 |
|
----------- |
1494 |
|
- Working on NM-16ESW. |
1495 |
|
|
1496 |
|
22-Sep-2006 |
1497 |
|
----------- |
1498 |
|
- NM-16ESW: interfaces are now up (handles specifically the appropriate |
1499 |
|
MII register). |
1500 |
|
|
1501 |
|
23/25-Sep-2006 |
1502 |
|
-------------- |
1503 |
|
- Still continuing on the NM-16ESW (first packets received/transmitted). |
1504 |
|
|
1505 |
|
26-Sep-2006 |
1506 |
|
----------- |
1507 |
|
- NM-16ESW: seems to be working! (although there are still a lot of things |
1508 |
|
to do). |
1509 |
|
|
1510 |
|
28-Sep-2006 |
1511 |
|
----------- |
1512 |
|
- Added a hack to allow Ethernet NM to work correctly in 3620/3640 |
1513 |
|
(seen when directly attached to the real network with very few packets |
1514 |
|
incoming). |
1515 |
|
- NM-16ESW: proper support for tx ring scatter/gather support. |
1516 |
|
- NM-16ESW: fixed a bug in ARL insertion. |
1517 |
|
- NM-16ESW: send directly BPDU packets to the CPU. |
1518 |
|
|
1519 |
|
29-Sep-2006 |
1520 |
|
----------- |
1521 |
|
- NM-16ESW: added support for "trunks" (ie etherchannel). |
1522 |
|
- Added "Ctrl+p" sequence key to dump Port Adapter / Network Module info |
1523 |
|
(only NM-16ESW reports something at this time). |
1524 |
|
|
1525 |
|
30-Sep-2006 |
1526 |
|
----------- |
1527 |
|
- NM-16ESW: proper management of station movement (etherchannel is handled). |
1528 |
|
|
1529 |
|
01-Oct-2006 |
1530 |
|
----------- |
1531 |
|
- NM-16ESW: added register handling. |
1532 |
|
|
1533 |
|
02-Oct-2006 |
1534 |
|
----------- |
1535 |
|
- NM-16ESW: playing with the port mirroring feature. |
1536 |
|
|
1537 |
|
04-Oct-2006 |
1538 |
|
----------- |
1539 |
|
- Finally understood how to handle link status changes! Now, |
1540 |
|
"shut"/"no shut" is working. Better understanding of MII registers |
1541 |
|
in general. |
1542 |
|
|
1543 |
|
05-Oct-2006 |
1544 |
|
----------- |
1545 |
|
- Fixed bug described in BTS entry #65 (in the case where two virtual |
1546 |
|
addresses point at the same physical address, the JIT can use |
1547 |
|
inappropriate block). This was a "silent" bug. |
1548 |
|
|
1549 |
|
07-Oct-2006 |
1550 |
|
----------- |
1551 |
|
- Modified the hypervisor parser to allow long lines (to upload IOS configs). |
1552 |
|
|
1553 |
|
09-Oct-2006 |
1554 |
|
----------- |
1555 |
|
- NM-16ESW: added ingress and egress port mirroring (todo: BPDU and CDP |
1556 |
|
packets shouldn't be replicated). |
1557 |
|
|
1558 |
|
10-Oct-2006 |
1559 |
|
----------- |
1560 |
|
- 0.2.6-RC1 release. |
1561 |
|
- NM-16ESW: implemented ARL count. Fixed the MAC address table display |
1562 |
|
problems. |
1563 |
|
|
1564 |
|
11-Oct-2006 |
1565 |
|
----------- |
1566 |
|
- C3600: fixed NVRAM configuration export. |
1567 |
|
- Merged a patch for Solaris/x86 from Damjan Marion. |
1568 |
|
- Cleaned the EEPROM stuff to have something more generic. |
1569 |
|
- NM-16ESW: base MAC address is now automatically generated. |
1570 |
|
|
1571 |
|
12-Oct-2006 |
1572 |
|
----------- |
1573 |
|
- NM-16ESW: added support to discard input packets. |
1574 |
|
|
1575 |
|
13-Oct-2006 |
1576 |
|
----------- |
1577 |
|
- NM-16ESW: modified the discard support to let BPDU packets arrive to |
1578 |
|
the CPU. |
1579 |
|
- Added online setup of idle-pc through the hypervisor command |
1580 |
|
"vm set_idle_pc_online <vm_name> <cpu_id>". |
1581 |
|
- Values computed for idle-pc are now stored in the virtual MIPS CPU |
1582 |
|
and can be known through the hypervisor command |
1583 |
|
"vm show_idle_pc_prop <vm_name> <cpu_id>". |
1584 |
|
|
1585 |
|
15-Oct-2006 |
1586 |
|
----------- |
1587 |
|
- Added a timer module. |
1588 |
|
- NM-16ESW: added an ARL ager that removes expired MAC addresses. |
1589 |
|
|
1590 |
|
18-Oct-2006 |
1591 |
|
----------- |
1592 |
|
- Added hypervisor commands to tune idle-pc parameters |
1593 |
|
("vm set_idle_max" and "vm set_idle_sleep_time"). |
1594 |
|
- Centralized NM/PA EEPROM to have common definitions for platforms |
1595 |
|
with the same type of network interfaces. |
1596 |
|
- 0.2.6-RC2 release. |
1597 |
|
|
1598 |
|
19-Oct-2006 |
1599 |
|
----------- |
1600 |
|
- C2691: added sketelon code. |
1601 |
|
- C2691: working DUART. |
1602 |
|
- C2691: added mainboard EEPROM. |
1603 |
|
|
1604 |
|
20-Oct-2006 |
1605 |
|
----------- |
1606 |
|
- Bugfix: dec21140 and amd79c97x were incorrectly discarding frames based |
1607 |
|
on the source address, preventing HSRP/VRRP to work (BTS entry #75). |
1608 |
|
- C2691: added hypervisor module to handle instances. |
1609 |
|
|
1610 |
|
22-Oct-2006 |
1611 |
|
----------- |
1612 |
|
- C2691: trying to understand the network interrupt mechanism. |
1613 |
|
|
1614 |
|
23-Oct-2006 |
1615 |
|
----------- |
1616 |
|
- C2691: fixed Galileo interrupt (IRQ 3), allowing packets to be received! |
1617 |
|
- Added a basic GT96100 system controller (for C2691). |
1618 |
|
- GT96100: added MII registers. |
1619 |
|
- Added a basic Flash device to be used as ROM+NVRAM for C2691. |
1620 |
|
- C2691: NVRAM (simulated from flash) is now ok. |
1621 |
|
- C2691: Analyzed environmental monitor register. No warning anymore. |
1622 |
|
|
1623 |
|
24-Oct-2006 |
1624 |
|
----------- |
1625 |
|
- C2691: NVRAM config export is working, config import requires more work |
1626 |
|
(since write operations to flash are not immediate). |
1627 |
|
- Allowed Galileo DMA IRQ to preempt the idle loop. |
1628 |
|
- Fixed ATA Flash "current of sectors per card" which must be in LSW/MSW |
1629 |
|
order and not MSW/LSW. |
1630 |
|
- Added another ATA Flash access method (for c2691). |
1631 |
|
- C2691: added support for CompactFlash. |
1632 |
|
|
1633 |
|
25-Oct-2006 |
1634 |
|
----------- |
1635 |
|
- GT96100: added some definitions for the Ethernet part. |
1636 |
|
|
1637 |
|
26-Oct-2006 |
1638 |
|
----------- |
1639 |
|
- Working on TX part for GT96100. Unfortunately, don't know yet how to |
1640 |
|
signal an interrupt for it on the 2691 platform :( |
1641 |
|
|
1642 |
|
27-Oct-2006 |
1643 |
|
----------- |
1644 |
|
- C2691: found how to announce correctly NM presence in slot 1. |
1645 |
|
- GT96100: finally found how to notify appropriately the network interrupt: |
1646 |
|
the Serial Cause Register has to be handled. |
1647 |
|
- C2691: added the glue code to set up GT96100 ethernet ports. |
1648 |
|
- GT96100: added RX part. Packets are now sucessfully handled. |
1649 |
|
- C2691: better understanding of network interrupt status registers. |
1650 |
|
- C2691: added correct flash code detection. |
1651 |
|
- GT96100: fixed the "PHY reset" problem. |
1652 |
|
- C2691: added default correct chassis base MAC address. |
1653 |
|
|
1654 |
|
28-Oct-2006 |
1655 |
|
----------- |
1656 |
|
- GT96100: added hash function (Mode 0 ok, Mode 1 to fix) for Ethernet |
1657 |
|
address filtering + appropriate definitions. |
1658 |
|
|
1659 |
|
29-Oct-2006 |
1660 |
|
----------- |
1661 |
|
- GT96100: fixed hash mode 1 (not tested). |
1662 |
|
- GT96100: added address filtering process. |
1663 |
|
|
1664 |
|
30-Oct-2006 |
1665 |
|
----------- |
1666 |
|
- GT96100: added minimal MIB counters. |
1667 |
|
- Implemented LBA mode for PCMCIA ATA disk devices and fixed data access. |
1668 |
|
- Changed the default idle sleep time from 50ms to 30ms to avoid timer |
1669 |
|
IRQ loss and timer drift. |
1670 |
|
- Added hypervisor command "vm show_timer_drift <vm_instance> <cpu_id>" |
1671 |
|
to display potential problem with a given idle-pc value. |
1672 |
|
- C2691: added proper support for IO memory. |
1673 |
|
- NM-16ESW: generalized code to support multiple platforms. |
1674 |
|
- C2691: added support for NM-16ESW. |
1675 |
|
|
1676 |
|
31-Oct-2006 |
1677 |
|
----------- |
1678 |
|
- C3725: initial support. Hardware very similar to c2691: Cisco rocks! |
1679 |
|
- C3745: added skeleton. |
1680 |
|
- C3745: fixed GT96100 address. |
1681 |
|
- C3745: added PCI bridges. |
1682 |
|
- C3745: Network Modules are working! |
1683 |
|
- C3745: CompactFlash working. |
1684 |
|
|
1685 |
|
01-Nov-2006 |
1686 |
|
----------- |
1687 |
|
- C3745: finally understood how to handle the system EEPROMs. |
1688 |
|
- Updated documentation (README). |
1689 |
|
- GT96100: minor enhancement of interrupt handling. |
1690 |
|
|
1691 |
|
02-Nov-2006 |
1692 |
|
----------- |
1693 |
|
- Added support for "ghost" RAM: instances use a RAM file (previously |
1694 |
|
created) and use copy-on-write on it. It allows to share common memory |
1695 |
|
between instances and so less memory is used. |
1696 |
|
|
1697 |
|
03-Nov-2006 |
1698 |
|
----------- |
1699 |
|
- Better support for ghost RAM, added hypervisor commands |
1700 |
|
"vm set_ghost_status" and "vm set_ghost_file". |
1701 |
|
|
1702 |
|
04-Nov-2006 |
1703 |
|
----------- |
1704 |
|
- NM-16ESW: fixed incorrect BPDU handling (which caused to add a 2nd |
1705 |
|
802.1Q tag to BPDU packets) and now 0100.0ccc.cccd is recognized as |
1706 |
|
a BPDU MAC address (BTS entry #). |
1707 |
|
- DEC21140: fixed CSR8 handling (missed frame counter), which returned |
1708 |
|
an undefined value (BTS entry #81). |
1709 |
|
- Merged a patch from Rostislav Opocensky who added support for C3600 |
1710 |
|
in nvram_export utility. |
1711 |
|
- Re-enaebled debugging info for NM-16ESW on 2691/3600/37xx. |
1712 |
|
|
1713 |
|
05-Nov-2006 |
1714 |
|
----------- |
1715 |
|
- NM-16ESW: fixed a crash due to incomplete device removal. |
1716 |
|
|
1717 |
|
06-Nov-2006 |
1718 |
|
----------- |
1719 |
|
- Validated use of Serial interfaces with 2691/3725/3745. |
1720 |
|
- Correct config register handling for 3600/2691/3725/3745 platforms |
1721 |
|
(config register setting was ignored). |
1722 |
|
- Added detection of empty NVRAM for 2691/3725/3745 to set the ignore config |
1723 |
|
flag in the config register (to boot faster). |
1724 |
|
- C3745: Fixed NVRAM properties. |
1725 |
|
- C7200/C3600: rewrite of configuration push into NVRAM (can now be done |
1726 |
|
offline). |
1727 |
|
- C2691/C3725/C3745: added support for config push into ROM flash |
1728 |
|
(simulated NVRAM). |
1729 |
|
|
1730 |
|
07-Nov-2006 |
1731 |
|
----------- |
1732 |
|
- Modified config export from NVRAM for all platforms (can now be done |
1733 |
|
offline). |
1734 |
|
- Better handling of base MAC address (2691/3725/3745 + NM-16ESW). |
1735 |
|
|
1736 |
|
08-Nov-2006 |
1737 |
|
----------- |
1738 |
|
- Rework of the MTS subsystem (generalization of MTS64 algorithms to MTS32 |
1739 |
|
which was broken). |
1740 |
|
- Fast memory operations for 32-bit mode. |
1741 |
|
|
1742 |
|
09-Nov-2006 |
1743 |
|
----------- |
1744 |
|
- Rewrite of the MIPS TLB lookup operation. |
1745 |
|
|
1746 |
|
10-Nov-2006 |
1747 |
|
----------- |
1748 |
|
- Fixed another bug in TLB lookup. |
1749 |
|
- Beginning of work for PA-MC-8TE1 support. |
1750 |
|
- Added hypervisor commands to send messages to instances VTTY. |
1751 |
|
- Working on PLX PCI9054 for PA-MC-8TE1. |
1752 |
|
|
1753 |
|
11-Nov-2006 |
1754 |
|
----------- |
1755 |
|
- Continuing a bit on PA-MC-8TE1. |
1756 |
|
|
1757 |
|
14-Nov-2006 |
1758 |
|
----------- |
1759 |
|
- Correct handling of VPN2 mask for TLB lookup. |
1760 |
|
- bugfix: support of c3745 was missing in the hypervisor. |
1761 |
|
- Merged a patch from Akim Dreyer for Debian support. |
1762 |
|
- 0.2.6-RC3 release. |
1763 |
|
|
1764 |
|
15-Nov-2006 |
1765 |
|
----------- |
1766 |
|
- C2691/C3725: fixed a crash occuring on some IOS images due to incorrect |
1767 |
|
platform type. |
1768 |
|
- Modified performance counter to have stats for instructions or blocks |
1769 |
|
(cannot be used simultaneously). |
1770 |
|
- "beq" jump code (x86) was incorrectly using non-local jump. |
1771 |
|
- Bugfix: incorrect number of arguments for hypervisor commands related |
1772 |
|
to ghost file handling. |
1773 |
|
- 0.2.6-RC4 release. |
1774 |
|
|
1775 |
|
17-Nov-2006 |
1776 |
|
----------- |
1777 |
|
- Major code cleanup to make devices independent from the virtual processors. |
1778 |
|
- Generic CPU stuff. |
1779 |
|
|
1780 |
|
20-Nov-2006 |
1781 |
|
----------- |
1782 |
|
- Merged of patch from Thomas Pani to list VM TCP console ports (required |
1783 |
|
for gDynagen). |
1784 |
|
- NM-16ESW: fixed (again) BPDU handling (incorrect VLAN tagging with non |
1785 |
|
trunk ports). |
1786 |
|
- Very minimal PowerPC definitions. Only non-JIT mode at this time. |
1787 |
|
- PPC: added "crorc", "cror", "crnor", "crnand", "crandc", "crand". |
1788 |
|
- PPC: added "and", "andc", "andi", "andis", "creqv", "crxor". |
1789 |
|
- PPC: added "eqv", "isync", "mfmsr", "mtmsr", "nand", "nor", "or", "orc". |
1790 |
|
- PPC: added "ori", "oris", "sync", "xor", "xori", "xoris", "mfcr". |
1791 |
|
- PPC: added "addi", "addis". |
1792 |
|
|
1793 |
|
21-Nov-2006 |
1794 |
|
----------- |
1795 |
|
- PPC: added "cmp", "cmpl", "cmpi", "cmpli", "extsb", "extsh". |
1796 |
|
- PPC: added "add", "add.", "and.", "andc.", "extsb.", "extsh.". |
1797 |
|
- PPC: added a dummy memory access function (does nothing yet). |
1798 |
|
- PPC: added "lbz", "lbzu", "lbzux", "lbzx". |
1799 |
|
- PPC: added "lhz", "lhzu", "lhzux", "lhzx". |
1800 |
|
- PPC: added "lwz", "lwzu", "lwzux", "lwzx". |
1801 |
|
- PPC: added "stb", "stbu", "stbux", "stbx". |
1802 |
|
- PPC: added "sth", "sthu", "sthux", "sthx". |
1803 |
|
- PPC: added "stw", "stwu", "stwux", "stwx". |
1804 |
|
- PPC: added "xor.", "b", "ba", "bl", "bla". |
1805 |
|
- bugfix: hypervisor commands specific to CPU crashed if the VM was not |
1806 |
|
started (noticed by Greg). |
1807 |
|
|
1808 |
|
22-Nov-2006 |
1809 |
|
----------- |
1810 |
|
- PPC: added "addo", "addo.", "addc", "addc.", "addco", "addco." |
1811 |
|
- PPC: added "addic", "addic.", "adde", "adde.", "addeo", "addeo." |
1812 |
|
- PPC: added "neg", "neg.", "nego", "nego.", "nand.", "nor.", "or.", "orc." |
1813 |
|
- PPC: added "slw", "slw.", "srw", "srw." |
1814 |
|
|
1815 |
|
23-Nov-2006 |
1816 |
|
----------- |
1817 |
|
- PPC: added "rlwimi", "rlwimi.", "rlwinm", "rlwinm.", "rlwnm", "rlwnm." |
1818 |
|
|
1819 |
|
24-Nov-2006 |
1820 |
|
----------- |
1821 |
|
- PPC: added "mulhw", "mulhw.", "mulhwu", "mulhwu.", "mulli". |
1822 |
|
- PPC: added "mullw", "mullw.", "mullwo", "mullwo." |
1823 |
|
- PPC: added "subf", "subf.", "subfo", "subfo." |
1824 |
|
- PPC: added "bc", "bca", "bcl", "bcla", "bclr", "bclrl". |
1825 |
|
- PPC: added minimal memory operation glue code. |
1826 |
|
|
1827 |
|
25-Nov-2006 |
1828 |
|
----------- |
1829 |
|
- PPC: added dump functions for MMU registers. |
1830 |
|
- PPC: added support for BAT registers. |
1831 |
|
|
1832 |
|
26-Nov-2006 |
1833 |
|
----------- |
1834 |
|
- PPC: fixed branch offset computation. |
1835 |
|
- PPC: added a dummy virtual machines for tests. |
1836 |
|
- PPC: fixed bclrx opcodes. |
1837 |
|
- PPC: added "mflr", "mtlr". |
1838 |
|
|
1839 |
|
27-Nov-2006 |
1840 |
|
----------- |
1841 |
|
- PPC: fixes in comparison functions. |
1842 |
|
- PPC: added "subfc", "subfc.", "subfco", "subfco." |
1843 |
|
|
1844 |
|
28-Nov-2006 |
1845 |
|
----------- |
1846 |
|
- PPC: added "subfic", "mfctr". |
1847 |
|
- PPC: fixed a lot of bugs. |
1848 |
|
|
1849 |
|
29-Nov-2006 |
1850 |
|
----------- |
1851 |
|
- PPC: added "rfi", "lha", "lhau", "lhaux", "lhax", "addze", "addme". |
1852 |
|
- PPC: fixed "mtcrf". |
1853 |
|
|
1854 |
|
30-Nov-2006 |
1855 |
|
----------- |
1856 |
|
- Added IRQ routing vectors for virtual machines. |
1857 |
|
|
1858 |
|
01-Dec-2006 |
1859 |
|
----------- |
1860 |
|
- Playing with NPE-G2, just for fun. |
1861 |
|
|
1862 |
|
02-Dec-2006 |
1863 |
|
----------- |
1864 |
|
- NPE-G2: environmental monitor is now working! |
1865 |
|
|
1866 |
|
03-Dec-2006 |
1867 |
|
----------- |
1868 |
|
- PPC: added an empty MV64460 controller (need the datasheet). |
1869 |
|
- PPC: added "lmw" instruction, fixed "stmw". |
1870 |
|
- PPC: added "cntlzw". |
1871 |
|
|
1872 |
|
05-Dec-2006 |
1873 |
|
----------- |
1874 |
|
- NPE-G2: analyzed midplane data: this is similar to other NPE. |
1875 |
|
- Added a basic PLX6520CB PCI bridge. |
1876 |
|
- NPE-G2: added appropriate PCI bridges and PCI busses for Port Adapters. |
1877 |
|
|
1878 |
|
06-Dec-2006 |
1879 |
|
----------- |
1880 |
|
- NPE-G2: added PCI I/O space. |
1881 |
|
- NPE-G2: added CLPD6729, it is now possible to use PCMCIA ATA disks. |
1882 |
|
|
1883 |
|
08-Dec-2006 |
1884 |
|
----------- |
1885 |
|
- MV64460: added ugly experimental SDMA support to have a console for the |
1886 |
|
NPE-G2 (using the GT96100A datasheet). This code must be rewritten. |
1887 |
|
- MV64460/NPE-G2: playing with the various IRQs. |
1888 |
|
|
1889 |
|
09-Dec-2006 |
1890 |
|
----------- |
1891 |
|
- PPC: added idle-pc support. |
1892 |
|
|
1893 |
|
10-Dec-2006 |
1894 |
|
----------- |
1895 |
|
- PPC: added virtual breakpoint support. |
1896 |
|
|
1897 |
|
15-Dec-2006 |
1898 |
|
----------- |
1899 |
|
- PPC: added functions to manually set up page tables. |
1900 |
|
- MV64460: added more interrupt definitions (with help of GT96100A manual). |
1901 |
|
|
1902 |
|
19-Dec-2006 |
1903 |
|
----------- |
1904 |
|
- MV64460: fixed interrupt loss problem. |
1905 |
|
|
1906 |
|
20-Dec-2006 |
1907 |
|
----------- |
1908 |
|
- Basic port of the microcode for the PowerPC platforms. IOS now starts |
1909 |
|
normally (like the MIPS64 platforms). |
1910 |
|
|
1911 |
|
21-Dec-2006 |
1912 |
|
----------- |
1913 |
|
- NPE-G2: found OIR IRQ. |
1914 |
|
- MV64460: added more definitions (for SDMA). |
1915 |
|
- Cleanup of MIPS64 JIT code (better naming). |
1916 |
|
|
1917 |
|
22-Dec-2006 |
1918 |
|
----------- |
1919 |
|
- PPC32: added the minimal JIT core infrastructure. |
1920 |
|
- PPC32-JIT: added unknown opcode handling. |
1921 |
|
- PPC32-JIT: added some instructions. |
1922 |
|
|
1923 |
|
23-24-Dec-2006 |
1924 |
|
-------------- |
1925 |
|
- PPC32-JIT: added more instructions. |
1926 |
|
|
1927 |
|
26-Dec-2006 |
1928 |
|
----------- |
1929 |
|
- PPC32-JIT: continuing... |
1930 |
|
|
1931 |
|
27-Dec-2006 |
1932 |
|
----------- |
1933 |
|
- PPC32-JIT: added fast memory operations. |
1934 |
|
|
1935 |
|
28-Dec-2006 |
1936 |
|
----------- |
1937 |
|
- Added PPC32 nojit support. |
1938 |
|
- PPC32: better checking for IRQs. |
1939 |
|
|
1940 |
|
29-Dec-2006 |
1941 |
|
----------- |
1942 |
|
- PPC32-JIT: added "amd64" support. |
1943 |
|
- PPC32: added "lwbrx" and "stwbrx" instructions. |
1944 |
|
|
1945 |
|
30-Dec-2006 |
1946 |
|
----------- |
1947 |
|
- PPC32: added "tw"/"twi" instructions. |
1948 |
|
- PPC32: added TLB support for PowerPC 405. |
1949 |
|
- PPC32: added "tlbre", "tlbwe", "iccci", "dccci", "mfdcr", "mtdcr" for |
1950 |
|
PowerPC 405. |
1951 |
|
- Fixed a bug with ILT tables (incorrect count - last entry was missing). |
1952 |
|
|
1953 |
|
31-Dec-2006 |
1954 |
|
----------- |
1955 |
|
- PPC32: added "dcbst" instruction. |
1956 |
|
|
1957 |
|
05-Jan-2007 |
1958 |
|
----------- |
1959 |
|
- NPE-G2: correct handling of DUART interrupt with I/O card. |
1960 |
|
|
1961 |
|
07-Jan-2007 |
1962 |
|
----------- |
1963 |
|
- NPE-G2: correct console selection (NPE or I/O board) depending on slot 0. |
1964 |
|
- PPC32: fixup for decrementer interrupt. |
1965 |
|
- Generic CPU MTS rebuild (mips64/ppc32). |
1966 |
|
- Split of memory.c / mips64_mem.c. memory.c will only contain generic |
1967 |
|
functions independent of the CPU model. |
1968 |
|
- Memlogger is now independent of CPU type (untested). |
1969 |
|
|
1970 |
|
08-Jan-2007 |
1971 |
|
----------- |
1972 |
|
- Rewrite of the MTS subsystem to have less overhead with inlined |
1973 |
|
operations -> better performance. |
1974 |
|
|
1975 |
|
09-Jan-2007 |
1976 |
|
----------- |
1977 |
|
- Finished the MTS rewrite (amd64, statistics). |
1978 |
|
- NPE-G2: added a 64 Mb bootflash (needs to be tested). |
1979 |
|
|
1980 |
|
10-Jan-2007 |
1981 |
|
----------- |
1982 |
|
- PPC32: added clean loading of BAT registers. |
1983 |
|
- Fixed device remapping. |
1984 |
|
|
1985 |
|
12-Jan-2007 |
1986 |
|
----------- |
1987 |
|
- PPC32: added "lswi", "stswi", "lswx", "stswx". |
1988 |
|
|
1989 |
|
13-Jan-2007 |
1990 |
|
----------- |
1991 |
|
- PPC32: fixed carry evaluation for "srawi" instruction. |
1992 |
|
|
1993 |
|
15-Jan-2007 |
1994 |
|
----------- |
1995 |
|
- Playing with c2600 to see if support can be added. |
1996 |
|
|
1997 |
|
17-Jan-2007 |
1998 |
|
----------- |
1999 |
|
- C2600: adding skeleton code, added NM selection. However, unable |
2000 |
|
to get a positive result for "sh diag 0". |
2001 |
|
|
2002 |
|
19-Jan-2007 |
2003 |
|
----------- |
2004 |
|
- Experimenting with sparse memory to reduce virtual memory use in |
2005 |
|
hypervisor mode. |
2006 |
|
|
2007 |
|
20-Jan-2007 |
2008 |
|
----------- |
2009 |
|
- Continuing on sparse memory work. |
2010 |
|
|
2011 |
|
21-Jan-2007 |
2012 |
|
----------- |
2013 |
|
- C2600: added mainboard basic support. |
2014 |
|
- MPC860: added a basic IDMA support. |
2015 |
|
- C2600: first packet exchange :) |
2016 |
|
|
2017 |
|
22-Jan-2007 |
2018 |
|
----------- |
2019 |
|
- C2600: added basic mainboard drivers for integrated Ethernet ports. |
2020 |
|
- C2600: added IRQ preemption for network interrupt and DUART. |
2021 |
|
- Fixed use of sparse memory with ghost files. |
2022 |
|
- Added a command line option to test sparse memory ("--sparse-mem"). |
2023 |
|
- Added locking for shared ghost images. |
2024 |
|
|
2025 |
|
24-Jan-2007 |
2026 |
|
----------- |
2027 |
|
- Validation of dynagen 0.8.3 with sparse memory and ghost image enabled. |
2028 |
|
- MIPS64: fixed a bug of the JIT which incorrectly handled jump instructions |
2029 |
|
with a delay slot in another page. |
2030 |
|
|
2031 |
|
25-Jan-2007 |
2032 |
|
----------- |
2033 |
|
- C2600: added NVRAM configuration import/export and appropriate config |
2034 |
|
register setting if NVRAM is empty at startup. |
2035 |
|
- C2600: added a basic bootflash support. |
2036 |
|
|
2037 |
|
26-Jan-2007 |
2038 |
|
----------- |
2039 |
|
- C2600: io-mem size support. |
2040 |
|
|
2041 |
|
31-Jan-2007 |
2042 |
|
----------- |
2043 |
|
- i8254x: added skeleton code (for PA-2FE-TX). |
2044 |
|
|
2045 |
|
01-Feb-2007 |
2046 |
|
----------- |
2047 |
|
- i8254x: added MDIO code. |
2048 |
|
|
2049 |
|
04-Feb-2006 |
2050 |
|
----------- |
2051 |
|
- C2600: added "set_chassis" hypervisor command. |
2052 |
|
- C2600: possible chassis/mainboards now displayed at command line help. |
2053 |
|
|
2054 |
|
05-Feb-2007 |
2055 |
|
----------- |
2056 |
|
- Fixed a bug when handling packet discard flag on NM-16ESW (seems to be |
2057 |
|
only valid for native packets). |
2058 |
|
|
2059 |
|
06-Feb-2007 |
2060 |
|
----------- |
2061 |
|
- Working on i8254x TX part. Problem with TX ring wrapping. |
2062 |
|
|
2063 |
|
08-Feb-2007 |
2064 |
|
----------- |
2065 |
|
- Added packet capture to NIO filters, with PCAP output (Greg Anuzelli). |
2066 |
|
- i82543: RX and TX parts are now basically working (of course, no IP/TCP |
2067 |
|
checksum offloading, but this doesn't seem to be used). |
2068 |
|
|
2069 |
|
09-Feb-2007 |
2070 |
|
----------- |
2071 |
|
- C7200: added C7200-IO-2FE card, based on Intel i82543 chips. |
2072 |
|
- C7200: added PA-GE interface, but TX part is broken. |
2073 |
|
- i8254x: TDH/TDT and RDH/RDT registers are located at a different address. |
2074 |
|
PA-GE is now working. |
2075 |
|
|
2076 |
|
12-Feb-2007 |
2077 |
|
----------- |
2078 |
|
- i8254x: delayed RX IRQ. |
2079 |
|
- MIPS64: fixed (again) TLB lookup for entries in ksseg and kseg3. |
2080 |
|
- Added a "byte-swapping" device. |
2081 |
|
|
2082 |
|
13-Feb-2007 |
2083 |
|
----------- |
2084 |
|
- i8254x: added byte-swapped data transfer. |
2085 |
|
- PA-POS-OC3: applied byte-swapped data transfer for TX ring (RX ring |
2086 |
|
doesn't seem to need this - strange). |
2087 |
|
|
2088 |
|
14-Feb-2007 |
2089 |
|
----------- |
2090 |
|
- C7200: added C7200-IO-GE+E, based on Intel i82543 chips. |
2091 |
|
|
2092 |
|
16-Feb-2007 |
2093 |
|
----------- |
2094 |
|
- MIPS64: fixed a problem of jump in delay slots (occuring with a "forward" |
2095 |
|
jump). This caused a malfunction for C7200-IO-2FE and C7200-IO-GE-E cards. |
2096 |
|
- C7200: adjusted the byte-swapped zone for NPE-300 io-memory. |
2097 |
|
|
2098 |
|
18-Feb-2007 |
2099 |
|
----------- |
2100 |
|
- PPC32: Remove JIT compiled pages when a write occurs (required for c2600). |
2101 |
|
|
2102 |
|
19-Feb-2007 |
2103 |
|
----------- |
2104 |
|
- PPC32: Optimization for writes on JIT page at address 0. |
2105 |
|
|
2106 |
|
20-Feb-2007 |
2107 |
|
----------- |
2108 |
|
- Working on MSFC1 - just for fun (this will probably never route any |
2109 |
|
packet). |
2110 |
|
- Fixed DEC21140 TX ring interrupt generation. |
2111 |
|
|
2112 |
|
21-Feb-2007 |
2113 |
|
----------- |
2114 |
|
- Continuing on MSFC1 (added EEPROM, SRAM, ...) |
2115 |
|
- Added NMC93C56 EEPROM support. |
2116 |
|
|
2117 |
|
23-Feb-2007 |
2118 |
|
----------- |
2119 |
|
- MPC860: fixed a bug in DMA handling which caused incorrect writes out |
2120 |
|
of DPRAM memory. |
2121 |
|
- PPC32: added missing breakpoint function for JIT. |
2122 |
|
- C7200: rework on network interrupts, for clean handling per slot/port. |
2123 |
|
|
2124 |
|
24-Feb-2007 |
2125 |
|
----------- |
2126 |
|
- C7200: Net IRQs are now correctly dispatched. Need to fix all drivers |
2127 |
|
to generate IRQs correctly. |
2128 |
|
- DEC21140: proper management of CSR5 register for new interrupt handling. |
2129 |
|
- i8254x: converted to new interrupt handling. |
2130 |
|
- Am79c971: fixed interrupt management + a bug with IRQ mask. |
2131 |
|
- PA-A1/PA-POS-OC3/Mueslix: fixed interrupt management. |
2132 |
|
|
2133 |
|
25-Feb-2007 |
2134 |
|
----------- |
2135 |
|
- C2691: updated interrupt infrastructure. |
2136 |
|
- NM-16ESW: fixed interrupt handling. |
2137 |
|
|
2138 |
|
26-Feb-2007 |
2139 |
|
----------- |
2140 |
|
- C3725/C3745: updated interrupt infrastructure. |
2141 |
|
|
2142 |
|
27-Feb-2007 |
2143 |
|
----------- |
2144 |
|
- C2600: updated interrupt infrastructure. |
2145 |
|
|
2146 |
|
02-Mar-2007 |
2147 |
|
----------- |
2148 |
|
- Added a cache for the instruction lookup tables (ILT), allowing a faster |
2149 |
|
start. |
2150 |
|
|
2151 |
|
03-Mar-2007 |
2152 |
|
----------- |
2153 |
|
- Fixed instruction tables (problem seen on amd64 platforms). |
2154 |
|
|
2155 |
|
07-Mar-2007 |
2156 |
|
----------- |
2157 |
|
- MIPS64/PPC32: various code cleanups in JIT code. |
2158 |
|
- MIPS64: replace the JIT block lookup algorithm based on physical |
2159 |
|
pages by s-boxes (x86 only). |
2160 |
|
|
2161 |
|
08-Mar-2007 |
2162 |
|
----------- |
2163 |
|
- PPC32: JIT block lookup optimization (x86 only). |
2164 |
|
|
2165 |
|
09-Mar-2007 |
2166 |
|
----------- |
2167 |
|
- MIPS64/PPC32: JIT block lookup optimization (amd64). |
2168 |
|
|
2169 |
|
12-Mar-2007 |
2170 |
|
----------- |
2171 |
|
- PPC32: fixed invalid hash index in JIT block invalidation (thanks to Greg). |
2172 |
|
|
2173 |
|
13-Mar-2007 |
2174 |
|
----------- |
2175 |
|
- Updated the Mueslix driver and fixed it for packets > 128 bytes |
2176 |
|
(IRQ clearing delay required because of the new interrupt system). |
2177 |
|
- Allowed MTU up to 18000 bytes on the Mueslix driver. This required an |
2178 |
|
update of the NIO core. |
2179 |
|
- Full dump of the idle-pc values when no "good" value can be determined. |
2180 |
|
|
2181 |
|
25-Mar-2007 |
2182 |
|
----------- |
2183 |
|
- Store the idle-pc values in the CPU structure when no "good" value is |
2184 |
|
available, so they are readable/usable by dynagen. |
2185 |
|
- PA-POS-OC3: fixed memory copy which caused invalid frames to be sent. |
2186 |
|
|
2187 |
|
27-Mar-2007 |
2188 |
|
----------- |
2189 |
|
- Added a device access counter for each CPU for diagnostics purposes. |
2190 |
|
|
2191 |
|
29-Mar-2007 |
2192 |
|
----------- |
2193 |
|
- PPC32: optimizations for eflags->cr computing. |
2194 |
|
|
2195 |
|
30-Mar-2007 |
2196 |
|
----------- |
2197 |
|
- PPC32: optimizations in CR handling (split in 8 fields). |
2198 |
|
|
2199 |
|
31-Mar-2007 |
2200 |
|
----------- |
2201 |
|
- PPC32: added CR optimizations to amd64 backend. |
2202 |
|
|
2203 |
|
02-Apr-2007 |
2204 |
|
----------- |
2205 |
|
- Fixed "nojit" build (reported by Philipp Brenner, BTS entry #156). |
2206 |
|
- AMD Am79c970 FastEthernet interfaces now announce 100 Mb/s Full duplex. |
2207 |
|
|
2208 |
|
04-Apr-2007 |
2209 |
|
----------- |
2210 |
|
- Fixed build (NetIO filters) when PCAP is lacking. |
2211 |
|
|
2212 |
|
09-Apr-2007 |
2213 |
|
----------- |
2214 |
|
- Added NM-1A-OC3MM EEPROM definition for future work. |
2215 |
|
- NM-16ESW: filter CDP specifically to not propagate frames to all ports. |
2216 |
|
|
2217 |
|
12-Apr-2007 |
2218 |
|
----------- |
2219 |
|
- Added an hypervisor command to disable direct jumps between JIT blocks |
2220 |
|
(vm set_blk_direct_jump <vm_name> <0|1>). |
2221 |
|
|
2222 |
|
15-Apr-2007 => 22-Apr-2007 |
2223 |
|
=========================== |
2224 |
|
- PPC32: rewrite of JIT with peephole and CR flags optimizations. |
2225 |
|
|
2226 |
|
23-Apr-2007 |
2227 |
|
----------- |
2228 |
|
- PPC32: converted amd64 JIT to new system. |
2229 |
|
|
2230 |
|
24-Apr-2007 |
2231 |
|
----------- |
2232 |
|
- MIPS64: fixed a bug in cache instruction preventing compressed IOS images |
2233 |
|
to boot. |
2234 |
|
- PPC32: same as above for ICBI instruction. |
2235 |
|
- PPC32: fixed ADDZE instruction. |
2236 |
|
|
2237 |
|
25-Apr-2007 |
2238 |
|
----------- |
2239 |
|
- C3725: fixed interrupt problems with slot 2 (bad shift - only 4 irq |
2240 |
|
lines per port). |
2241 |
|
|
2242 |
|
23-May-2007 |
2243 |
|
----------- |
2244 |
|
- GT96100/ETH: fixed interrupt handling for TX packets (the interrupt was |
2245 |
|
incorrectly disabled when no packet was available on a ring, causing |
2246 |
|
packet loss when the two ports were enabled) - BTS entry #171. |