From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jes Sorensen Subject: Re: [patch] qemu-kvm introduce -maxcpus argument Date: Mon, 22 Jun 2009 09:11:38 +0200 Message-ID: <4A3F2EAA.7010604@gmail.com> References: <4A3B99DD.50306@gmail.com> <20090619152441.GA1301@amit-x200.redhat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------090302080304050200030402" Cc: Avi Kivity , Gleb Natapov , "kvm@vger.kernel.org" To: Amit Shah Return-path: Received: from fg-out-1718.google.com ([72.14.220.159]:7995 "EHLO fg-out-1718.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751002AbZFVHNS (ORCPT ); Mon, 22 Jun 2009 03:13:18 -0400 Received: by fg-out-1718.google.com with SMTP id d23so477707fga.17 for ; Mon, 22 Jun 2009 00:13:20 -0700 (PDT) In-Reply-To: <20090619152441.GA1301@amit-x200.redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------090302080304050200030402 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/19/2009 05:24 PM, Amit Shah wrote: > On (Fri) Jun 19 2009 [15:59:57], Jes Sorensen wrote: > ACK, but please fix this: > > +DEF("maxcpus", HAS_ARG, QEMU_OPTION_maxcpus, > + "-maxcpus n set maximumthe number of possibly CPUs to 'n'\n") > +STEXI Argh, thanks, dunno how I managed to create that. Here is an updated version. Cheers, Jes --------------090302080304050200030402 Content-Type: text/x-patch; name="0003-qemu-madt-maxcpus.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0003-qemu-madt-maxcpus.patch" Build madt table based on max_cpus count. Signed-off-by: Jes Sorensen --- kvm/bios/rombios32.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Index: qemu-kvm/kvm/bios/rombios32.c =================================================================== --- qemu-kvm.orig/kvm/bios/rombios32.c +++ qemu-kvm/kvm/bios/rombios32.c @@ -1168,13 +1168,13 @@ static void mptable_init(void) putstr(&q, "0.1 "); /* vendor id */ putle32(&q, 0); /* OEM table ptr */ putle16(&q, 0); /* OEM table size */ - putle16(&q, MAX_CPUS + 18); /* entry count */ + putle16(&q, max_cpus + 18); /* entry count */ putle32(&q, 0xfee00000); /* local APIC addr */ putle16(&q, 0); /* ext table length */ putb(&q, 0); /* ext table checksum */ putb(&q, 0); /* reserved */ - for(i = 0; i < MAX_CPUS ; i++) { + for(i = 0; i < max_cpus ; i++) { putb(&q, 0); /* entry type = processor */ putb(&q, i); /* APIC id */ putb(&q, 0x11); /* local APIC version number */ @@ -1700,7 +1700,7 @@ void acpi_bios_init(void) addr = (addr + 7) & ~7; madt_addr = addr; madt_size = sizeof(*madt) + - sizeof(struct madt_processor_apic) * MAX_CPUS + + sizeof(struct madt_processor_apic) * max_cpus + #ifdef BX_QEMU sizeof(struct madt_io_apic) + sizeof(struct madt_int_override) * MAX_INT_OVERRIDES; #else @@ -1778,7 +1778,7 @@ void acpi_bios_init(void) madt->local_apic_address = cpu_to_le32(0xfee00000); madt->flags = cpu_to_le32(1); *(uint32_t*)APIC_MADT_PTR = apic = (void *)(madt + 1); - for(i=0;itype = APIC_PROCESSOR; apic->length = sizeof(*apic); apic->processor_id = i; --------------090302080304050200030402--