Deleted Added
full compact
ia64_cpu.h (66486) ia64_cpu.h (66633)
1/*-
2 * Copyright (c) 2000 Doug Rabson
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2000 Doug Rabson
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/ia64/include/ia64_cpu.h 66486 2000-09-30 17:48:44Z dfr $
26 * $FreeBSD: head/sys/ia64/include/ia64_cpu.h 66633 2000-10-04 17:53:03Z dfr $
27 */
28
29#ifndef _MACHINE_IA64_CPU_H_
30#define _MACHINE_IA64_CPU_H_
31
32/*
33 * Definition of PSR and IPSR bits.
34 */

--- 143 unchanged lines hidden (view full) ---

178ia64_tpa(u_int64_t va)
179{
180 u_int64_t result;
181 __asm __volatile("tpa %0=%1" : "=r" (result) : "r" (va));
182 return result;
183}
184
185/*
27 */
28
29#ifndef _MACHINE_IA64_CPU_H_
30#define _MACHINE_IA64_CPU_H_
31
32/*
33 * Definition of PSR and IPSR bits.
34 */

--- 143 unchanged lines hidden (view full) ---

178ia64_tpa(u_int64_t va)
179{
180 u_int64_t result;
181 __asm __volatile("tpa %0=%1" : "=r" (result) : "r" (va));
182 return result;
183}
184
185/*
186 * Read the value of ar.k0.
187 */
188static __inline u_int64_t
189ia64_get_k0(void)
190{
191 u_int64_t result;
192 __asm __volatile("mov %0=ar.k0" : "=r" (result));
193 return result;
194}
195
196/*
197 * Read the value of ar.k1.
198 */
199static __inline u_int64_t
200ia64_get_k1(void)
201{
202 u_int64_t result;
203 __asm __volatile("mov %0=ar.k1" : "=r" (result));
204 return result;
205}
206
207/*
208 * Read the value of ar.k2.
209 */
210static __inline u_int64_t
211ia64_get_k2(void)
212{
213 u_int64_t result;
214 __asm __volatile("mov %0=ar.k2" : "=r" (result));
215 return result;
216}
217
218/*
219 * Read the value of ar.k3.
220 */
221static __inline u_int64_t
222ia64_get_k3(void)
223{
224 u_int64_t result;
225 __asm __volatile("mov %0=ar.k3" : "=r" (result));
226 return result;
227}
228
229/*
230 * Read the value of ar.k4.
231 */
232static __inline u_int64_t
233ia64_get_k4(void)
234{
235 u_int64_t result;
236 __asm __volatile("mov %0=ar.k4" : "=r" (result));
237 return result;
238}
239
240/*
241 * Read the value of ar.k5.
242 */
243static __inline u_int64_t
244ia64_get_k5(void)
245{
246 u_int64_t result;
247 __asm __volatile("mov %0=ar.k5" : "=r" (result));
248 return result;
249}
250
251/*
252 * Read the value of ar.k6.
253 */
254static __inline u_int64_t
255ia64_get_k6(void)
256{
257 u_int64_t result;
258 __asm __volatile("mov %0=ar.k6" : "=r" (result));
259 return result;
260}
261
262/*
263 * Read the value of ar.k7.
264 */
265static __inline u_int64_t
266ia64_get_k7(void)
267{
268 u_int64_t result;
269 __asm __volatile("mov %0=ar.k7" : "=r" (result));
270 return result;
271}
272
273/*
274 * Write the value of ar.k0.
275 */
276static __inline void
277ia64_set_k0(u_int64_t v)
278{
279 __asm __volatile("mov ar.k0=%0" :: "r" (v));
280}
281
282/*
283 * Write the value of ar.k1.
284 */
285static __inline void
286ia64_set_k1(u_int64_t v)
287{
288 __asm __volatile("mov ar.k1=%0" :: "r" (v));
289}
290
291/*
292 * Write the value of ar.k2.
293 */
294static __inline void
295ia64_set_k2(u_int64_t v)
296{
297 __asm __volatile("mov ar.k2=%0" :: "r" (v));
298}
299
300/*
301 * Write the value of ar.k3.
302 */
303static __inline void
304ia64_set_k3(u_int64_t v)
305{
306 __asm __volatile("mov ar.k3=%0" :: "r" (v));
307}
308
309/*
310 * Write the value of ar.k4.
311 */
312static __inline void
313ia64_set_k4(u_int64_t v)
314{
315 __asm __volatile("mov ar.k4=%0" :: "r" (v));
316}
317
318/*
319 * Write the value of ar.k5.
320 */
321static __inline void
322ia64_set_k5(u_int64_t v)
323{
324 __asm __volatile("mov ar.k5=%0" :: "r" (v));
325}
326
327/*
328 * Write the value of ar.k6.
329 */
330static __inline void
331ia64_set_k6(u_int64_t v)
332{
333 __asm __volatile("mov ar.k6=%0" :: "r" (v));
334}
335
336/*
337 * Write the value of ar.k7.
338 */
339static __inline void
340ia64_set_k7(u_int64_t v)
341{
342 __asm __volatile("mov ar.k7=%0" :: "r" (v));
343}
344
345/*
186 * Read the value of ar.itc.
187 */
188static __inline u_int64_t
189ia64_get_itc(void)
190{
191 u_int64_t result;
192 __asm __volatile("mov %0=ar.itc" : "=r" (result));
193 return result;

--- 33 unchanged lines hidden ---
346 * Read the value of ar.itc.
347 */
348static __inline u_int64_t
349ia64_get_itc(void)
350{
351 u_int64_t result;
352 __asm __volatile("mov %0=ar.itc" : "=r" (result));
353 return result;

--- 33 unchanged lines hidden ---