Statistics
| Branch: | Revision:

root / hw / tpm / tpm_int.h @ 881d588a

History | View | Annotate | Download (1.2 kB)

1
/*
2
 * TPM configuration
3
 *
4
 * Copyright (C) 2011-2013 IBM Corporation
5
 *
6
 * Authors:
7
 *  Stefan Berger    <stefanb@us.ibm.com>
8
 *
9
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
10
 * See the COPYING file in the top-level directory.
11
 */
12
#ifndef TPM_TPM_INT_H
13
#define TPM_TPM_INT_H
14

    
15
#include "exec/memory.h"
16
#include "tpm_tis.h"
17

    
18
/* overall state of the TPM interface */
19
struct TPMState {
20
    ISADevice busdev;
21
    MemoryRegion mmio;
22

    
23
    union {
24
        TPMTISEmuState tis;
25
    } s;
26

    
27
    uint8_t     locty_number;
28
    TPMLocality *locty_data;
29

    
30
    char *backend;
31
    TPMBackend *be_driver;
32
};
33

    
34
#define TPM(obj) OBJECT_CHECK(TPMState, (obj), TYPE_TPM_TIS)
35

    
36
struct tpm_req_hdr {
37
    uint16_t tag;
38
    uint32_t len;
39
    uint32_t ordinal;
40
} QEMU_PACKED;
41

    
42
struct tpm_resp_hdr {
43
    uint16_t tag;
44
    uint32_t len;
45
    uint32_t errcode;
46
} QEMU_PACKED;
47

    
48
#define TPM_TAG_RQU_COMMAND       0xc1
49
#define TPM_TAG_RQU_AUTH1_COMMAND 0xc2
50
#define TPM_TAG_RQU_AUTH2_COMMAND 0xc3
51

    
52
#define TPM_TAG_RSP_COMMAND       0xc4
53
#define TPM_TAG_RSP_AUTH1_COMMAND 0xc5
54
#define TPM_TAG_RSP_AUTH2_COMMAND 0xc6
55

    
56
#define TPM_FAIL                  9
57

    
58
#define TPM_ORD_GetTicks          0xf1
59

    
60
#endif /* TPM_TPM_INT_H */