16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 /*
28 * Hypervisor calls used by tpm driver
29 */
30
31 #include <sys/asm_linkage.h>
32
33 #if defined(sun4v)
34 #include <sys/hypervisor_api.h>
35
36 #if defined(lint) || defined(__lint)
37
38 /*ARGSUSED*/
39 uint64_t
40 hcall_tpm_get(uint64_t locality, uint64_t offset, uint64_t size,
41 uint64_t *value)
42 {
43 return (0);
44 }
45
46 /*ARGSUSED*/
47 uint64_t
48 hcall_tpm_put(uint64_t locality, uint64_t offset, uint64_t size,
49 uint64_t value)
50 {
51 return (0);
52 }
53
54 #else /* lint || __lint */
55
56 /*
57 * hcall_tpm_get(uint64_t locality, uint64_t offset, uint64_t size,
58 * uint64_t *value)
59 */
60 ENTRY(hcall_tpm_get)
61 mov %o3, %g1
62 mov HV_TPM_GET, %o5
63 ta FAST_TRAP
64 stx %o1, [%g1]
65 retl
66 nop
67 SET_SIZE(hcall_tpm_get)
68
69 /*
70 * uint64_t
71 * hcall_tpm_put(uint64_t locality, uint64_t offset, uint64_t size,
72 * uint64_t value)
73 */
74 ENTRY(hcall_tpm_put)
75 mov HV_TPM_PUT, %o5
76 ta FAST_TRAP
77 retl
78 nop
79 SET_SIZE(hcall_tpm_put)
80
81 #endif /* lint || __lint */
82
83 #endif /* defined(sun4v) */
|
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 /*
28 * Hypervisor calls used by tpm driver
29 */
30
31 #include <sys/asm_linkage.h>
32
33 #if defined(sun4v)
34 #include <sys/hypervisor_api.h>
35
36 /*
37 * hcall_tpm_get(uint64_t locality, uint64_t offset, uint64_t size,
38 * uint64_t *value)
39 */
40 ENTRY(hcall_tpm_get)
41 mov %o3, %g1
42 mov HV_TPM_GET, %o5
43 ta FAST_TRAP
44 stx %o1, [%g1]
45 retl
46 nop
47 SET_SIZE(hcall_tpm_get)
48
49 /*
50 * uint64_t
51 * hcall_tpm_put(uint64_t locality, uint64_t offset, uint64_t size,
52 * uint64_t value)
53 */
54 ENTRY(hcall_tpm_put)
55 mov HV_TPM_PUT, %o5
56 ta FAST_TRAP
57 retl
58 nop
59 SET_SIZE(hcall_tpm_put)
60
61 #endif /* defined(sun4v) */
|