--- freebsd/sys/dev/usb/input/ukbd.c | 6 ++++++ rtemsbsd/include/rtems/bsd/local/opt_kbd.h | 1 + rtemsbsd/include/rtems/bsd/local/opt_ukbd.h | 1 + 3 files changed, 8 insertions(+) create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_kbd.h create mode 100644 rtemsbsd/include/rtems/bsd/local/opt_ukbd.h
diff --git a/freebsd/sys/dev/usb/input/ukbd.c b/freebsd/sys/dev/usb/input/ukbd.c index 5c6f558..2d64ae2 100644 --- a/freebsd/sys/dev/usb/input/ukbd.c +++ b/freebsd/sys/dev/usb/input/ukbd.c @@ -447,7 +447,11 @@ ukbd_do_poll(struct ukbd_softc *sc, uint8_t wait) * Give USB threads a chance to run. Note that * kern_yield performs DROP_GIANT + PICKUP_GIANT. */ +#ifndef __rtems__ kern_yield(PRI_UNCHANGED); +#else /* __rtems__ */ + sched_yield(); +#endif /* __rtems__ */ if (!wait) break; } @@ -1994,8 +1998,10 @@ ukbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) /* * XXX Check if someone is calling us from a critical section: */ +#ifndef __rtems__ if (curthread->td_critnest != 0) return (EDEADLK); +#endif /* __rtems__ */ /* * XXX KDGKBSTATE, KDSKBSTATE and KDSETLED can be called from any diff --git a/rtemsbsd/include/rtems/bsd/local/opt_kbd.h b/rtemsbsd/include/rtems/bsd/local/opt_kbd.h new file mode 100644 index 0000000..a068675 --- /dev/null +++ b/rtemsbsd/include/rtems/bsd/local/opt_kbd.h @@ -0,0 +1 @@ +#define KBD_INSTALL_CDEV 1 diff --git a/rtemsbsd/include/rtems/bsd/local/opt_ukbd.h b/rtemsbsd/include/rtems/bsd/local/opt_ukbd.h new file mode 100644 index 0000000..936ffd8 --- /dev/null +++ b/rtemsbsd/include/rtems/bsd/local/opt_ukbd.h @@ -0,0 +1 @@ +/* EMPTY */ -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel