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

[Xen-changelog] [xen-unstable] [HVM] Rationalise OEM and Creator IDs and Table Revisions.



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxxx
# Date 1167493513 0
# Node ID 63fb88610e1eea29feec1fe32fc96ff63811a6f6
# Parent  a578c9703416de6cde4d7aabcc6f1a9910a012c8
[HVM] Rationalise OEM and Creator IDs and Table Revisions.
Create virtualised IDs and use them consistently.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 tools/firmware/hvmloader/acpi/Makefile        |    2 -
 tools/firmware/hvmloader/acpi/acpi2_0.h       |   33 ++++++++++++++------------
 tools/firmware/hvmloader/acpi/build.c         |   19 +++++++-------
 tools/firmware/hvmloader/acpi/dsdt.asl        |    2 -
 tools/firmware/hvmloader/acpi/dsdt.c          |   18 +++++++-------
 tools/firmware/hvmloader/acpi/ssdt_tpm.asl    |    4 +--
 tools/firmware/hvmloader/acpi/ssdt_tpm.h      |   10 +++----
 tools/firmware/hvmloader/acpi/static_tables.c |    4 +--
 tools/firmware/vmxassist/vm86.c               |    4 +--
 9 files changed, 49 insertions(+), 47 deletions(-)

diff -r a578c9703416 -r 63fb88610e1e tools/firmware/hvmloader/acpi/Makefile
--- a/tools/firmware/hvmloader/acpi/Makefile    Sat Dec 30 12:49:31 2006 +0000
+++ b/tools/firmware/hvmloader/acpi/Makefile    Sat Dec 30 15:45:13 2006 +0000
@@ -24,7 +24,7 @@ H_SRC = $(wildcard *.h)
 H_SRC = $(wildcard *.h)
 OBJS  = $(patsubst %.c,%.o,$(C_SRC))
 
-IASL_VER = acpica-unix-20050513
+IASL_VER = acpica-unix-20060707
 IASL_URL = 
http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
 
 # Disable PIE/SSP if GCC supports them. They can break us.
diff -r a578c9703416 -r 63fb88610e1e tools/firmware/hvmloader/acpi/acpi2_0.h
--- a/tools/firmware/hvmloader/acpi/acpi2_0.h   Sat Dec 30 12:49:31 2006 +0000
+++ b/tools/firmware/hvmloader/acpi/acpi2_0.h   Sat Dec 30 15:45:13 2006 +0000
@@ -50,17 +50,18 @@ struct acpi_header {
     uint8_t  revision;
     uint8_t  checksum;
     uint8_t  oem_id[6];
-    uint64_t oem_table_id;
+    uint8_t  oem_table_id[8];
     uint32_t oem_revision;
     uint32_t creator_id;
     uint32_t creator_revision;
 };
 
-#define ACPI_OEM_ID             {'I','N','T','E','L',' '}
-#define ACPI_OEM_TABLE_ID       ASCII32(' ','T','B','D')
-#define ACPI_OEM_REVISION       0x00000002
-#define ACPI_CREATOR_ID         0x00       /* TBD */
-#define ACPI_CREATOR_REVISION   0x00000002
+#define ACPI_OEM_ID             "Xen"
+#define ACPI_OEM_TABLE_ID       "HVM"
+#define ACPI_OEM_REVISION       0
+
+#define ACPI_CREATOR_ID         ASCII32('H','V','M','L') /* HVMLoader */
+#define ACPI_CREATOR_REVISION   0
 
 /*
  * ACPI 2.0 Generic Address Space definition.
@@ -121,7 +122,6 @@ struct acpi_20_rsdt {
     struct acpi_header header;
     uint32_t entry[1];
 };
-#define ACPI_2_0_RSDT_REVISION 0x01
 
 /*
  * Extended System Description Table (XSDT).
@@ -130,7 +130,6 @@ struct acpi_20_xsdt {
     struct acpi_header header;
     uint64_t entry[1];
 };
-#define ACPI_2_0_XSDT_REVISION 0x01
 
 /*
  * TCG Hardware Interface Table (TCPA)
@@ -141,8 +140,6 @@ struct acpi_20_tcpa {
     uint32_t laml;
     uint64_t lasa;
 };
-
-#define ACPI_2_0_TCPA_REVISION 0x02
 #define ACPI_2_0_TCPA_LAML_SIZE (64*1024)
 
 /*
@@ -202,7 +199,6 @@ struct acpi_20_fadt {
     struct acpi_20_generic_address x_gpe0_blk;
     struct acpi_20_generic_address x_gpe1_blk;
 };
-#define ACPI_2_0_FADT_REVISION 0x03
 
 /*
  * FADT Boot Architecture Flags.
@@ -254,8 +250,6 @@ struct acpi_20_madt {
     uint32_t flags;
 };
 
-#define ACPI_2_0_MADT_REVISION 0x01
-
 
 /*
  * HPET Description Table
@@ -268,8 +262,6 @@ struct acpi_20_hpet {
     uint16_t           min_tick;
     uint8_t            page_protect;
 };
-
-#define ACPI_2_0_HPET_REVISION 0x01
 #define ACPI_HPET_ADDRESS 0xFED00000UL
 
 /*
@@ -343,6 +335,17 @@ struct acpi_20_madt_intsrcovr {
 #define ACPI_2_0_TCPA_SIGNATURE ASCII32('T','C','P','A')
 #define ACPI_2_0_HPET_SIGNATURE ASCII32('H','P','E','T')
 
+/*
+ * Table revision numbers.
+ */
+#define ACPI_2_0_RSDP_REVISION 0x02
+#define ACPI_2_0_FADT_REVISION 0x04
+#define ACPI_2_0_MADT_REVISION 0x02
+#define ACPI_2_0_RSDT_REVISION 0x01
+#define ACPI_2_0_XSDT_REVISION 0x01
+#define ACPI_2_0_TCPA_REVISION 0x02
+#define ACPI_2_0_HPET_REVISION 0x01
+
 #pragma pack ()
 
 #define ACPI_PHYSICAL_ADDRESS 0xEA000
