From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NK7BC-0007bn-Fj for qemu-devel@nongnu.org; Mon, 14 Dec 2009 04:25:22 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NK7B7-0007bE-RZ for qemu-devel@nongnu.org; Mon, 14 Dec 2009 04:25:21 -0500 Received: from [199.232.76.173] (port=35494 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NK7B7-0007bB-I2 for qemu-devel@nongnu.org; Mon, 14 Dec 2009 04:25:17 -0500 Received: from vtab.com ([62.20.90.195]:48541 helo=oden.vtab.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NK7B7-0006G5-34 for qemu-devel@nongnu.org; Mon, 14 Dec 2009 04:25:17 -0500 Message-ID: <4B26047A.60409@virtutech.com> Date: Mon, 14 Dec 2009 10:25:14 +0100 From: Magnus Christensson MIME-Version: 1.0 References: <20091213151408.GB22854@morn.localdomain> In-Reply-To: <20091213151408.GB22854@morn.localdomain> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH] Seabios: Fix PkgLength calculation for the SSDT. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: qemu-devel@nongnu.org, Gleb Natapov On 12/13/2009 04:14 PM, Kevin O'Connor wrote: > ----- Forwarded message from Gleb Natapov ----- > > From: Gleb Natapov > To: Kevin O'Connor > Date: Sun, 13 Dec 2009 15:18:08 +0200 > Subject: Re: [mch@virtutech.com: [coreboot] [PATCH] Seabios: Fix PkgLength > calculation for the SSDT.] > > On Thu, Dec 10, 2009 at 08:55:30AM -0500, Kevin O'Connor wrote: > >> FYI. >> >> ----- Forwarded message from Magnus Christensson ----- >> >> From: Magnus Christensson >> To: coreboot@coreboot.org >> Date: Thu, 26 Nov 2009 13:22:14 +0100 >> Subject: [coreboot] [PATCH] Seabios: Fix PkgLength calculation for the SSDT. >> >> See attached patch. >> >> M. >> >> >> > From d9dc0f50b2ce756e8a3b4ede0a8ecbe76f2afcb8 Mon Sep 17 00:00:00 2001 >> From: Magnus Christensson >> Date: Wed, 25 Nov 2009 16:26:58 +0100 >> Subject: [PATCH 13/13] Fix PkgLength calculation for the SSDT. >> >> Signed-off-by: Magnus Christensson >> --- >> src/acpi.c | 6 ++++-- >> 1 files changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/src/acpi.c b/src/acpi.c >> index 843af69..88007ae 100644 >> --- a/src/acpi.c >> +++ b/src/acpi.c >> @@ -464,10 +464,12 @@ build_ssdt(void) >> // build processor scope header >> *(ssdt_ptr++) = 0x10; // ScopeOp >> if (cpu_length<= 0x3e) { >> + /* Handle 1-4 CPUs with one byte encoding */ >> *(ssdt_ptr++) = cpu_length + 1; >> } else { >> - *(ssdt_ptr++) = 0x7F; >> - *(ssdt_ptr++) = (cpu_length + 2)>> 6; >> + /* Handle 5-314 CPUs with two byte encoding */ >> + *(ssdt_ptr++) = 0x40 | ((cpu_length + 1)& 0xf); >> + *(ssdt_ptr++) = (cpu_length + 1)>> 4; >> > Should be cpu_length + 2 as far as I can tell. The current code is > definitely broken. > Right. That should be cpu_length +2 in the else-part. M.