Author: grehan
Date: Fri Sep  6 05:55:43 2013
New Revision: 255292
URL: http://svnweb.freebsd.org/changeset/base/255292

Log:
  Allow level-triggered interrupt sources. While this isn't
  precisely emulated, it is good enough for the single consumer
  i.e. irq4, the serial port on Linux.

Modified:
  head/usr.sbin/bhyve/ioapic.c

Modified: head/usr.sbin/bhyve/ioapic.c
==============================================================================
--- head/usr.sbin/bhyve/ioapic.c        Fri Sep  6 05:55:02 2013        
(r255291)
+++ head/usr.sbin/bhyve/ioapic.c        Fri Sep  6 05:55:43 2013        
(r255292)
@@ -101,13 +101,13 @@ ioapic_set_pinstate(struct vmctx *ctx, i
         * XXX
         * We only deal with:
         * - edge triggered interrupts
-        * - physical destination mode
         * - fixed delivery mode
+        *  Level-triggered sources will work so long as their is
+        * no sharing.
         */
        low = ioapic->redtbl[pin];
        high = ioapic->redtbl[pin] >> 32;
        if ((low & IOART_INTMASK) == IOART_INTMCLR &&
-           (low & IOART_TRGRMOD) == IOART_TRGREDG &&
            (low & IOART_DESTMOD) == IOART_DESTPHY &&
            (low & IOART_DELMOD) == IOART_DELFIXED) {
                vector = low & IOART_INTVEC;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to