Changeset adaa246 in rtems-libbsd


Ignore:
Timestamp:
Oct 30, 2013, 9:56:59 AM (6 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, afaeccc05a556f6aa25ba044a7e49d6aa634a59e, freebsd-9.3, master
Children:
3718816
Parents:
724d62b
git-author:
Sebastian Huber <sebastian.huber@…> (10/30/13 09:56:59)
git-committer:
Sebastian Huber <sebastian.huber@…> (10/31/13 12:18:53)
Message:

Inline copyinstr(), copyin() and copyout()

Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    r724d62b radaa246  
    5656LIB_C_FILES += rtemsbsd/rtems/rtems-bsd-condvar.c
    5757LIB_C_FILES += rtemsbsd/rtems/rtems-bsd-conf.c
    58 LIB_C_FILES += rtemsbsd/rtems/rtems-bsd-copyinout.c
    5958LIB_C_FILES += rtemsbsd/rtems/rtems-bsd-delay.c
    6059LIB_C_FILES += rtemsbsd/rtems/rtems-bsd-get-file.c
  • freebsd-to-rtems.py

    r724d62b radaa246  
    613613                'rtems/rtems-bsd-condvar.c',
    614614                'rtems/rtems-bsd-conf.c',
    615                 'rtems/rtems-bsd-copyinout.c',
    616615                'rtems/rtems-bsd-delay.c',
    617616                'rtems/rtems-bsd-get-file.c',
  • freebsd/sys/sys/systm.h

    r724d62b radaa246  
    228228            size_t len, size_t * __restrict lencopied)
    229229            __nonnull(1) __nonnull(2);
     230#ifndef __rtems__
    230231int     copyinstr(const void * __restrict udaddr, void * __restrict kaddr,
    231232            size_t len, size_t * __restrict lencopied)
     
    235236int     copyout(const void * __restrict kaddr, void * __restrict udaddr,
    236237            size_t len) __nonnull(1) __nonnull(2);
     238#else /* __rtems__ */
     239static inline int __nonnull(1) __nonnull(2)
     240copyinstr(const void * __restrict udaddr, void * __restrict kaddr,
     241            size_t len, size_t * __restrict lencopied)
     242{
     243        if (lencopied != NULL) {
     244                *lencopied = len;
     245        }
     246
     247        memcpy(kaddr, udaddr, len);
     248
     249        return (0);
     250}
     251
     252static inline int __nonnull(1) __nonnull(2)
     253copyin(const void * __restrict udaddr, void * __restrict kaddr,
     254    size_t len)
     255{
     256        memcpy(kaddr, udaddr, len);
     257
     258        return (0);
     259}
     260
     261static inline int __nonnull(1) __nonnull(2)
     262copyout(const void * __restrict kaddr, void * __restrict udaddr,
     263    size_t len)
     264{
     265        memcpy(udaddr, kaddr, len);
     266
     267        return (0);
     268}
     269#endif /* __rtems__ */
    237270
    238271int     fubyte(const void *base);
  • rtemsbsd/rtems/rtems-bsd-support.c

    r724d62b radaa246  
    5757int     hogticks = 2;                  /* hogticks = 2 * sched_quantum */
    5858
    59 int
    60 copyout(const void *kaddr, void *udaddr, size_t len)
    61 {
    62   bcopy(kaddr, udaddr, len);
    63   return (0);
    64 }
    65 
    66 int
    67 copyin(const void *udaddr, void *kaddr, size_t len)
    68 {
    69   bcopy(udaddr, kaddr, len);
    70   return (0);
    71 }
    72 
    73 #if 0
    74 /*
    75  * As of 27 March 2012, use version in kern_subr.c
    76  */
    77 int
    78 copyiniov(struct iovec *iovp, u_int iovcnt, struct iovec **iov, int error)
    79 {
    80   u_int iovlen;
    81 
    82   *iov = NULL;
    83   if (iovcnt > UIO_MAXIOV)
    84     return (error);
    85   iovlen = iovcnt * sizeof (struct iovec);
    86   *iov = malloc(iovlen, M_IOV, M_WAITOK);
    87   error = copyin(iovp, *iov, iovlen);
    88   if (error) {
    89     free(*iov, M_IOV);
    90     *iov = NULL;
    91   }
    92   return (error);
    93 }
    94 #endif
    95 
    9659void
    9760critical_enter(void)
Note: See TracChangeset for help on using the changeset viewer.