Move <memory.h> and <sys/uio.h> to non-networking directory

These two header files were installed from libnetworking even
when networking was disabled. This patch moves them to a
non-networking location and updates uio.h to match the FreeBSD 8.x
source being used for the USB stack and TCP/IP stack upgrade.

 - cpukit/include/memory.h
   Move from cpukit/libnetworking/memory.h. No changes

 - cpukit/include/sys/uio.h
   Move from cpukit/libnetworking/sys/uio.h. Replace with FreeBSD 8.x version.

 - cpukit/include/sys/_iovec.h
   New. FreeBSD 8.x file supporting <sys/uio.h>.

 - cpukit/Makefile.am
   Reflect movement of <memory.h> and <sys/uio.h>.

 - cpukit/preinstall.am
   Regenerate

 - cpukit/libnetworking/nfs/bootp_subr.c
   Eliminate use of uio_procp field no longer in FreeBSD structure. This
   field was set and never read so eliminating the set has no impact.
This commit is contained in:
Joel Sherrill
2013-01-23 13:09:18 -06:00
parent 7f7b09ca2e
commit bb679b3111
7 changed files with 120 additions and 28 deletions

View File

@@ -42,7 +42,7 @@ if NEWLIB
include_sysdir = $(includedir)/sys
include_sys_HEADERS =
include_HEADERS += libnetworking/memory.h
include_HEADERS += include/memory.h
include_HEADERS += libmd/md4.h
include_HEADERS += libmd/md5.h
@@ -55,7 +55,8 @@ include_sys_HEADERS += libcsupport/include/sys/ttycom.h
include_sys_HEADERS += libcsupport/include/sys/termios.h
include_sys_HEADERS += libcsupport/include/sys/utsname.h
include_sys_HEADERS += libnetworking/sys/uio.h
include_sys_HEADERS += include/sys/uio.h
include_sys_HEADERS += include/sys/_iovec.h
include_sys_HEADERS += include/sys/priority.h
if LIBNETWORKING

7
cpukit/include/memory.h Normal file
View File

@@ -0,0 +1,7 @@
/**
* @file memory.h
*
* Dummy include file for FreeBSD routines
*/
#include <string.h>

View File

@@ -0,0 +1,58 @@
/*-
* Copyright (c) 1982, 1986, 1993, 1994
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)uio.h 8.5 (Berkeley) 2/22/94
* $FreeBSD$
*/
#ifndef _SYS__IOVEC_HH_
#define _SYS__IOVEC_HH_
#include <sys/_types.h>
#ifndef _SIZE_T_DECLARED
typedef __size_t size_t;
#define _SIZE_T_DECLARED
#endif
#ifdef __rtems__
#ifndef __IOVEC_DEFINED
#define __IOVEC_DEFINED
struct iovec {
void *iov_base; /* Base address. */
size_t iov_len; /* Length. */
};
#endif /* __IOVEC_DEFINED */
#else
struct iovec {
void *iov_base; /* Base address. */
size_t iov_len; /* Length. */
};
#endif /* rtems */
#endif /* !_SYS__IOVEC_HH_ */

View File

