Some fine-tuning in the virtual TPM scripts for hotpluging. The changes

enable a virtual TPM to save its state between reboots of the virtual
TPM implementation.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Signed-off-by: Vincent Scarlata <vincent.r.scarlata@intel.com>
This commit is contained in:
emellor@leeni.uk.xensource.com committed 2006-06-24 23:44:18 +01:00
1 parent 936acab9fc
commit 3cd179cf27
2 files changed
+15 -23

No files matched your search

-6
View File
@@ -9,15 +9,9 @@ case "$command" in
add)
vtpm_create_instance
;;
online)
vtpm_create_instance
;;
remove)
vtpm_remove_instance
;;
offline)
vtpm_remove_instance
;;
esac
if [ $vtpm_fatal_error -eq 0 ]; then
+15 -17
View File
@@ -23,7 +23,7 @@ dir=$(dirname "$0")
VTPMDB="/etc/xen/vtpm.db"
#In the vtpm-impl file some commands should be defined:
# vtpm_create, vtpm_setup, vtpm_reset, etc. (see below)
# vtpm_create, vtpm_setup, vtpm_start, etc. (see below)
#This should be indicated by setting VTPM_IMPL_DEFINED.
if [ -r "$dir/vtpm-impl" ]; then
. "$dir/vtpm-impl"
@@ -36,7 +36,7 @@ if [ -z "$VTPM_IMPL_DEFINED" ]; then
function vtpm_setup() {
true
}
function vtpm_reset() {
function vtpm_start() {
true
}
function vtpm_suspend() {
@@ -256,22 +256,22 @@ function vtpm_create_instance () {
else
instance=$(vtpmdb_get_free_instancenum)
fi
if [ "$reason" == "create" ]; then
vtpm_create $instance
else
vtpm_resume $instance $domname
fi
vtpm_create $instance
if [ $vtpm_fatal_error -eq 0 ]; then
vtpmdb_add_instance $domname $instance
fi
else
if [ "$reason" == "resume" ]; then
vtpm_resume $instance
else
vtpm_start $instance
fi
fi
release_lock vtpmdb
if [ $vtpm_fatal_error -eq 0 -a \
"$reason" == "create" ]; then
vtpm_reset $instance
fi
xenstore_write $XENBUS_PATH/instance $instance
}
@@ -283,19 +283,17 @@ function vtpm_remove_instance () {
local instance reason domname
domname=$(xenstore_read "$XENBUS_PATH"/domain)
if [ "$doname" != "" ]; then
if [ "$domname" != "" ]; then
claim_lock vtpmdb
instance=$(vtpmdb_find_instance $domname)
if [ "$instance" != "0" ]; then
if [ "$reason" == "suspend" ]; then
vtpm_suspend $instance
fi
vtpm_suspend $instance
fi
fi
release_lock vtpmdb
release_lock vtpmdb
fi
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.