6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
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 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26 #pragma ident "%Z%%M% %I% %E% SMI"
27
28 /*
29 * Hypervisor calls called by ncp driver.
30 */
31
32 #include <sys/asm_linkage.h>
33 #include <sys/hypervisor_api.h>
34 #include <sys/n2rng.h>
35
36 #if defined(lint) || defined(__lint)
37
38 /*ARGSUSED*/
39 uint64_t
40 hv_rng_get_diag_control()
41 { return (0); }
42
43 /*ARGSUSED*/
44 uint64_t
45 hv_rng_ctl_read(uint64_t ctlregsptr_ra, uint64_t *rstate, uint64_t *tdelta)
46 { return (0); }
47
48 /*ARGSUSED*/
49 uint64_t
50 hv_rng_ctl_read_v2(uint64_t ctlregsptr_ra, uint64_t rngid, uint64_t *rstate,
51 uint64_t *tdelta, uint64_t *wdelta, uint64_t *wstate)
52 { return (0); }
53
54 /*ARGSUSED*/
55 uint64_t
56 hv_rng_ctl_write(uint64_t ctlregsptr_ra, uint64_t nstate, uint64_t wtimeout,
57 uint64_t *tdelta)
58 { return (0); }
59
60 /*ARGSUSED*/
61 uint64_t
62 hv_rng_ctl_write_v2(uint64_t ctlregsptr_ra, uint64_t nstate, uint64_t wtimeout,
63 uint64_t rngid)
64 { return (0); }
65
66 /*ARGSUSED*/
67 uint64_t
68 hv_rng_data_read_diag(uint64_t buffer_ra, uint64_t sz, uint64_t *tdelta)
69 { return (0); }
70
71 /*ARGSUSED*/
72 uint64_t
73 hv_rng_data_read_diag_v2(uint64_t buffer_ra, uint64_t sz, uint64_t rngid,
74 uint64_t *tdelta)
75 { return (0); }
76
77 /*ARGSUSED*/
78 uint64_t
79 hv_rng_data_read(uint64_t buffer_ra, uint64_t *tdelta)
80 { return (0); }
81
82 #else /* lint || __lint */
83
84 /*
85 * hv_rng_get_diag_control()
86 */
87 ENTRY(hv_rng_get_diag_control)
88 mov HV_RNG_GET_DIAG_CONTROL, %o5
89 ta FAST_TRAP
90 retl
91 nop
92 SET_SIZE(hv_rng_get_diag_control)
93
94 /*
95 * hv_rng_ctl_read(uint64_t ctlregsptr_ra, uint64_t *rstate,
96 * uint64_t *tdelta)
97 */
98 ENTRY(hv_rng_ctl_read)
99 mov %o1, %o3
100 mov %o2, %o4
101 mov HV_RNG_CTL_READ, %o5
102 ta FAST_TRAP
103 stx %o1, [%o3]
166 */
167 ENTRY(hv_rng_data_read_diag_v2)
168 mov %o3, %o4
169 mov HV_RNG_DATA_READ_DIAG, %o5
170 ta FAST_TRAP
171 retl
172 stx %o1, [%o4]
173 SET_SIZE(hv_rng_data_read_diag_v2)
174
175 /*
176 * hv_rng_data_read(uint64_t buffer_ra, uint64_t *tdelta)
177 */
178 ENTRY(hv_rng_data_read)
179 mov %o1, %o4
180 mov HV_RNG_DATA_READ, %o5
181 ta FAST_TRAP
182 retl
183 stx %o1, [%o4]
184 SET_SIZE(hv_rng_data_read)
185
186 #endif /* lint || __lint */
|
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
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 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25
26 /*
27 * Hypervisor calls called by ncp driver.
28 */
29
30 #include <sys/asm_linkage.h>
31 #include <sys/hypervisor_api.h>
32 #include <sys/n2rng.h>
33
34 /*
35 * hv_rng_get_diag_control()
36 */
37 ENTRY(hv_rng_get_diag_control)
38 mov HV_RNG_GET_DIAG_CONTROL, %o5
39 ta FAST_TRAP
40 retl
41 nop
42 SET_SIZE(hv_rng_get_diag_control)
43
44 /*
45 * hv_rng_ctl_read(uint64_t ctlregsptr_ra, uint64_t *rstate,
46 * uint64_t *tdelta)
47 */
48 ENTRY(hv_rng_ctl_read)
49 mov %o1, %o3
50 mov %o2, %o4
51 mov HV_RNG_CTL_READ, %o5
52 ta FAST_TRAP
53 stx %o1, [%o3]
116 */
117 ENTRY(hv_rng_data_read_diag_v2)
118 mov %o3, %o4
119 mov HV_RNG_DATA_READ_DIAG, %o5
120 ta FAST_TRAP
121 retl
122 stx %o1, [%o4]
123 SET_SIZE(hv_rng_data_read_diag_v2)
124
125 /*
126 * hv_rng_data_read(uint64_t buffer_ra, uint64_t *tdelta)
127 */
128 ENTRY(hv_rng_data_read)
129 mov %o1, %o4
130 mov HV_RNG_DATA_READ, %o5
131 ta FAST_TRAP
132 retl
133 stx %o1, [%o4]
134 SET_SIZE(hv_rng_data_read)
135
|