xen: LWIP source code with patches applied for stubdoms

lwIP is a small implementation of the TCP/IP stack designed for use in
embedded systems. This lwIP recipe does not configure nor does it build
the product. Instead, this recipe applies the patches normally found in
the Xen/stubdom source tree and creates a source package that can be
used for cross-compiling for MiniOS.

The current Xen source code is hardcoded to fetch a specific version of
this package. The patch files originate from the Xen/stubdom source
tree. This recipe provides the flexibility to change version or modify
the patches.

Signed-off-by: Kurt Bodiker <kurt.bodiker@braintrust-us.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
Kurt Bodiker 2018-05-01 10:05:28 -04:00 committed by Bruce Ashfield
parent af55d88066
commit 9f3e354bc3
4 changed files with 2454 additions and 0 deletions

View File

@ -0,0 +1,13 @@
Index: src/core/dhcp.c
===================================================================
--- a/src/core/dhcp.c
+++ b/src/core/dhcp.c
@@ -1356,7 +1358,7 @@ dhcp_create_request(struct netif *netif)
dhcp->msg_out->giaddr.addr = 0;
for (i = 0; i < DHCP_CHADDR_LEN; i++) {
/* copy netif hardware address, pad with zeroes */
- dhcp->msg_out->chaddr[i] = (i < netif->hwaddr_len) ? netif->hwaddr[i] : 0/* pad byte*/;
+ dhcp->msg_out->chaddr[i] = (i < (netif->hwaddr_len > NETIF_MAX_HWADDR_LEN ? NETIF_MAX_HWADDR_LEN : netif->hwaddr_len)) ? netif->hwaddr[i] : 0/* pad byte*/;
}
for (i = 0; i < DHCP_SNAME_LEN; i++) {
dhcp->msg_out->sname[i] = 0;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,24 @@
# Copyright (C) 2018 kebodiker <kurt.bodiker@braintrust-us.com>
# Released under the MIT license (see COPYING.MIT for the terms)
require stubdom.inc
# clear this out to break dependency circle
DEPENDS = ""
# Nothing to configure or compile
# For stubdoms, lwip is basically a source package with a couple of patches applied.
do_configure[noexec] = "1"
do_compile[noexec] = "1"
# needed because this directory isn't typically part of a sysroot
SYSROOT_DIRS += "${prefix}/lwip"
FILES_${PN} = "\
${prefix} \
"
do_install() {
install -d ${D}${prefix}/lwip
cp -r -t ${D}${prefix}/lwip ${S}/src/*
}

View File

@ -0,0 +1,19 @@
# Copyright (C) 2018 kebodiker <kurt.bodiker@braintrust-us.com>
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "LWIP"
HOMEPAGE = "https://savannah.nongnu.org/projects/lwip"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=59a383b05013356e0c9899b06dc5da3f"
SRCREV_lwip = "bcb4afa886408bf0a1dde9c2a4a00323c8b07eb1"
SRC_URI = "\
git://git.savannah.gnu.org/lwip.git;protocol=git;nobranch=1;destsuffix=lwip;name=lwip \
file://lwip.patch-cvs \
file://lwip.dhcp_create_request-hwaddr_len.patch \
"
S="${WORKDIR}/${PN}"
B="${S}"
require lwip.inc