summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2015-05-04 20:37:41 +0800
committerBernard Xiong <[email protected]>2015-05-04 20:37:41 +0800
commitdcc6e398165e61859411185db01c99a11ed30a8f (patch)
tree08b4753b17c16295f20016244c67a6cacafe2420 /components
parent1f52f79d0be3174698c4fe2ad4fcf70284733be7 (diff)
[lwIP] Use lock scheduler instead of disable interrupt for lwIP porting.
Diffstat (limited to 'components')
-rw-r--r--components/net/lwip-1.4.1/src/arch/include/arch/cc.h26
-rw-r--r--components/net/lwip-1.4.1/src/lwipopts.h21
2 files changed, 18 insertions, 29 deletions
diff --git a/components/net/lwip-1.4.1/src/arch/include/arch/cc.h b/components/net/lwip-1.4.1/src/arch/include/arch/cc.h
index 0633494d1a..a4dc1732f8 100644
--- a/components/net/lwip-1.4.1/src/arch/include/arch/cc.h
+++ b/components/net/lwip-1.4.1/src/arch/include/arch/cc.h
@@ -53,7 +53,10 @@ typedef rt_uint32_t mem_ptr_t;
#define S32_F "ld"
#define X32_F "lx"
-#ifdef RT_USING_NEWLIB
+#ifdef RT_USING_LIBC
+#if defined(__CC_ARM) || defined(__IAR_SYSTEMS_ICC__)
+#include <sys/errno.h>
+#else
#include <errno.h>
/* some errno not defined in newlib */
#define ENSRNOTFOUND 163 /* Domain name not found */
@@ -61,16 +64,20 @@ typedef rt_uint32_t mem_ptr_t;
180 here because the number "108" which is used
in arch.h has been assigned to another error code. */
#define ESHUTDOWN 180
-#elif RT_USING_MINILIBC
-#include <errno.h>
-#define EADDRNOTAVAIL 99 /* Cannot assign requested address */
+#endif /* __CC_ARM/__IAR_SYSTEMS_ICC__ */
#else
#define LWIP_PROVIDE_ERRNO
#endif
-#ifdef RT_USING_MINILIBC
-#include <time.h>
-#define LWIP_TIMEVAL_PRIVATE 0
+#ifdef RT_USING_LIBC
+#include <sys/time.h>
+#define LWIP_TIMEVAL_PRIVATE 0
+#else
+#define LWIP_TIMEVAL_PRIVATE 1
+#endif
+
+#if defined(RT_USING_DFS_LWIP)
+#define LWIP_COMPAT_SOCKETS 0
#endif
#if defined(__CC_ARM) /* ARMCC compiler */
@@ -100,8 +107,11 @@ void sys_arch_assert(const char* file, int line);
#define LWIP_PLATFORM_DIAG(x) do {rt_kprintf x;} while(0)
#define LWIP_PLATFORM_ASSERT(x) do {rt_kprintf(x); sys_arch_assert(__FILE__, __LINE__);}while(0)
-
#include "string.h"
+#define SYS_ARCH_DECL_PROTECT(level)
+#define SYS_ARCH_PROTECT(level) rt_enter_critical()
+#define SYS_ARCH_UNPROTECT(level) rt_exit_critical()
+
#endif /* __ARCH_CC_H__ */
diff --git a/components/net/lwip-1.4.1/src/lwipopts.h b/components/net/lwip-1.4.1/src/lwipopts.h
index 0501df6ea8..cb7def8ae6 100644
--- a/components/net/lwip-1.4.1/src/lwipopts.h
+++ b/components/net/lwip-1.4.1/src/lwipopts.h
@@ -353,25 +353,4 @@
#define LWIP_RAND rand
#endif
-#if defined(RT_USING_DFS_LWIP)
-#define LWIP_COMPAT_SOCKETS 0
-#endif
-
-#if defined(__CC_ARM) || defined(__IAR_SYSTEMS_ICC__)
-
-#if defined(RT_USING_PTHREADS)
-#define LWIP_TIMEVAL_PRIVATE 0
-#include <posix_types.h>
-#else
-/* there is no timeval in CC_ARM and IAR */
-#define LWIP_TIMEVAL_PRIVATE 1
-#endif /* RT_USING_PTHREADS */
-
-#elif defined (__GNUC__)
-
-#define LWIP_TIMEVAL_PRIVATE 0
-#include <sys/time.h>
-
-#endif
-
#endif /* __LWIPOPTS_H__ */