# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID c630278d41933d11940e8f0893e7d11642de405f
# Parent 53795f0a41b116d0fb428bd3ee4a099b42fca97f
[HVMLOADER] Clean up makefile, change TPM detection.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
tools/firmware/hvmloader/Makefile | 8 +++-----
tools/firmware/hvmloader/acpi/build.c | 9 ++++++---
2 files changed, 9 insertions(+), 8 deletions(-)
diff -r 53795f0a41b1 -r c630278d4193 tools/firmware/hvmloader/Makefile
--- a/tools/firmware/hvmloader/Makefile Wed Nov 29 12:16:59 2006 +0000
+++ b/tools/firmware/hvmloader/Makefile Wed Nov 29 12:41:30 2006 +0000
@@ -18,12 +18,10 @@
# Place - Suite 330, Boston, MA 02111-1307 USA.
#
-# External CFLAGS can do more harm than good.
-CFLAGS :=
-
override XEN_TARGET_ARCH = x86_32
XEN_ROOT = ../../..
-include $(XEN_ROOT)/Config.mk
+CFLAGS := -I$(XEN_ROOT)/tools/libxc -I.
+include $(XEN_ROOT)/tools/Rules.mk
# The HVM loader is started in 32-bit mode at the address below:
LOADADDR = 0x100000
@@ -34,7 +32,7 @@ CFLAGS += $(call cc-option,$(CC),-fno-s
CFLAGS += $(call cc-option,$(CC),-fno-stack-protector-all,)
OBJCOPY = objcopy
-CFLAGS += -I$(XEN_ROOT)/tools/libxc -I. -fno-builtin -O2 -msoft-float
+CFLAGS += -fno-builtin -O2 -msoft-float
LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
SRCS = hvmloader.c mp_tables.c util.c smbios.c
diff -r 53795f0a41b1 -r c630278d4193 tools/firmware/hvmloader/acpi/build.c
--- a/tools/firmware/hvmloader/acpi/build.c Wed Nov 29 12:16:59 2006 +0000
+++ b/tools/firmware/hvmloader/acpi/build.c Wed Nov 29 12:41:30 2006 +0000
@@ -115,7 +115,8 @@ int construct_secondary_tables(uint8_t *
int offset = 0, nr_tables = 0;
struct acpi_20_madt *madt;
struct acpi_20_tcpa *tcpa;
- static const uint16_t tis_did_vid_rid[] = {0x0001, 0x0001, 0x0001};
+ static const uint16_t tis_signature[] = {0x0001, 0x0001, 0x0001};
+ uint16_t *tis_hdr;
/* MADT. */
if ( (get_vcpu_nr() > 1) || get_apic_mode() )
@@ -126,8 +127,10 @@ int construct_secondary_tables(uint8_t *
}
/* TPM TCPA and SSDT. */
- if ( memcmp((char *)0xFED40F00, tis_did_vid_rid,
- sizeof(tis_did_vid_rid)) == 0 ) /* Probe for TIS interface. */
+ tis_hdr = (uint16_t *)0xFED40F00;
+ if ( (tis_hdr[0] == tis_signature[0]) &&
+ (tis_hdr[1] == tis_signature[1]) &&
+ (tis_hdr[2] == tis_signature[2]) )
{
memcpy(&buf[offset], AmlCode_TPM, sizeof(AmlCode_TPM));
table_ptrs[nr_tables++] = (unsigned long)&buf[offset];
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|