1772 |
to ghost file handling. |
to ghost file handling. |
1773 |
- 0.2.6-RC4 release. |
- 0.2.6-RC4 release. |
1774 |
|
|
1775 |
07-Dec-2006 |
17-Nov-2006 |
1776 |
----------- |
----------- |
1777 |
- Merged of patch from Thomas Pani to list VM TCP console ports (required |
- 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). |
for gDynagen). |
1784 |
- NM-16ESW: fixed (again) BPDU handling (incorrect VLAN tagging with non |
- NM-16ESW: fixed (again) BPDU handling (incorrect VLAN tagging with non |
1785 |
trunk ports). Backport from 0.2.7 train. |
trunk ports). |
1786 |
- NM-16ESW: fixed MAC addresses used to detect BPDU packets (IS-IS hellos |
- Very minimal PowerPC definitions. Only non-JIT mode at this time. |
1787 |
were considered as BPDU). |
- 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). |