# 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
|