diff -r a578c9703416 -r 63fb88610e1e tools/firmware/hvmloader/acpi/build.c
--- a/tools/firmware/hvmloader/acpi/build.c     Sat Dec 30 12:49:31 2006 +0000
+++ b/tools/firmware/hvmloader/acpi/build.c     Sat Dec 30 15:45:13 2006 +0000
@@ -57,8 +57,8 @@ int construct_madt(struct acpi_20_madt *
     memset(madt, 0, sizeof(*madt));
     madt->header.signature    = ACPI_2_0_MADT_SIGNATURE;
     madt->header.revision     = ACPI_2_0_MADT_REVISION;
-    strncpy(madt->header.oem_id, "INTEL ", 6);
-    madt->header.oem_table_id = ACPI_OEM_TABLE_ID;
+    strncpy(madt->header.oem_id, ACPI_OEM_ID, 6);
+    strncpy(madt->header.oem_table_id, ACPI_OEM_TABLE_ID, 8);
     madt->header.oem_revision = ACPI_OEM_REVISION;
     madt->header.creator_id   = ACPI_CREATOR_ID;
     madt->header.creator_revision = ACPI_CREATOR_REVISION;
@@ -129,8 +129,8 @@ int construct_hpet(struct acpi_20_hpet *
     memset(hpet, 0, sizeof(*hpet));
     hpet->header.signature    = ACPI_2_0_HPET_SIGNATURE;
     hpet->header.revision     = ACPI_2_0_HPET_REVISION;
-    strncpy(hpet->header.oem_id, "INTEL ", 6);
-    hpet->header.oem_table_id = ACPI_OEM_TABLE_ID;
+    strncpy(hpet->header.oem_id, ACPI_OEM_ID, 6);
+    strncpy(hpet->header.oem_table_id, ACPI_OEM_TABLE_ID, 8);
     hpet->header.oem_revision = ACPI_OEM_REVISION;
     hpet->header.creator_id   = ACPI_CREATOR_ID;
     hpet->header.creator_revision = ACPI_CREATOR_REVISION;
@@ -184,12 +184,11 @@ int construct_secondary_tables(uint8_t *
         tcpa->header.signature = ACPI_2_0_TCPA_SIGNATURE;
         tcpa->header.length    = sizeof(*tcpa);
         tcpa->header.revision  = ACPI_2_0_TCPA_REVISION;
-        strncpy(tcpa->header.oem_id, "IBM   ", 6);
-        tcpa->header.oem_table_id = ASCII64(' ', ' ', ' ', ' ',
-                                            ' ', 'x', 'e', 'n');
-        tcpa->header.oem_revision = 1;
-        tcpa->header.creator_id   = ASCII32('I', 'B', 'M', ' ');
-        tcpa->header.creator_revision = 1;
+        strncpy(tcpa->header.oem_id, ACPI_OEM_ID, 6);
+        strncpy(tcpa->header.oem_table_id, ACPI_OEM_TABLE_ID, 8);
+        tcpa->header.oem_revision = ACPI_OEM_REVISION;
+        tcpa->header.creator_id   = ACPI_CREATOR_ID;
+        tcpa->header.creator_revision = ACPI_CREATOR_REVISION;
         tcpa->lasa = e820_malloc(
             ACPI_2_0_TCPA_LAML_SIZE, E820_RESERVED, (uint32_t)~0);
         if ( tcpa->lasa )
diff -r a578c9703416 -r 63fb88610e1e tools/firmware/hvmloader/acpi/dsdt.asl
--- a/tools/firmware/hvmloader/acpi/dsdt.asl    Sat Dec 30 12:49:31 2006 +0000
+++ b/tools/firmware/hvmloader/acpi/dsdt.asl    Sat Dec 30 15:45:13 2006 +0000
@@ -17,7 +17,7 @@
  * Place - Suite 330, Boston, MA 02111-1307 USA.
  */
 
-DefinitionBlock ("DSDT.aml", "DSDT", 1, "INTEL","int-xen", 2006)
+DefinitionBlock ("DSDT.aml", "DSDT", 2, "Xen", "HVM", 0)
 {
     Name (\PMBS, 0x0C00)
     Name (\PMLN, 0x08)
diff -r a578c9703416 -r 63fb88610e1e tools/firmware/hvmloader/acpi/dsdt.c
--- a/tools/firmware/hvmloader/acpi/dsdt.c      Sat Dec 30 12:49:31 2006 +0000
+++ b/tools/firmware/hvmloader/acpi/dsdt.c      Sat Dec 30 15:45:13 2006 +0000
@@ -1,22 +1,22 @@
 /*
  * 
  * Intel ACPI Component Architecture
- * ASL Optimizing Compiler / AML Disassembler version 20050513 [Aug 11 2006]
- * Copyright (C) 2000 - 2005 Intel Corporation
- * Supports ACPI Specification Revision 3.0
+ * ASL Optimizing Compiler version 20060707 [Dec 30 2006]
+ * Copyright (C) 2000 - 2006 Intel Corporation
+ * Supports ACPI Specification Revision 3.0a
  * 
- * Compilation of "dsdt.asl" - Thu Dec 21 10:37:33 2006
+ * Compilation of "dsdt.asl" - Sat Dec 30 15:31:23 2006
  * 
  * C source code output
  *
  */
-unsigned char AmlCode[] = 
+unsigned char AmlCode[] =
 {
     0x44,0x53,0x44,0x54,0xD9,0x0D,0x00,0x00,  /* 00000000    "DSDT...." */
-    0x01,0xED,0x49,0x4E,0x54,0x45,0x4C,0x00,  /* 00000008    "..INTEL." */
-    0x69,0x6E,0x74,0x2D,0x78,0x65,0x6E,0x00,  /* 00000010    "int-xen." */
-    0xD6,0x07,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
-    0x13,0x05,0x05,0x20,0x08,0x50,0x4D,0x42,  /* 00000020    "... .PMB" */
+    0x02,0xFB,0x58,0x65,0x6E,0x00,0x00,0x00,  /* 00000008    "..Xen..." */
+    0x48,0x56,0x4D,0x00,0x00,0x00,0x00,0x00,  /* 00000010    "HVM....." */
+    0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
+    0x07,0x07,0x06,0x20,0x08,0x50,0x4D,0x42,  /* 00000020    "... .PMB" */
     0x53,0x0B,0x00,0x0C,0x08,0x50,0x4D,0x4C,  /* 00000028    "S....PML" */
     0x4E,0x0A,0x08,0x08,0x49,0x4F,0x42,0x31,  /* 00000030    "N...IOB1" */
     0x00,0x08,0x49,0x4F,0x4C,0x31,0x00,0x08,  /* 00000038    "..IOL1.." */
diff -r a578c9703416 -r 63fb88610e1e tools/firmware/hvmloader/acpi/ssdt_tpm.asl
--- a/tools/firmware/hvmloader/acpi/ssdt_tpm.asl        Sat Dec 30 12:49:31 
2006 +0000
+++ b/tools/firmware/hvmloader/acpi/ssdt_tpm.asl        Sat Dec 30 15:45:13 
2006 +0000
@@ -17,7 +17,7 @@
 
 //*  SSDT for TPM TIS Interface for Xen with Qemu device model
 
-DefinitionBlock ("SSDT_TPM.aml", "SSDT", 1, "IBM","xen", 2006)
+DefinitionBlock ("SSDT_TPM.aml", "SSDT", 2, "Xen", "HVM", 0)
 {
     Device (TPM) {
         Name (_HID, EisaId ("PNP0C31"))
@@ -26,4 +26,4 @@ DefinitionBlock ("SSDT_TPM.aml", "SSDT",
             Memory32Fixed (ReadWrite, 0xFED40000, 0x5000,)
         })
     }
-}
\ No newline at end of file
+}
diff -r a578c9703416 -r 63fb88610e1e tools/firmware/hvmloader/acpi/ssdt_tpm.h
--- a/tools/firmware/hvmloader/acpi/ssdt_tpm.h  Sat Dec 30 12:49:31 2006 +0000
+++ b/tools/firmware/hvmloader/acpi/ssdt_tpm.h  Sat Dec 30 15:45:13 2006 +0000
@@ -1,11 +1,11 @@
 /*
  * 
  * Intel ACPI Component Architecture
- * ASL Optimizing Compiler version 20060707 [Sep 11 2006]
+ * ASL Optimizing Compiler version 20060707 [Dec 30 2006]
  * Copyright (C) 2000 - 2006 Intel Corporation
  * Supports ACPI Specification Revision 3.0a
  * 
- * Compilation of "acpi_ssdt_tpm.asl" - Mon Oct 30 11:28:27 2006
+ * Compilation of "ssdt_tpm.asl" - Sat Dec 30 15:31:27 2006
  * 
  * C source code output
  *
@@ -13,9 +13,9 @@ unsigned char AmlCode_TPM[] =
 unsigned char AmlCode_TPM[] =
 {
     0x53,0x53,0x44,0x54,0x4C,0x00,0x00,0x00,  /* 00000000    "SSDTL..." */
-    0x01,0x6D,0x49,0x42,0x4D,0x00,0x00,0x00,  /* 00000008    ".mIBM..." */
-    0x78,0x65,0x6E,0x00,0x00,0x00,0x00,0x00,  /* 00000010    "xen....." */
-    0xD6,0x07,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
+    0x02,0x56,0x58,0x65,0x6E,0x00,0x00,0x00,  /* 00000008    ".VXen..." */
+    0x48,0x56,0x4D,0x00,0x00,0x00,0x00,0x00,  /* 00000010    "HVM....." */
+    0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
     0x07,0x07,0x06,0x20,0x5B,0x82,0x26,0x54,  /* 00000020    "... [.&T" */
     0x50,0x4D,0x5F,0x08,0x5F,0x48,0x49,0x44,  /* 00000028    "PM_._HID" */
     0x0C,0x41,0xD0,0x0C,0x31,0x08,0x5F,0x43,  /* 00000030    ".A..1._C" */
diff -r a578c9703416 -r 63fb88610e1e 
tools/firmware/hvmloader/acpi/static_tables.c
--- a/tools/firmware/hvmloader/acpi/static_tables.c     Sat Dec 30 12:49:31 
2006 +0000
+++ b/tools/firmware/hvmloader/acpi/static_tables.c     Sat Dec 30 15:45:13 
2006 +0000
@@ -118,7 +118,7 @@ struct acpi_20_xsdt Xsdt = {
         .signature    = ACPI_2_0_XSDT_SIGNATURE,
         .length       = sizeof(struct acpi_header),
         .revision     = ACPI_2_0_XSDT_REVISION,
-        .oem_id       = ACPI_OEM_ID, 
+        .oem_id       = ACPI_OEM_ID,
         .oem_table_id = ACPI_OEM_TABLE_ID,
         .oem_revision = ACPI_OEM_REVISION,
         .creator_id   = ACPI_CREATOR_ID,
@@ -130,7 +130,7 @@ struct acpi_20_rsdp Rsdp = {
 struct acpi_20_rsdp Rsdp = {
     .signature = ACPI_2_0_RSDP_SIGNATURE,
     .oem_id    = ACPI_OEM_ID,
-    .revision  = ACPI_OEM_REVISION, 
+    .revision  = ACPI_2_0_RSDP_REVISION,
     .length    = sizeof(struct acpi_20_rsdp)
 };
 
diff -r a578c9703416 -r 63fb88610e1e tools/firmware/vmxassist/vm86.c
--- a/tools/firmware/vmxassist/vm86.c   Sat Dec 30 12:49:31 2006 +0000
+++ b/tools/firmware/vmxassist/vm86.c   Sat Dec 30 15:45:13 2006 +0000
@@ -961,9 +961,9 @@ protected_mode(struct regs *regs)
 
        /* initialize jump environment to warp back to protected mode */
        regs->uss = DATA_SELECTOR;
-       regs->uesp = stack_top;
+       regs->uesp = (unsigned long)stack_top;
        regs->cs = CODE_SELECTOR;
-       regs->eip = (unsigned) switch_to_protected_mode;
+       regs->eip = (unsigned long)switch_to_protected_mode;
 
        /* this should get us into 32-bit mode */
 }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.