svn commit: r255292 - head/usr.sbin/bhyve

Peter Grehan grehan at FreeBSD.org
Fri Sep 6 05:55:43 UTC 2013


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;


More information about the svn-src-head mailing list