From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LZQoJ-0006fG-6E for qemu-devel@nongnu.org; Tue, 17 Feb 2009 09:20:31 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LZQoF-0006bh-91 for qemu-devel@nongnu.org; Tue, 17 Feb 2009 09:20:29 -0500 Received: from [199.232.76.173] (port=58717 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LZQoE-0006bb-RF for qemu-devel@nongnu.org; Tue, 17 Feb 2009 09:20:26 -0500 Received: from ug-out-1314.google.com ([66.249.92.175]:16114) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LZQoE-0001ND-B2 for qemu-devel@nongnu.org; Tue, 17 Feb 2009 09:20:26 -0500 Received: by ug-out-1314.google.com with SMTP id t39so193218ugd.36 for ; Tue, 17 Feb 2009 06:20:22 -0800 (PST) Message-ID: <499AC787.9030605@codemonkey.ws> Date: Tue, 17 Feb 2009 08:19:51 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH v2] Allow additions of ACPI tables from command line References: <20090209142832.GF28969@redhat.com> <499985DE.7010807@us.ibm.com> <20090217072901.GB26845@redhat.com> In-Reply-To: <20090217072901.GB26845@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Gleb Natapov wrote: > On Mon, Feb 16, 2009 at 09:27:26AM -0600, Anthony Liguori wrote: > >> Gleb Natapov wrote: >> >>> This is needed to dynamically add SLIC tables with Windows >>> activation keys. >>> >>> Signed-off-by: Gleb Natapov >>> diff --git a/hw/acpi.c b/hw/acpi.c >>> index 4338d02..7175598 100644 >>> --- a/hw/acpi.c >>> +++ b/hw/acpi.c >>> @@ -561,3 +561,170 @@ void qemu_system_powerdown(void) >>> } >>> } >>> #endif >>> + >>> +struct acpi_table_header >>> +{ >>> + char signature [4]; /* ACPI signature (4 ASCII characters) */ >>> + uint32_t length; /* Length of table, in bytes, including header */ >>> + uint8_t revision; /* ACPI Specification minor version # */ >>> + uint8_t checksum; /* To make sum of entire table == 0 */ >>> + char oem_id [6]; /* OEM identification */ >>> + char oem_table_id [8]; /* OEM table identification */ >>> + uint32_t oem_revision; /* OEM revision number */ >>> + char asl_compiler_id [4]; /* ASL compiler vendor ID */ >>> + uint32_t asl_compiler_revision; /* ASL compiler revision number */ >>> +}; >>> >>> >> I don't have a lot of confidence that this table is going to be padded >> correctly by all compilers on all architectures. I'd suggest explicit >> padding. >> >> > __attribute_((packed)) should be enough, no? > Yup. >>> + if (get_param_value(buf, sizeof(buf), "oem_id", t)) { >>> + strncpy(acpi_hdr.oem_id, buf, 6); >>> >>> >> is oem_id supposed to be NULL terminated or just NULL padded? >> > > ACPI spec rev 3.0b 18.2.1: > OEM ID of up to 6 characters. If the OEM ID is shorter than 6 > characters, it can be terminated with a NULL character. > Ok, I figured as much but wanted to double check. Regards, Anthony Liguori > -- > Gleb. > > >