summaryrefslogtreecommitdiff
path: root/tests/tpm_lite/tpmtest_spaceperm.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tpm_lite/tpmtest_spaceperm.c')
-rw-r--r--tests/tpm_lite/tpmtest_spaceperm.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/tpm_lite/tpmtest_spaceperm.c b/tests/tpm_lite/tpmtest_spaceperm.c
new file mode 100644
index 00000000..71a65218
--- /dev/null
+++ b/tests/tpm_lite/tpmtest_spaceperm.c
@@ -0,0 +1,36 @@
+/* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Test of space permissions retrieval.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "host_common.h"
+#include "tlcl.h"
+#include "tlcl_tests.h"
+
+#define PERMPPGL (TPM_NV_PER_PPWRITE | TPM_NV_PER_GLOBALLOCK)
+#define PERMPP TPM_NV_PER_PPWRITE
+
+int main(int argc, char** argv) {
+ uint32_t perm;
+
+ TlclLibInit();
+ TPM_CHECK(TlclStartupIfNeeded());
+ TPM_CHECK(TlclContinueSelfTest());
+ TPM_CHECK(TlclAssertPhysicalPresence());
+
+ TPM_CHECK(TlclGetPermissions(INDEX0, &perm));
+ VbAssert((perm & PERMPPGL) == PERMPPGL);
+
+ TPM_CHECK(TlclGetPermissions(INDEX1, &perm));
+ VbAssert((perm & PERMPP) == PERMPP);
+
+ printf("TEST SUCCEEDED\n");
+ exit(0);
+}