提交 14c7ebb6 创建 作者: Silas Boyd-Wickizer's avatar Silas Boyd-Wickizer

Stubs for lwIP sys_arch.

上级 5515a5e3
......@@ -51,6 +51,8 @@ nettest(void)
}
#ifdef LWIP
int errno;
static void
tcpip_init_done(void *arg)
{
......@@ -63,4 +65,9 @@ initnet(void)
tcpip_init(&tcpip_init_done, NULL);
cprintf("initnet:\n");
}
#else
void
initnet(void)
{
}
#endif
......@@ -28,6 +28,7 @@ LWIP_SRCFILES += \
lwip/src/core/init.c \
lwip/src/core/tcp_in.c \
lwip/src/core/dhcp.c \
lwip/src/core/def.c \
lwip/src/core/mem.c \
lwip/src/core/memp.c \
lwip/src/core/netif.c \
......@@ -36,6 +37,7 @@ LWIP_SRCFILES += \
lwip/src/core/stats.c \
lwip/src/core/sys.c \
lwip/src/core/tcp.c \
lwip/src/core/timers.c \
lwip/src/core/ipv4/ip_addr.c \
lwip/src/core/ipv4/icmp.c \
lwip/src/core/ipv4/ip.c \
......@@ -45,10 +47,16 @@ LWIP_SRCFILES += \
lwip/src/core/tcp_out.c \
lwip/src/core/udp.c \
lwip/src/netif/etharp.c \
net/sys_arch.c \
LWIP_OBJFILES := $(patsubst %.c, $(O)/%.o, $(LWIP_SRCFILES))
LWIP_OBJFILES := $(patsubst %.S, $(O)/%.o, $(LWIP_OBJFILES))
$(O)/net/%.o: net/%.c
@echo " CC $@"
$(Q)mkdir -p $(@D)
$(Q)$(CC) $(LWIP_CFLAGS) $(LWIP_INCLUDES) -c -o $@ $<
$(O)/lwip/src/%.o: lwip/src/%.c
@echo " CC $@"
$(Q)mkdir -p $(@D)
......
#ifndef LWIP_ARCH_CC_H
#define LWIP_ARCH_CC_H
#include <types.h>
void panic(const char*) __attribute__((noreturn));
void cprintf(const char*, ...);
typedef u32 u32_t;
typedef s32 s32_t;
typedef u64 u64_t;
typedef s64 s64_t;
typedef u16 u16_t;
typedef s16 s16_t;
typedef u8 u8_t;
typedef s8 s8_t;
typedef uptr mem_ptr_t;
#define PACK_STRUCT_FIELD(x) x __attribute__((packed))
#define PACK_STRUCT_STRUCT __attribute__((packed))
#define PACK_STRUCT_BEGIN
#define PACK_STRUCT_END
#define S16_F "d"
#define U16_F "u"
#define X16_F "x"
#define S32_F "d"
#define U32_F "u"
#define X32_F "x"
#define LWIP_PLATFORM_DIAG(x) cprintf x
#define LWIP_PLATFORM_ASSERT(x) panic(x)
#ifndef BYTE_ORDER
#define BYTE_ORDER LITTLE_ENDIAN
#endif
#endif
#ifndef LWIP_ARCH_PERF_H
#define LWIP_ARCH_PERF_H
#define PERF_START
#define PERF_STOP(x)
#endif
#ifndef LWIP_ARCH_SYS_ARCH_H
#define LWIP_ARCH_SYS_ARCH_H
typedef int sys_sem_t;
typedef int sys_mbox_t;
typedef int sys_thread_t;
typedef int sys_mutex_t;
#define SYS_MBOX_NULL (-1)
#define SYS_SEM_NULL (-1)
void lwip_core_lock(void);
void lwip_core_unlock(void);
void lwip_core_init(void);
#define SYS_ARCH_DECL_PROTECT(lev)
#define SYS_ARCH_PROTECT(lev)
#define SYS_ARCH_UNPROTECT(lev)
#define SYS_ARCH_NOWAIT 0xfffffffe
#endif
#ifndef XV6_LWIPOPTS_H
#define XV6_LWIPOPTS_H
#define LWIP_STATS 0
#define LWIP_STATS_DISPLAY 0
#define LWIP_DHCP 1
#define LWIP_COMPAT_SOCKETS 0
//#define SYS_LIGHTWEIGHT_PROT 1
#define LWIP_PROVIDE_ERRNO 1
#define MEM_ALIGNMENT 4
#define MEMP_NUM_PBUF 64
#define MEMP_NUM_UDP_PCB 8
#define MEMP_NUM_TCP_PCB 32
#define MEMP_NUM_TCP_PCB_LISTEN 16
#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN// at least as big as TCP_SND_QUEUELEN
#define MEMP_NUM_NETBUF 128
#define MEMP_NUM_NETCONN 32
#define MEMP_NUM_SYS_TIMEOUT 6
#define PER_TCP_PCB_BUFFER (16 * 4096)
#define MEM_SIZE (PER_TCP_PCB_BUFFER*MEMP_NUM_TCP_SEG + 4096*MEMP_NUM_TCP_SEG)
#define PBUF_POOL_SIZE 512
#define PBUF_POOL_BUFSIZE 2000
#define TCP_MSS 1460
#define TCP_WND 24000
#define TCP_SND_BUF (16 * TCP_MSS)
// lwip prints a warning if TCP_SND_QUEUELEN < (2 * TCP_SND_BUF/TCP_MSS),
// but 16 is faster..
#define TCP_SND_QUEUELEN (2 * TCP_SND_BUF/TCP_MSS)
//#define TCP_SND_QUEUELEN 16
// Print error messages when we run out of memory
#define LWIP_DEBUG 1
//#define TCP_DEBUG LWIP_DBG_ON
//#define MEMP_DEBUG LWIP_DBG_ON
//#define SOCKETS_DEBUG LWIP_DBG_ON
//#define DBG_TYPES_ON LWIP_DBG_ON
//#define PBUF_DEBUG LWIP_DBG_ON
//#define API_LIB_DEBUG LWIP_DBG_ON
#define DBG_MIN_LEVEL DBG_LEVEL_SERIOUS
#define LWIP_DBG_MIN_LEVEL 0
#define MEMP_SANITY_CHECK 0
#endif
void* memset(void*, int, unsigned int);
void* memcpy(void *dst, const void *src, unsigned int n);
void* memset(void*, int, unsigned int);
unsigned int strlen(const char* str);
#include "lwip/sys.h"
#define DIE panic(__func__)
//
// mbox
//
err_t
sys_mbox_new(sys_mbox_t *mbox, int size)
{
DIE;
}
void
sys_mbox_set_invalid(sys_mbox_t *mbox)
{
DIE;
}
err_t
sys_mbox_trypost(sys_mbox_t *mbox, void *msg)
{
DIE;
}
int
sys_mbox_valid(sys_mbox_t *mbox)
{
DIE;
}
void
sys_mbox_post(sys_mbox_t *mbox, void *msg)
{
DIE;
}
void
sys_mbox_free(sys_mbox_t *mbox)
{
DIE;
}
u32_t
sys_arch_mbox_fetch(sys_mbox_t *mbox, void **msg, u32_t timeout)
{
DIE;
}
u32_t
sys_arch_mbox_tryfetch(sys_mbox_t *mbox, void **msg)
{
DIE;
}
//
// sem
//
err_t
sys_sem_new(sys_sem_t *sem, u8_t count)
{
DIE;
}
void
sys_sem_free(sys_sem_t *sem)
{
DIE;
}
void
sys_sem_set_invalid(sys_sem_t *sem)
{
DIE;
}
int
sys_sem_valid(sys_sem_t *sem)
{
DIE;
}
void
sys_sem_signal(sys_sem_t *sem)
{
DIE;
}
u32_t
sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout)
{
DIE;
}
//
// mutex
//
err_t
sys_mutex_new(sys_mutex_t *mutex)
{
DIE;
}
void
sys_mutex_lock(sys_mutex_t *mutex)
{
DIE;
}
void
sys_mutex_unlock(sys_mutex_t *mutex)
{
DIE;
}
void
sys_mutex_free(sys_mutex_t *mutex)
{
DIE;
}
//
// thread
//
sys_thread_t
sys_thread_new(const char *name, lwip_thread_fn thread, void *arg,
int stacksize, int prio)
{
DIE;
}
//
// init
//
void
sys_init(void)
{
}
......@@ -6,6 +6,7 @@ typedef unsigned char uint8;
typedef uint64 uintptr;
typedef uint8 u8;
typedef char s8;
typedef uint16 u16;
typedef short s16;
typedef uint32 u32;
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论