Change Log for lwip
=================================
2014-13-06
	* Fix for CR 802558 - LWIP library doesn't compile
	with XilKernel/FreeRTOS BSP.
	* Fix for CR 801076 - Few configurable options of
	library are not propagated during compilation.
2014-06-06
	* Fix for CR 800240 - Removed the limitation of
	supporting only Marvel PHY in AXI Ethernet adapter.
2014-1-30
	* Fix for CRs 771112 and 766087. The sys_arch.c
	last made (related to freertos) are reverted back.
2013-12-1
	* A new version of lwip (v2_0) is created with tcl
	changes releated to HSM and new versioing scheme.
2013-11-08 
	* Fix for CR#759896.
2013-11-02
	* Made changes in the file
	src/contrib/ports/xilinx/sys_arch.c to fix issues
	in the freertos port.
2013-10-24
	* New version of lwip140(1_07_a) created. Support
	for emaclite on zynq is added by making changes in the
	files:
	data/lwip140_v2_1_0.mld
	data/lwip140_v2_1_0.tcl
	src/contrib/ports/xilinx/netif/xemacliteif.c
	* Support for gmii to sgmii converter PHY is added by
	making changes in the file:
	src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c
2013-09-07
	* Fix for CR# 735656. Modified 
	  src/contrib/ports/xilinx/include/arch/cc.h
	  to add a hash define for LWIP_RAND
2013-08-06
	* New version of lwIP library (lwip140_v1_06a) is
	  created.
	* Added support for AC701 board PHY and added 
	  AxiEthernetUtilPhyDelay() API (CR 725551).
	  Files changed:
	  src/contrib/ports/xilinx/netif/xaxiemacif_physpeed.c
	* Fixed CR 727441 - AXI Ethernet design on Zynq with
	  checksum configuration parameters disabled will fail
	  to work.
	  Files changed:
	  data/lwip140_v2_1_0.tcl
	  
2013-05-06
	* Added new parameter 'ip_reass_max_pbufs' to IP options of
	  lwIP settings and removed unused parameter 'ip_reass_bufsize'.
	  Files Changed:
	  data/lwip140_v2_1_0.mld
	  data/lwip140_v2_1_0.tcl
	* Increased PBUF Queue Size to fix TSR #715250 - "UDP RX mode is
	  not working for 64K datagram packets".
	  Files Changed:
	  src/contrib/ports/xilinx/netif/xpqueue.c
	  src/contrib/ports/xilinx/include/netif/xpqueue.h

2013-05-01
	* Modified the handling of fragmented packets in the
	  Zynq lwIP adapter (src/contrib/ports/xilinx/netif/xemacpsif_dma.c).
	  This is done to fix the CR 716040. The Used bit of the 1st BD
	  in the BD chain allocated for the packet fragments is cleared
	  at the end after clearing out the Used bits of all other BDs in
	  the chain.
2013-04-26
	* Modified parameter *_SGMII_PHYADDR to *_PHYADDR, the
	  config parameter C_PHYADDR applies to SGMII/1000BaseX 
	  modes of operation (CR 704195).

2013-04-19
	* Created a new version of lwip140 (v1_05_a). The changes
	  are made in src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c
	  to add support for the gmii2rgmii converter core.
2013-02-18
	* Added support for AXI Ethernet on Zynq. Changes 
	  done in lwip140_v2_1_0.mld, lwip140_v2_1_0.tcl for
	  this support
	  Changed the AXI-Ethernet adapter files:
	  src/contrib/ports/xilinx/netif/xaxiemacif_physpeed.c,
	  src/contrib/ports/xilinx/netif/xaxiemacif.c,
	  src/contrib/ports/xilinx/netif/xaxiemacif_dma.c,
	  src/contrib/ports/xilinx/netif/xaxiemacif_hw.c
	* A new configuration parameter 'use_axieth_on_zynq'
	  is added to lwIP software library.  This parameter
	  should be selected if the AXI Ethernet adapter is
	  being used for lwIP on Zynq. 

2013-01-24
	* Added SW workaround support for the SI #692601.
	  Description for the SI:
	  Under heavy Rx traffic, there will be a large
	  number of errors related to receive buffer not available
	  and the Rx data path can become unresponsive. To reduce the
	  probabilities for hitting this Silicon Issue, the SW writes
	  to bit 18 to flush a packet from Rx DPRAM immediately.