@@ -1,4 +1,4 @@
/*
/*-
* Copyright (c) 1982, 1986, 1993, 1994
* The Regents of the University of California. All rights reserved.
*
@@ -27,23 +27,30 @@
* SUCH DAMAGE.
*
* @(#)uio.h 8.5 (Berkeley) 2/22/94
* $FreeBSD: src/sys/sys/uio.h,v 1.40 2006/11/29 19:08:45 alfred Exp $
* $FreeBSD$
*/
#ifndef _SYS_UIO_H_
#define _SYS_UIO_H_
#ifndef _SYS_UIO_HH_
#define _SYS_UIO_HH_
#include <sys/cdefs.h>
#ifdef __rtems__
#include <sys/types.h>
#endif /* __rtems__ */
#include <sys/_types.h>
#include <sys/_iovec.h>
/*
* POSIX compliant iovec definition
*/
struct iovec {
void *iov_base; /* pointer to data to be written */
size_t iov_len; /* length of this data block */
};
#ifndef __rtems__
#ifndef _SSIZE_T_DECLARED
typedef __ssize_t ssize_t;
#define _SSIZE_T_DECLARED
#endif
#ifndef _OFF_T_DECLARED
typedef __off_t off_t;
#define _OFF_T_DECLARED
#endif
#endif /* !__rtems__ */
#if __BSD_VISIBLE
enum uio_rw { UIO_READ, UIO_WRITE };
@@ -65,11 +72,7 @@ struct uio {
ssize_t uio_resid; /* remaining bytes to process */
enum uio_seg uio_segflg; /* address space */
enum uio_rw uio_rw; /* operation */
#if !defined(__rtems__)
struct thread *uio_td; /* owner */
#else
struct proc *uio_procp;
#endif /* !__rtems__ */
};
/*
@@ -85,15 +88,37 @@ struct uio {
*/
#define UIO_MAXIOV 1024 /* max 1K of iov's */
struct vm_object;
struct vm_page;
struct uio *cloneuio(struct uio *uiop);
int copyinfrom(const void * __restrict src, void * __restrict dst,
size_t len, int seg);
int copyiniov(struct iovec *iovp, u_int iovcnt, struct iovec **iov,
int error);
int copyinstrfrom(const void * __restrict src, void * __restrict dst,
size_t len, size_t * __restrict copied, int seg);
int copyinuio(struct iovec *iovp, u_int iovcnt, struct uio **uiop);
void uio_yield(void);
int uiomove(void *cp, int n, struct uio *uio);
int uiomove_frombuf(void *buf, int buflen, struct uio *uio);
#ifndef __rtems__
int uiomove_fromphys(struct vm_page *ma[], vm_offset_t offset, int n,
struct uio *uio);
#endif /* !__rtems__ */
int uiomoveco(void *cp, int n, struct uio *uio, int disposable);
#else /* !_KERNEL */
__BEGIN_DECLS
ssize_t readv(int, const struct iovec *, int);
ssize_t writev(int, const struct iovec *, int);
#if __BSD_VISIBLE
ssize_t preadv(int, const struct iovec *, int, off_t);
ssize_t pwritev(int, const struct iovec *, int, off_t);
#endif
__END_DECLS
#endif /* _KERNEL */
#endif /* !_SYS_UIO_H_ */
#endif /* !_SYS_UIO_HH_ */

View File

@@ -1,7 +0,0 @@
/**
* @file
*
* @brief Dummy Include File for FreeBSD Routines
*/
#include <string.h>

View File

@@ -380,7 +380,9 @@ bootpc_call(
auio.uio_rw = UIO_WRITE;
auio.uio_offset = 0;
auio.uio_resid = sizeof(*call);
#ifndef __rtems__
auio.uio_procp = procp;
#endif
error = sosend(so, nam, &auio, NULL, NULL, 0);
if (error) {
printf("bootpc_call: sosend: %d\n", error);
@@ -414,7 +416,9 @@ bootpc_call(
auio.uio_rw = UIO_READ;
auio.uio_offset = 0;
auio.uio_resid = sizeof(*reply);
#ifndef __rtems__
auio.uio_procp = procp;
#endif
rcvflg = 0;
error = soreceive(so, NULL, &auio, NULL, NULL, &rcvflg);

View File

@@ -43,7 +43,7 @@ $(PROJECT_INCLUDE)/sys/$(dirstamp):
@: > $(PROJECT_INCLUDE)/sys/$(dirstamp)
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/sys/$(dirstamp)
$(PROJECT_INCLUDE)/memory.h: libnetworking/memory.h $(PROJECT_INCLUDE)/$(dirstamp)
$(PROJECT_INCLUDE)/memory.h: include/memory.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/memory.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/memory.h
@@ -87,10 +87,14 @@ $(PROJECT_INCLUDE)/sys/utsname.h: libcsupport/include/sys/utsname.h $(PROJECT_IN
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/utsname.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/utsname.h
$(PROJECT_INCLUDE)/sys/uio.h: libnetworking/sys/uio.h $(PROJECT_INCLUDE)/sys/$(dirstamp)
$(PROJECT_INCLUDE)/sys/uio.h: include/sys/uio.h $(PROJECT_INCLUDE)/sys/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/uio.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/uio.h
$(PROJECT_INCLUDE)/sys/_iovec.h: include/sys/_iovec.h $(PROJECT_INCLUDE)/sys/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/_iovec.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/_iovec.h
$(PROJECT_INCLUDE)/sys/priority.h: include/sys/priority.h $(PROJECT_INCLUDE)/sys/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/sys/priority.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/sys/priority.h