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

Neel Natu neel at FreeBSD.org
Mon Nov 25 23:31:01 UTC 2013


Author: neel
Date: Mon Nov 25 23:31:00 2013
New Revision: 258609
URL: http://svnweb.freebsd.org/changeset/base/258609

Log:
  Fix discrepancy between the IOAPIC ID advertised by firmware tables and the
  actual value read by the guest from the device. The IOAPIC ID is now set to
  zero in both MPtable/ACPI tables as well as in the ioapic device emulation.
  
  Pointed out by:	grehan@

Modified:
  head/usr.sbin/bhyve/acpi.c
  head/usr.sbin/bhyve/mptbl.c

Modified: head/usr.sbin/bhyve/acpi.c
==============================================================================
--- head/usr.sbin/bhyve/acpi.c	Mon Nov 25 22:58:12 2013	(r258608)
+++ head/usr.sbin/bhyve/acpi.c	Mon Nov 25 23:31:00 2013	(r258609)
@@ -263,7 +263,7 @@ basl_fwrite_madt(FILE *fp)
 	EFPRINTF(fp, "[0001]\t\tSubtable Type : 01\n");
 	EFPRINTF(fp, "[0001]\t\tLength : 0C\n");
 	/* iasl expects a hex value for the i/o apic id */
-	EFPRINTF(fp, "[0001]\t\tI/O Apic ID : %02x\n", basl_ncpu);
+	EFPRINTF(fp, "[0001]\t\tI/O Apic ID : %02x\n", 0);
 	EFPRINTF(fp, "[0001]\t\tReserved : 00\n");
 	EFPRINTF(fp, "[0004]\t\tAddress : fec00000\n");
 	EFPRINTF(fp, "[0004]\t\tInterrupt : 00000000\n");

Modified: head/usr.sbin/bhyve/mptbl.c
==============================================================================
--- head/usr.sbin/bhyve/mptbl.c	Mon Nov 25 22:58:12 2013	(r258608)
+++ head/usr.sbin/bhyve/mptbl.c	Mon Nov 25 23:31:00 2013	(r258609)
@@ -279,12 +279,12 @@ mptable_build(struct vmctx *ctx, int ncp
 	mpch->entry_count += MPE_NUM_BUSES;
 
 	mpei = (io_apic_entry_ptr)curraddr;
-	mpt_build_ioapic_entries(mpei, ncpu + 1);
+	mpt_build_ioapic_entries(mpei, 0);
 	curraddr += sizeof(*mpei);
 	mpch->entry_count++;
 
 	mpie = (int_entry_ptr) curraddr;
-	mpt_build_ioint_entries(mpie, MPEII_MAX_IRQ, ncpu + 1);
+	mpt_build_ioint_entries(mpie, MPEII_MAX_IRQ, 0);
 	curraddr += sizeof(*mpie) * MPEII_MAX_IRQ;
 	mpch->entry_count += MPEII_MAX_IRQ;
 


More information about the svn-src-head mailing list