8354 sync regcomp(3C) with upstream (fix make catalog)
[unleashed/tickless.git] / usr / src / uts / sun4 / cpu / cpu_module.c
blob4cd85a81dab49419f3726e87c839a100f27fddfd
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
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.
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]
19 * CDDL HEADER END
22 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
25 #include <sys/cpu_module.h>
26 #include <sys/lockstat.h>
29 * This is a dummy file that provides the default cpu module
30 * that is linked to unix.
33 uint_t root_phys_addr_lo_mask;
34 int64_t timedelta;
35 hrtime_t hres_last_tick;
36 volatile timestruc_t hrestime;
37 int64_t hrestime_adj;
38 volatile int hres_lock;
39 uint_t nsec_scale;
40 uint_t nsec_shift;
41 uint_t adj_shift;
42 hrtime_t hrtime_base;
43 int traptrace_use_stick;
44 uint_t cpu_impl_dual_pgsz;
45 uint64_t native_tick_offset;
46 uint64_t native_stick_offset;
48 void
49 cpu_setup(void)
52 void
53 cpu_init_tick_freq(void)
56 /*ARGSUSED*/
57 void
58 vtag_flushpage(caddr_t addr, uint64_t sfmmup)
61 void
62 vtag_flushall(void)
65 void
66 vtag_flushall_uctxs(void)
69 /*ARGSUSED*/
70 void
71 vtag_flushpage_tl1(uint64_t addr, uint64_t sfmmup)
74 /*ARGSUSED*/
75 void
76 vtag_flush_pgcnt_tl1(uint64_t addr, uint64_t sfmmup_pgcnt)
79 /*ARGSUSED*/
80 void
81 vtag_flushall_tl1(uint64_t dummy1, uint64_t dummy2)
84 /*ARGSUSED*/
85 void
86 vtag_unmap_perm_tl1(uint64_t addr, uint64_t ctx)
89 /*ARGSUSED*/
90 void
91 vac_flushpage(pfn_t pf, int color)
94 /*ARGSUSED*/
95 void
96 vac_flushpage_tl1(uint64_t pf, uint64_t color)
99 /*ARGSUSED*/
100 void
101 vac_flushcolor(int color, pfn_t pf)
104 /*ARGSUSED*/
105 void
106 vac_flushcolor_tl1(uint64_t color, uint64_t dummy)
109 /*ARGSUSED*/
110 void
111 init_mondo(xcfunc_t func, uint64_t arg1, uint64_t arg2)
114 /*ARGSUSED*/
115 void
116 send_one_mondo(int cpuid)
119 /*ARGSUSED*/
120 void
121 send_mondo_set(cpuset_t set)
124 /*ARGSUSED*/
125 void
126 flush_instr_mem(caddr_t addr, size_t len)
129 void
130 syncfpu(void)
133 /*ARGSUSED*/
134 void
135 cpu_change_speed(uint64_t divisor, uint64_t arg2)
138 u_longlong_t
139 gettick(void)
140 { return (0); }
142 u_longlong_t
143 randtick(void)
144 { return (0); }
146 uint64_t
147 gettick_counter(void)
148 { return (0); }
150 /*ARGSUSED*/
151 void
152 gethrestime(timespec_t *tp)
155 time_t
156 gethrestime_sec(void)
157 { return (0); }
159 /*ARGSUSED*/
160 void
161 gethrestime_lasttick(timespec_t *tp)
164 hrtime_t
165 gethrtime(void)
166 { return (0); }
168 hrtime_t
169 gethrtime_unscaled(void)
170 { return (0); }
172 hrtime_t
173 gethrtime_waitfree(void)
174 { return (0); }
176 hrtime_t
177 dtrace_gethrtime(void)
178 { return (0); }
180 uint_t
181 get_impl(void)
182 { return (0); }
184 hrtime_t
185 get_hrestime(void)
186 { return (0); }
188 ulong_t
189 get_timestamp(void)
190 { return (0); }
192 ulong_t
193 get_virtime(void)
194 { return (0); }
196 hrtime_t
197 gethrtime_max(void)
198 { return (0); }
200 /*ARGSUSED*/
201 void
202 scalehrtime(hrtime_t *hrt)
205 void
206 hres_tick(void)
209 /*ARGSUSED*/
210 void
211 tickcmpr_set(uint64_t clock_cycles)
214 void
215 tickcmpr_disable(void)
218 /*ARGSUSED*/
219 void
220 tick_write_delta(uint64_t delta)
224 tickcmpr_disabled(void)
225 { return (0); }
227 /*ARGSUSED*/
228 void
229 drv_usecwait(clock_t n)
233 * Processor-optimized memory routines
235 /*ARGSUSED*/
237 kcopy(const void *from, void *to, size_t count)
238 { return (0); }
240 /*ARGSUSED*/
242 kcopy_nta(const void *from, void *to, size_t count, int dummy)
243 { return (0); }
245 /*ARGSUSED*/
246 void
247 bcopy(const void *from, void *to, size_t count)
250 /*ARGSUSED*/
251 void
252 ovbcopy(const void *from, void *to, size_t count)
255 /*ARGSUSED*/
257 copyin(const void *uaddr, void *kaddr, size_t count)
258 { return (0); }
260 /*ARGSUSED*/
262 xcopyin(const void *uaddr, void *kaddr, size_t count)
263 { return (0); }
265 /*ARGSUSED*/
267 xcopyin_nta(const void *uaddr, void *kaddr, size_t count, int dummy)
268 { return (0); }
270 /*ARGSUSED*/
272 copyout(const void *kaddr, void *uaddr, size_t count)
273 { return (0); }
275 /*ARGSUSED*/
277 xcopyout(const void *kaddr, void *uaddr, size_t count)
278 { return (0); }
280 /*ARGSUSED*/
282 xcopyout_nta(const void *kaddr, void *uaddr, size_t count, int dummy)
283 { return (0); }
285 /*ARGSUSED*/
286 void
287 copyout_noerr(const void *kfrom, void *uto, size_t count)
290 /*ARGSUSED*/
291 void
292 copyin_noerr(const void *kfrom, void *uto, size_t count)
295 /*ARGSUSED*/
297 xcopyin_little(const void *uaddr, void *kaddr, size_t count)
298 { return (0); }
300 /*ARGSUSED*/
302 xcopyout_little(const void *kaddr, void *uaddr, size_t count)
303 { return (0); }
305 /*ARGSUSED*/
306 void
307 hwblkpagecopy(const void *src, void *dst)
310 /*ARGSUSED*/
311 void
312 hw_pa_bcopy32(uint64_t src, uint64_t dst)
315 /*ARGSUSED*/
317 hwblkclr(void *addr, size_t len)
318 { return (0); }
320 int use_hw_bzero;
321 int use_hw_bcopy;
322 uint_t hw_copy_limit_1;
323 uint_t hw_copy_limit_2;
324 uint_t hw_copy_limit_4;
325 uint_t hw_copy_limit_8;
328 * tick operations
331 void
332 tick_rtt(void)
335 void
336 pil14_interrupt(void)
339 void
340 pil15_interrupt(void)
343 /* ARGSUSED */
344 void
345 cpu_init_private(struct cpu *cp)
348 /* ARGSUSED */
349 void
350 cpu_uninit_private(struct cpu *cp)
353 void
354 sticksync_slave(void)
357 void
358 sticksync_master(void)
361 /*ARGSUSED*/
363 dtrace_blksuword32(uintptr_t addr, uint32_t *data, int tryagain)
364 { return (-1); }