2013-01-21
	* Created a new version of lwIP (v1_04_a).
	* Changed the Emac adapter file:
	src/contrib/ports/xilinx/netif/xaxiemacif_physpeed.c,
	Added support for SGMII mode (CR:676793);

2012-08-17
	* Created a new version of lwIP (v1_03_a).
	* Changed data/lwip140_v2_1_0.tcl to fix UDP isses in FreeRTOS and
	fix compilation issues when Emac1 is used (instead of Emac0).
	* Changed the EmacPs adpater files:
	src/contrib/ports/xilinx/netif/xemacpsif_dma.c,
	src/contrib/ports/xilinx/netif/xemacpsif_hw.c,
	src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c,
	src/contrib/ports/xilinx/netif/xemacpsif.c
	src/contrib/ports/xilinx/include/netif/xemacpsif.h
	to do code cleanups, modify the BD handling on Rx path for error cases,
	modify error handling.
	Added fast interrupt support for microblaze/axiethernet. Made
	changes in xaxiemacif_dma.c for this.
	Made changes to src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c
	to simplify the handling of SLCR register update for Emac0 and Emac1.
	Made changes in tcl amd mld file to add a new configuration entry
	for Zynq to specify the Emac Interface number. If only one
	interface is present, then this entry will have no effect. But
	if both the interfaces are present in the hardware, then depending
	on this configuration entry a particular Emac will be chosen.
	lwIP does not support use of both the interfaces simultaneously.

2012-07-06
	* Made changes in src/contrib/ports/xilinx/netif/xaxiemacif_dma.c
	to make changes in some of AxiDMA API calls which are changed in
	the latest version of AxiDma driver.

2012-06-04
	* Added support for freertos. Changes are done in lwip140_v2_1_0.mld,
	lwip140_v2_1_0.tcl, sys_arch.h, xadapter.h, xadapter.c, xemacpsif.c,
	xemacpsif_dma.c, xemacpsif_hw.c, sys_arch.c.
	* Modified error handling for EmacPs errors. Changes are done in
	xemacpsif.c, xemacpsif_dma.c, xemacpsif_hw.c.

2012-04-15
	* In function init_dma in file xemacpsif_dma.c, the calls to
	Xil_DisableMMU and Xil_EnableMMU are removed. Now for changing
	attributes in the translation table, the only function called is
	Xil_SetTlbAttributes.

2012-03-12
	* In file xaxiemacif_dma.c, the function alloc_bdspace is updated
	so that the assert calls are under #if DEBUG statement. This is
	done to remove compilation issues with the new microblaze
	toolchain.
	Similar changes are done in xlltemacif_dma.c.

2012-03-12
	* In file xemacliteif.c the function xemacif_recv_handler is
	updated to free the pbufs upon error conditions (before returning
	back from the function).

2012-03-03
	* The SLCR divisor settings for GEM Tx clock for Zynq is now used
	from xparameters.h. Corresponding changes are made in
	src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c.
	* Changes are made in src/contrib/ports/xilinx/sys_arch_raw.c for
	functions sys_arch_protect and sys_arch_unprotect. Earlier for
	Zynq/PEEP cases for sys_arch_protect we used to disable only the
	Emac interrupt and enable back it in sys_arch_unprotect. Now
	for Zynq all interrupts are disabled in CPSR (sys_arch_protect)
	and enabled back in sys_arch_unprotect.
	* Changes are made in src/contrib/ports/xilinx/netif/xemacpsif_dma.c
	for proper interrupt disabling and enabling for Tx. Also some
	optimizations are done to improve performance numbers.

2012-01-25
	* Following changes are made in file
	src/contrib/ports/xilinx/netif/xemacpsif_dma.c :
	Changes are made for Zynq/PEEP adapter so that the BDs are allocated
	at fixed addresses 0xFF00000 (for Rx Bds) and 0xFF10000 (for Tx Bds).
	The address range of 1 MB starting at 0xFF00000 is made uncached by
	setting attributes in the MMU table (in function init_dma).
	* Changes are made in
	src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c to have separate
	PHY initializations for PEEP and Zynq boards.
	* Changes are made in src/contrib/ports/xilinx/sys_arch_raw.c. In
	function sys_arch_protect the EmacIntr is disabled instead of disabling
	the IRQ in CPSR. This change needs to be revisited later and a better
	solution needs to be adapted. Similar changes are done in
	sys_arch_unprotect.
	* DMA/GEM Error handling is added/changed for Zynq/PEEP. Hence changes
	are made in src/contrib/ports/xilinx/netif/xemacpsif.c and
	src/contrib/ports/xilinx/netif/xemacpsif_hw.c.
	* The MDIO divisor is set as 224 in file
	src/contrib/ports/xilinx/netif/xemacpsif_hw.c.
