qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] Allow additions of ACPI tables from command


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v2] Allow additions of ACPI tables from command line
Date: Tue, 17 Feb 2009 08:19:51 -0600
User-agent: Thunderbird 2.0.0.19 (X11/20090105)

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 <address@hidden>
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.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]