Change Log for lwip
=================================
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.


