svn commit: r255438 - in head: sys/amd64/include usr.sbin/bhyve

Peter Grehan grehan at FreeBSD.org
Tue Sep 10 03:48:19 UTC 2013


Author: grehan
Date: Tue Sep 10 03:48:18 2013
New Revision: 255438
URL: http://svnweb.freebsd.org/changeset/base/255438

Log:
  Go way past 11 and bump bhyve's max vCPUs to 16.
  
  This should be sufficient for 10.0 and will do
  until forthcoming work to avoid limitations
  in this area is complete.
  
  Thanks to Bela Lubkin at tidalscale for the
  headsup on the apic/cpu id/io apic ASL parameters
  that are actually hex values and broke when
  written as decimal when 11 vCPUs were configured.
  
  Approved by:	re@

Modified:
  head/sys/amd64/include/vmm.h
  head/usr.sbin/bhyve/acpi.c

Modified: head/sys/amd64/include/vmm.h
==============================================================================
--- head/sys/amd64/include/vmm.h	Tue Sep 10 01:46:47 2013	(r255437)
+++ head/sys/amd64/include/vmm.h	Tue Sep 10 03:48:18 2013	(r255438)
@@ -150,7 +150,7 @@ void vm_interrupt_hostcpu(struct vm *vm,
 
 #include <machine/vmm_instruction_emul.h>
 
-#define	VM_MAXCPU	8			/* maximum virtual cpus */
+#define	VM_MAXCPU	16			/* maximum virtual cpus */
 
 /*
  * Identifiers for events that can be injected into the VM

Modified: head/usr.sbin/bhyve/acpi.c
==============================================================================
--- head/usr.sbin/bhyve/acpi.c	Tue Sep 10 01:46:47 2013	(r255437)
+++ head/usr.sbin/bhyve/acpi.c	Tue Sep 10 03:48:18 2013	(r255438)
@@ -241,8 +241,9 @@ basl_fwrite_madt(FILE *fp)
 	for (i = 0; i < basl_ncpu; i++) {
 		EFPRINTF(fp, "[0001]\t\tSubtable Type : 00\n");
 		EFPRINTF(fp, "[0001]\t\tLength : 08\n");
-		EFPRINTF(fp, "[0001]\t\tProcessor ID : %02d\n", i);
-		EFPRINTF(fp, "[0001]\t\tLocal Apic ID : %02d\n", i);
+		/* iasl expects hex values for the proc and apic id's */
+		EFPRINTF(fp, "[0001]\t\tProcessor ID : %02x\n", i);
+		EFPRINTF(fp, "[0001]\t\tLocal Apic ID : %02x\n", i);
 		EFPRINTF(fp, "[0004]\t\tFlags (decoded below) : 00000001\n");
 		EFPRINTF(fp, "\t\t\tProcessor Enabled : 1\n");
 		EFPRINTF(fp, "\n");
@@ -251,7 +252,8 @@ basl_fwrite_madt(FILE *fp)
 	/* Always a single IOAPIC entry, with ID ncpu+1 */
 	EFPRINTF(fp, "[0001]\t\tSubtable Type : 01\n");
 	EFPRINTF(fp, "[0001]\t\tLength : 0C\n");
-	EFPRINTF(fp, "[0001]\t\tI/O Apic ID : %02d\n", basl_ncpu);
+	/* 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\tReserved : 00\n");
 	EFPRINTF(fp, "[0004]\t\tAddress : fec00000\n");
 	EFPRINTF(fp, "[0004]\t\tInterrupt : 00000000\n");


More information about the svn-src-head mailing list