Changeset b42dea9 in rtems-libbsd


Ignore:
Timestamp:
Sep 25, 2018, 7:27:50 AM (7 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
647dd08ae2aa69b935c2847ea450fb824322ecae, c6261f97870562d4c797cfb1ff1ba0affb85a916
Children:
13840c1
Parents:
6c51e62
git-author:
Sebastian Huber <sebastian.huber@…> (09/25/18 07:27:50)
git-committer:
Sebastian Huber <sebastian.huber@…> (09/25/18 08:01:15)
Message:

CONFIG_INTRHOOK(9): Port to RTEMS

Some device drivers (e.g. MMC) need a complex intialization with working
callouts. Remove the dummy CONFIG_INTRHOOK() implementation and replace
it with the real one from FreeBSD. Make sure TIMEOUT(9) services work
at this point.

Update #3525.

Files:
1 added
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • freebsd/sys/kern/init_main.c

    r6c51e62 rb42dea9  
    351351        TSEXIT();       /* Here so we don't overlap with start_init. */
    352352
     353#ifndef __rtems__
    353354        mtx_assert(&Giant, MA_OWNED | MA_NOTRECURSED);
    354355        mtx_unlock(&Giant);
     356#else /* __rtems__ */
     357        /* Giant is unlocked in rtems_bsd_timeout_init_late() */
     358#endif /* __rtems__ */
    355359
    356360#ifndef __rtems__
  • freebsd/sys/kern/kern_timeout.c

    r6c51e62 rb42dea9  
    327327        rtems_id id;
    328328
    329         (void) unused;
     329        (void)unused;
     330
     331        /*
     332         * Giant unlock moved from mi_startup() to here.  We have to unlock the
     333         * Giant lock earlier, since otherwise deadlocks with non-mpsafe
     334         * callouts may occur.
     335         */
     336        mtx_assert(&Giant, MA_OWNED | MA_NOTRECURSED);
     337        mtx_unlock(&Giant);
    330338
    331339        sc = rtems_timer_create(rtems_build_name('_', 'C', 'L', 'O'), &id);
     
    339347    rtems_bsd_timeout_init_early, NULL);
    340348
    341 SYSINIT(rtems_bsd_timeout_late, SI_SUB_LAST, SI_ORDER_FIRST,
     349SYSINIT(rtems_bsd_timeout_late, SI_SUB_KICK_SCHEDULER, SI_ORDER_FIRST,
    342350    rtems_bsd_timeout_init_late, NULL);
    343351
  • libbsd.py

    r6c51e62 rb42dea9  
    251251                'rtems/rtems-kernel-cam.c',
    252252                'rtems/rtems-kernel-chunk.c',
    253                 'rtems/rtems-kernel-configintrhook.c',
    254253                'rtems/rtems-kernel-delay.c',
    255254                'rtems/rtems-kernel-epoch.c',
     
    537536                'sys/kern/kern_timeout.c',
    538537                'sys/kern/kern_uuid.c',
     538                'sys/kern/subr_autoconf.c',
    539539                'sys/kern/subr_blist.c',
    540540                'sys/kern/subr_bufring.c',
Note: See TracChangeset for help on using the changeset viewer.