Files
xen/tools/vtpm/tpm_emulator.patch
T
2006-02-16 23:00:00 +01:00

145 lines
5.9 KiB
Diff

diff -uprN orig/tpm_emulator-0.2-x86_64/AUTHORS tpm_emulator/AUTHORS
--- orig/tpm_emulator-0.2-x86_64/AUTHORS 2005-08-15 00:58:57.000000000 -0700
+++ tpm_emulator/AUTHORS 2005-09-14 20:27:22.000000000 -0700
@@ -1 +1,2 @@
Mario Strasser <mast@gmx.net>
+INTEL Corp <>
diff -uprN orig/tpm_emulator-0.2-x86_64/ChangeLog tpm_emulator/ChangeLog
--- orig/tpm_emulator-0.2-x86_64/ChangeLog 2005-08-15 00:58:57.000000000 -0700
+++ tpm_emulator/ChangeLog 2005-09-14 20:27:22.000000000 -0700
@@ -1,3 +1,7 @@
+2005-08-16: INTEL Corp
+ * Set default permissions to PCRs
+ * Changed device to /dev/tpm0
+
2005-08-15 Mario Strasser <mast@gmx.net>
* all: some typos corrected
* tpm_integrity.c: bug in TPM_Extend fixed
diff -uprN orig/tpm_emulator-0.2-x86_64/linux_module.h tpm_emulator/linux_module.h
--- orig/tpm_emulator-0.2-x86_64/linux_module.h 2005-09-15 19:21:14.844078720 -0700
+++ tpm_emulator/linux_module.h 2005-09-14 20:27:22.000000000 -0700
@@ -1,5 +1,6 @@
/* Software-Based Trusted Platform Module (TPM) Emulator for Linux
* Copyright (C) 2004 Mario Strasser <mast@gmx.net>,
+ * Copyright (C) 2005 INTEL Corp.
*
* This module is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
@@ -35,7 +36,7 @@
#include "tpm_version.h"
#define TPM_DEVICE_MINOR 224
-#define TPM_DEVICE_NAME "tpm"
+#define TPM_DEVICE_NAME "tpm0"
#define TPM_MODULE_NAME "tpm_emulator"
/* debug and log output functions */
diff -uprN orig/tpm_emulator-0.2-x86_64/Makefile tpm_emulator/Makefile
--- orig/tpm_emulator-0.2-x86_64/Makefile 2005-09-15 19:21:14.845078568 -0700
+++ tpm_emulator/Makefile 2005-09-14 20:27:22.000000000 -0700
@@ -1,16 +1,22 @@
# Software-Based Trusted Platform Module (TPM) Emulator for Linux
# Copyright (C) 2004 Mario Strasser <mast@gmx.net>
+# Copyright (C) 2005 INTEL Corp.
#
# $Id: Makefile 10 2005-04-26 20:59:50Z mast $
+XEN_ROOT := ../../..
+EUID := $(shell id -u)
+
# kernel settings
KERNEL_RELEASE := $(shell uname -r)
-KERNEL_BUILD := /lib/modules/$(KERNEL_RELEASE)/build
+CUR_DIR := $(shell pwd)
+LINUX_VERSION := $(shell cat $(CUR_DIR)/$(XEN_ROOT)/buildconfigs/mk.linux-2.6-xen | grep "LINUX_VER" | grep "2.6" | gawk '{ print $$3 }' )
+KERNEL_BUILD := $(XEN_ROOT)/linux-$(LINUX_VERSION)-xen0
MOD_SUBDIR := misc
COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/)
# module settings
-MODULE_NAME := tpm_emulator
+BIN := tpm_emulator
VERSION_MAJOR := 0
VERSION_MINOR := 2
VERSION_BUILD := $(shell date +"%s")
@@ -34,11 +38,9 @@ DIRS := . crypto tpm
SRCS := $(foreach dir, $(DIRS), $(wildcard $(src)/$(dir)/*.c))
OBJS := $(patsubst %.c, %.o, $(SRCS))
SRCS += $(foreach dir, $(DIRS), $(wildcard $(src)/$(dir)/*.h))
-DISTSRC := ./README ./AUTHORS ./ChangeLog ./Makefile $(SRCS)
-DISTDIR := tpm_emulator-$(VERSION_MAJOR).$(VERSION_MINOR)
-obj-m := $(MODULE_NAME).o
-$(MODULE_NAME)-objs := $(patsubst $(src)/%.o, %.o, $(OBJS)) crypto/libgmp.a
+obj-m := $(BIN).o
+$(BIN)-objs := $(patsubst $(src)/%.o, %.o, $(OBJS)) crypto/libgmp.a
EXTRA_CFLAGS += -I$(src) -I$(src)/crypto -I$(src)/tpm
@@ -49,23 +51,17 @@ all: $(src)/crypto/gmp.h $(src)/crypto/l
@$(MAKE) -C $(KERNEL_BUILD) M=$(CURDIR) modules
install:
- @$(MAKE) -C $(KERNEL_BUILD) M=$(CURDIR) modules_install
- test -d /var/tpm || mkdir /var/tpm
- test -c /dev/tpm || mknod /dev/tpm c 10 224
- chmod 666 /dev/tpm
- depmod -a
+ @$(MAKE) -C $(KERNEL_BUILD) M=$(CURDIR) INSTALL_MOD_PATH=$(DESTDIR) modules_install
+ test -d $(DESTDIR)/var/tpm || mkdir $(DESTDIR)/var/tpm
+ test -d $(DESTDIR)/dev || mkdir $(DESTDIR)/dev
+ test -c $(DESTDIR)/dev/tpm0 || [ $(EUID) -ne 0 ] || mknod $(DESTDIR)/dev/tpm0 c 10 224
+ [ $(EUID) -ne 0 ] || chmod 666 $(DESTDIR)/dev/tpm0
clean:
@$(MAKE) -C $(KERNEL_BUILD) M=$(CURDIR) clean
rm -f $(src)/crypto/gmp.h $(src)/crypto/libgmp.a
-dist: $(DISTSRC)
- rm -rf $(DISTDIR)
- mkdir $(DISTDIR)
- cp --parents $(DISTSRC) $(DISTDIR)/
- rm -f $(DISTDIR)/crypto/gmp.h
- tar -chzf $(DISTDIR).tar.gz $(DISTDIR)
- rm -rf $(DISTDIR)
+mrproper: clean
$(src)/crypto/libgmp.a:
test -f $(src)/crypto/libgmp.a || ln -s $(GMP_LIB) $(src)/crypto/libgmp.a
diff -uprN orig/tpm_emulator-0.2-x86_64/README tpm_emulator/README
--- orig/tpm_emulator-0.2-x86_64/README 2005-08-15 00:58:57.000000000 -0700
+++ tpm_emulator/README 2005-09-14 20:27:22.000000000 -0700
@@ -13,7 +13,8 @@ $Id: README 8 2005-01-25 21:11:45Z jmoli
Copyright
--------------------------------------------------------------------------
Copyright (C) 2004 Mario Strasser <mast@gmx.net> and Swiss Federal
-Institute of Technology (ETH) Zurich.
+ Institute of Technology (ETH) Zurich.
+Copyright (C) 2005
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff -uprN orig/tpm_emulator-0.2-x86_64/tpm/tpm_data.c tpm_emulator/tpm/tpm_data.c
--- orig/tpm_emulator-0.2-x86_64/tpm/tpm_data.c 2005-09-15 19:21:14.847078264 -0700
+++ tpm_emulator/tpm/tpm_data.c 2005-09-14 20:27:22.000000000 -0700
@@ -1,6 +1,7 @@
/* Software-Based Trusted Platform Module (TPM) Emulator for Linux
* Copyright (C) 2004 Mario Strasser <mast@gmx.net>,
* Swiss Federal Institute of Technology (ETH) Zurich
+ * Copyright (C) 2005 INTEL Corp
*
* This module is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published
@@ -85,6 +86,11 @@ void tpm_init_data(void)
tpmData.permanent.data.version.revMinor = VERSION_MINOR;
/* setup PCR attributes */
for (i = 0; i < TPM_NUM_PCR; i++) {
+ int j;
+ for (j=0; j < TPM_NUM_LOCALITY; j++) {
+ tpmData.permanent.data.pcrAttrib[i].pcrExtendLocal[j] = TRUE;
+ }
+
tpmData.permanent.data.pcrAttrib[i].pcrReset = TRUE;
}
/* set tick type */