mbed-os/features/netsocket
Kevin Bracey 6fe50763f3 i.MX RT1050: Reactivate data cache
Since commit 12c6b1bd8, the i.MX RT1050 has effectively had its data
cache disabled, as the SDRAM was marked Shareable; for the Cortex-M7,
shareable memory is not cached.

This was done to make the Ethernet driver work without any cache
maintenance code. This commit adds cache maintenance and memory barriers
to the Ethernet driver, and removes the Shareable attribute from the
SDRAM, so the data cache is used again.

Cache code in the base fsl_enet.c driver has not been activated - the
bulk of it is in higher-level Read and Write calls that we're not using,
and there is one flawed invalidate in its initialisation. Instead
imx_emac.cpp takes full cache responsibility.

This commit also marks the SDRAM as read/write-allocate. As the
Cortex-M7 has its "Dynamic read allocate mode" to automatically switch
back to read-allocate in cases where write allocate is working poorly
(eg large memset), this should result in a performance boost with no
downside.

Activating write-allocate is also an attempt to provoke any flaws in
cache maintenance - the Ethernet transmit buffers for example will be
more likely to have a little data in the cache that needs cleaning.
2019-04-04 12:06:24 +03:00
..
cellular Cellular: Non-IP doxygen updates 2019-02-18 09:53:59 +02:00
emac-drivers i.MX RT1050: Reactivate data cache 2019-04-04 12:06:24 +03:00
CellularBase.h CellularBase -> CellularInterface tidy 2019-03-20 10:12:14 +02:00
CellularInterface.h Cellular: add SPDX identifier 2019-02-19 10:42:04 +02:00
DNS.h Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00
DTLSSocket.cpp Astyle fixes 2018-11-19 15:31:31 +02:00
DTLSSocket.h removing 'easy to use' 2019-01-21 11:45:12 +02:00
DTLSSocketWrapper.cpp Add license headers into TLSSocket files 2018-11-20 11:47:29 +02:00
DTLSSocketWrapper.h Adds newlines to avoid compiler warnings 2019-01-23 16:43:32 +02:00
EMAC.h Edit EMAC.h 2018-10-29 15:14:07 -05:00
EMACInterface.cpp Multihoming initial release 2019-02-19 17:39:46 +02:00
EMACInterface.h Multihoming initial release 2019-02-19 17:39:46 +02:00
EMACMemoryManager.h L3IP Interface Implementation 2018-12-20 15:23:43 +01:00
EthInterface.h typo fixes, future->present 2019-01-21 11:45:12 +02:00
EthernetInterface.cpp Add NetworkInterface::get_default_instance() 2018-05-23 12:25:17 +03:00
EthernetInterface.h doxygen fixes 2018-10-24 20:24:33 +01:00
InternetSocket.cpp Merge pull request #9387 from tymoteuszblochmobica/Sockets 2019-02-21 13:50:03 +01:00
InternetSocket.h Multihoming initial release 2019-02-19 17:39:46 +02:00
L3IP.h L3IP Interface Implementation 2018-12-20 15:23:43 +01:00
L3IPInterface.cpp Multihoming initial release 2019-02-19 17:39:46 +02:00
L3IPInterface.h Multihoming initial release 2019-02-19 17:39:46 +02:00
MeshInterface.h Create new netinterface Doxygen group 2019-01-21 11:43:49 +02:00
NetStackMemoryManager.cpp L3IP Interface Implementation 2018-12-20 15:23:43 +01:00
NetStackMemoryManager.h L3IP Interface Implementation 2018-12-20 15:23:43 +01:00
NetworkInterface.cpp Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00
NetworkInterface.h CellularBase -> CellularInterface tidy 2019-03-20 10:12:14 +02:00
NetworkInterfaceDefaults.cpp CellularBase -> CellularInterface tidy 2019-03-20 10:12:14 +02:00
NetworkStack.cpp Merge pull request #9801 from vmedcy/fix-eventqueue-h 2019-03-16 22:52:40 -05:00
NetworkStack.h Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00
OnboardNetworkStack.h Multihoming initial release 2019-02-19 17:39:46 +02:00
Socket.h Documentation of TLSSocket behavior on AUTH_FAILURE 2019-01-22 12:40:42 +01:00
SocketAddress.cpp Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00
SocketAddress.h Multiple memory handling fixes 2019-02-20 14:15:57 +02:00
SocketStats.cpp Move socket-stats-enable to socket-stats-enabled. 2019-03-01 13:31:33 -06:00
SocketStats.h Update recently added previous macro name uses in tests 2019-03-01 13:53:47 -06:00
TCPServer.cpp InternetSocket: Use atomics, not volatile 2019-01-18 15:37:11 +02:00
TCPServer.h Fix netsocket Doxygen group 2019-01-21 11:43:49 +02:00
TCPSocket.cpp Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00
TCPSocket.h Fix netsocket Doxygen group 2019-01-21 11:43:49 +02:00
TLSSocket.cpp Refactor DTLSSocket to use Socket::getpeername() 2018-11-19 15:19:49 +02:00
TLSSocket.h Documentation of TLSSocket behavior on AUTH_FAILURE 2019-01-22 12:40:42 +01:00
TLSSocketWrapper.cpp Merge pull request #9759 from michalpasztamobica/memory_handling_fixes 2019-02-20 12:07:45 -06:00
TLSSocketWrapper.h Documentation of TLSSocket behavior on AUTH_FAILURE 2019-01-22 12:40:42 +01:00
UDPSocket.cpp Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00
UDPSocket.h Add socketstats stub functions for unittest and addressed reviews 2018-11-26 09:42:50 -06:00
WiFiAccessPoint.cpp Merge remote-tracking branch 'upstream/master' into feature_wifi_ublox_merge 2016-10-02 07:29:07 -05:00
WiFiAccessPoint.h netsocket: astyle fix 2018-08-03 13:34:33 +01:00
WiFiInterface.h Fix NetworkInterface::set_default_parameters binary compatibility 2019-01-28 03:27:10 -08:00
mbed_lib.json Move socket-stats-enable to socket-stats-enabled. 2019-03-01 13:31:33 -06:00
nsapi.h Implement DTLSSocketWrapper and fix non-blocking connections on TLSSocket 2018-11-19 15:19:49 +02:00
nsapi_dns.cpp Merge pull request #9801 from vmedcy/fix-eventqueue-h 2019-03-16 22:52:40 -05:00
nsapi_dns.h Multihoming initial release 2019-02-19 17:39:46 +02:00
nsapi_ppp.h netsocket: astyle fix 2018-08-03 13:34:33 +01:00
nsapi_types.h Multihoming initial release 2019-02-19 17:39:46 +02:00