Changeset 459afb1 in rtems-libbsd


Ignore:
Timestamp:
Apr 16, 2012, 2:10:35 PM (8 years ago)
Author:
Jennifer Averett <jennifer.averett@…>
Branches:
4.11, c1e05b9ea378b2971e3d7704779112b4bc4296da, freebsd-9.3, 4a77611a223ea883fb548679b516d326a020d447
Children:
c4117bb
Parents:
362782e
git-author:
Jennifer Averett <jennifer.averett@…> (04/16/12 14:10:35)
git-committer:
Jennifer Averett <jennifer.averett@…> (04/16/12 14:17:12)
Message:

Implemented a version of rmlock using rwlock.

Files:
2 added
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    r362782e r459afb1  
    325325        freebsd/dev/pci/pci.c \
    326326        freebsd/kern/uipc_accf.c \
     327        freebsd/kern/kern_ntptime.c \
    327328        freebsd/dev/re/if_re.c \
    328329        freebsd/dev/fxp/if_fxp.c \
     
    393394        rtemsbsd/src/rtems-bsd-taskqueue.c \
    394395        rtemsbsd/src/rtems-bsd-timesupport.c \
     396        rtemsbsd/src/rtems-bsd-timeout.c \
    395397        rtemsbsd/src/rtems-bsd-newproc.c \
    396398        rtemsbsd/src/rtems-bsd-vm_glue.c
  • freebsd-to-rtems.py

    r362782e r459afb1  
    534534        'src/rtems-bsd-taskqueue.c',
    535535        'src/rtems-bsd-timesupport.c',
     536        'src/rtems-bsd-timeout.c',
    536537        'src/rtems-bsd-newproc.c',
    537538        'src/rtems-bsd-vm_glue.c',
     
    11411142                'dev/pci/pci.c',
    11421143                'kern/uipc_accf.c',
     1144                'kern/kern_ntptime.c',
    11431145        ]
    11441146)
  • freebsd/sys/_rmlock.h

    r362782e r459afb1  
    4444LIST_HEAD(rmpriolist,rm_priotracker);
    4545
     46#ifndef __rtems__
    4647struct rmlock {
    4748        struct lock_object lock_object;
     
    5152
    5253};
     54#else /* __rtems__ */
     55  #include <freebsd/sys/rwlock.h>
     56  #define rmlock rwlock
     57#endif /* __rtems__ */
    5358
    5459struct rm_priotracker {
  • freebsd/sys/rmlock.h

    r362782e r459afb1  
    4545#define RM_RECURSE      0x00000002
    4646
     47#ifndef __rtems__
    4748void    rm_init(struct rmlock *rm, const char *name);
    4849void    rm_init_flags(struct rmlock *rm, const char *name, int opts);
     
    8586#endif
    8687
     88#else /* __rtems__ */
     89  #define rm_init(rm, name)                rw_init(rm, name)
     90  #define rm_init_flags(rm, name, opts)    rw_init_flags(rm, name, opts)
     91  #define rm_destroy(rm)                   rw_destroy(rm)
     92  #define rm_wowned(rm)                    rw_wowned(rm)
     93  #define rm_sysinit(arg)                  rw_sysinit(arg)
     94  #define rm_sysinit_flags(arg)            rw_sysinit_flags(arg)
     95
     96  #define rm_wlock(rm)                     rw_wlock((rm))
     97  #define rm_wunlock(rm)                   rw_wunlock((rm))
     98  #define rm_rlock(rm,tracker)             rw_rlock((rm))
     99  #define rm_runlock(rm,tracker)           rw_runlock((rm))
     100#endif /* __rtems__ */
     101
     102
     103
    87104struct rm_args {
    88105        struct rmlock   *ra_rm;
  • rtemsbsd/src/rtems-bsd-lock.c

    r362782e r459afb1  
    4040  &lock_class_mtx_sleep,
    4141  &lock_class_sx,
    42   &lock_class_rm,
     42  &lock_class_rw,
    4343  &lock_class_rw,
    4444};
Note: See TracChangeset for help on using the changeset viewer.