blob: 14175d0c80474ec4e6290fa1a907e6e95d88d0c9 [file] [log] [blame]
Luigi Semenzatoa7e19cf2010-09-15 17:20:36 -07001/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
5
6/* Create two spaces for uses in tests. OK if they already exist.
7 */
8
9#include <stdio.h>
10#include <stdint.h>
11#include <stdlib.h>
12
13#include "tlcl.h"
14#include "tlcl_tests.h"
15#include "utility.h"
16
17int main(int argc, char** argv) {
18 uint32_t perm;
19 uint32_t result;
20 uint32_t x;
21
22 TlclLibInit();
23
24 TPM_CHECK(TlclStartupIfNeeded());
25 TPM_CHECK(TlclSelfTestFull());
26 TPM_CHECK(TlclAssertPhysicalPresence());
27
28 result = TlclRead(INDEX0, (uint8_t*) &x, sizeof(x));
29 if (result == TPM_E_BADINDEX) {
30 perm = TPM_NV_PER_PPWRITE | TPM_NV_PER_GLOBALLOCK;
31 TPM_CHECK(TlclDefineSpace(INDEX0, perm, sizeof(uint32_t)));
32 }
33
34 result = TlclRead(INDEX1, (uint8_t*) &x, sizeof(x));
35 if (result == TPM_E_BADINDEX) {
36 perm = TPM_NV_PER_PPWRITE;
37 TlclDefineSpace(INDEX1, perm, sizeof(uint32_t));
38 }
39
40 printf("TEST SUCCEEDED\n");
41 exit(0);
42}