2011-11-18
	* Upgraded the to lwip140. Because of it there are lots of changes
	throughout the lwip files.
	* There was an existing bug because of which txperf used to hang
	after a few minutes. It is fixed in src/lwip-1.4.0/src/core/tcp_out.c.
	After entering into the function tcp_output, we disable interrupts
	and just before existing the function, we enable back the interrupts.
	This is done for microblaze and ppc platforms.
	* For lwip140 the semaphore, mutex, mailbox and pthread interfaces
	have changed. Corresponding changes are done in file sys_arch.c.
	* The functions SYS_ARCH_PROTECT and SYS_ARCH_UNPROTECT are now
	made as macros for better performance.
	* The file src/include/lwip/def.h is changed so that for endian
	swapping only macros are used instead of functions. This is done
	to have better performance.
	* Support for Zynq is added.
2011-08-29
	* src/makefile: Made changes not to echo files being compiled.
	* src/contrib/ports/xilinx/include/netif/xaxiemacif.h: Added function
	prototypes for PHY configuration.
	* src/contrib/ports/xilinx/include/netif/xlltemacif.h: Added function
	prototypes for PHY configuration.
	* src/contrib/ports/xilinx/netif/xadapter.c: Made changes in function
	xemacif_input to remove compilation warnings. The exact change is,
	replacing "return;" statements with "return 0;".
	* src/contrib/ports/xilinx/netif/xaxiemacif_dma.c: Removed the unused
	variable "csum_in_packet" in the function "is_checksum_valid".
	* src/contrib/ports/xilinx/netif/xaxiemacif_hw.c: Removed unused variables
	"rdy" and "lock_message_printed" in function "init_axiemac".
	The PHY configuration related code is removed from the function
	"init_axiemac", since it is now being done in a separate function.
	* src/contrib/ports/xilinx/netif/xaxiemacif_physpeed.c: The unused function
	"get_marvel_phy_speed" is removed.
	The function "get_IEEE_phy_speed" is changed to correctly advertise speeds
	and restart autonegotiation.
	A new function "configure_IEEE_phy_speed" is added to configure PHY speeds
	when autonegotiation is not done.
	A new function "Phy_Setup" is added to configure the PHY.
	Hash defines for PHY registers and PHY bit settings are added.
	* src/contrib/ports/xilinx/netif/xemacliteif: The function
	"low_level_init" is changed to start PHY autonegotiation when required
	and to set correct PHY speeds when autonegotiation is not being used.
	A new function "detect_phy_emaclite" is added to detect the PHY address
	connected.
	A new function "get_IEEE_phy_speed_emaclite" is added to correctly
	advertise relevant PHY speeds (1000 Mbps not advertised) and to restart
	PHY autonegotiation. This function returns the autonegotiated PHY speed.
	A new function "configure_IEEE_phy_speed_emaclite" is added to
	configure the proper PHY speed when PHY autonegotiation is not
	happenning.
	Hash defines for PHY registers and PHY bit settings are added.
	* src/contrib/ports/xilinx/netif/xlltemacif_hw.c:The PHY configuration
	related code is removed from the function "init_lltemac", since it is now
	being done in a separate function.
	* src/contrib/ports/xilinx/netif/xlltemacif_physpeed.c:The unused function
	"get_marvel_phy_speed" is removed.
	The function "get_IEEE_phy_speed" is changed to correctly advertise speeds
	and restart autonegotiation.
	A new function "configure_IEEE_phy_speed" is added to configure PHY speeds
	when autonegotiation is not done.
	A new function "Phy_Setup" is added to configure the PHY.
	Hash defines for PHY registers and PHY bit settings are added.
2014-02-12
	* Change makefile to remove -p option with mkdir. CR# 773090.
2014-04-16
	* Fixed the CR#788954 Changes are Made in the xemacliteif.c file
2014-04-20
	* Fixed teh CR#792040 Changes are Made in the lwip tcl file
2014-04-23
	* Fixed the CR#781147 Changes are made in the Makefile.

