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 +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 * 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 , + * 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 +# 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 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 , * 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 */ ='#n67'>67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98