diff options
author | David Vrabel <david.vrabel@citrix.com> | 2013-01-30 02:38:37 -0800 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2013-01-30 02:38:37 -0800 |
commit | 122b7986416622dbddeb71fdbc41aa93b5f7bbab (patch) | |
tree | 6ecc6a59d3c0d3fc687e1300f2514610b03dc2c9 /extras | |
parent | 6cf13d0d523e20557e11a94fda51452f54c3a1b5 (diff) | |
download | xen-122b7986416622dbddeb71fdbc41aa93b5f7bbab.tar.gz xen-122b7986416622dbddeb71fdbc41aa93b5f7bbab.tar.bz2 xen-122b7986416622dbddeb71fdbc41aa93b5f7bbab.zip |
mini-os: build fixes for lwip 1.3.2
Various fixes to mini-os needed to build lwip 1.3.2:
- Don't build the tests.
- Add BSD-style endianness macros to endian.h.
- free() is called via a function pointer so it needs to be a real
function. Do the same for malloc() and realloc().
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'extras')
-rw-r--r-- | extras/mini-os/Makefile | 2 | ||||
-rw-r--r-- | extras/mini-os/README | 2 | ||||
-rw-r--r-- | extras/mini-os/include/endian.h | 4 | ||||
-rw-r--r-- | extras/mini-os/include/xmalloc.h | 10 | ||||
-rw-r--r-- | extras/mini-os/lib/xmalloc.c | 12 |
5 files changed, 22 insertions, 8 deletions
diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile index 2302a2316d..50d038b8a5 100644 --- a/extras/mini-os/Makefile +++ b/extras/mini-os/Makefile @@ -136,7 +136,7 @@ arch_lib: ifeq ($(CONFIG_LWIP),y) # lwIP library -LWC := $(shell find $(LWIPDIR)/ -type f -name '*.c') +LWC := $(shell find $(LWIPDIR)/src -type f -name '*.c') LWC := $(filter-out %6.c %ip6_addr.c %ethernetif.c, $(LWC)) LWO := $(patsubst %.c,%.o,$(LWC)) LWO += $(OBJ_DIR)/lwip-arch.o diff --git a/extras/mini-os/README b/extras/mini-os/README index 41573aa9eb..710a303d7a 100644 --- a/extras/mini-os/README +++ b/extras/mini-os/README @@ -19,7 +19,7 @@ This includes: - to build it just type make. -- to build it with TCP/IP support, download LWIP 1.3 source code and type +- to build it with TCP/IP support, download LWIP 1.3.2 source code and type make LWIPDIR=/path/to/lwip/source diff --git a/extras/mini-os/include/endian.h b/extras/mini-os/include/endian.h index cdf432bc43..534551767a 100644 --- a/extras/mini-os/include/endian.h +++ b/extras/mini-os/include/endian.h @@ -12,4 +12,8 @@ #include <arch_wordsize.h> +#define BYTE_ORDER __BYTE_ORDER +#define BIG_ENDIAN __BIG_ENDIAN +#define LITTLE_ENDIAN __LITTLE_ENDIAN + #endif /* endian.h */ diff --git a/extras/mini-os/include/xmalloc.h b/extras/mini-os/include/xmalloc.h index 13b242e21e..11fb0279f6 100644 --- a/extras/mini-os/include/xmalloc.h +++ b/extras/mini-os/include/xmalloc.h @@ -14,16 +14,16 @@ #include <limits.h> #define DEFAULT_ALIGN (sizeof(unsigned long)) -#define malloc(size) _xmalloc(size, DEFAULT_ALIGN) -#define free(ptr) xfree(ptr) -#define realloc(ptr, size) _realloc(ptr, size) -/* Free any of the above. */ +extern void *malloc(size_t size); +extern void *realloc(void *ptr, size_t size); +extern void free(void *ptr); + +/* Free memory from any xmalloc*() call. */ extern void xfree(const void *); /* Underlying functions */ extern void *_xmalloc(size_t size, size_t align); -extern void *_realloc(void *ptr, size_t size); #endif diff --git a/extras/mini-os/lib/xmalloc.c b/extras/mini-os/lib/xmalloc.c index 015cd31bb9..23e367d3d6 100644 --- a/extras/mini-os/lib/xmalloc.c +++ b/extras/mini-os/lib/xmalloc.c @@ -267,7 +267,12 @@ void xfree(const void *p) /* spin_unlock_irqrestore(&freelist_lock, flags); */ } -void *_realloc(void *ptr, size_t size) +void *malloc(size_t size) +{ + return _xmalloc(size, DEFAULT_ALIGN); +} + +void *realloc(void *ptr, size_t size) { void *new; struct xmalloc_hdr *hdr; @@ -296,6 +301,11 @@ void *_realloc(void *ptr, size_t size) return new; } + +void free(void *ptr) +{ + xfree(ptr); +} #endif /* |