ia64_cpu.h (221271) | ia64_cpu.h (221889) |
---|---|
1/*- 2 * Copyright (c) 2007 Marcel Moolenaar 3 * Copyright (c) 2000 Doug Rabson 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * | 1/*- 2 * Copyright (c) 2007 Marcel Moolenaar 3 * Copyright (c) 2000 Doug Rabson 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * |
27 * $FreeBSD: head/sys/ia64/include/ia64_cpu.h 221271 2011-04-30 20:49:00Z marcel $ | 27 * $FreeBSD: head/sys/ia64/include/ia64_cpu.h 221889 2011-05-14 14:36:08Z marcel $ |
28 */ 29 30#ifndef _MACHINE_IA64_CPU_H_ 31#define _MACHINE_IA64_CPU_H_ 32 33/* 34 * Local Interrupt ID. 35 */ --- 467 unchanged lines hidden (view full) --- 503} 504 505static __inline void 506ia64_enable_highfp(void) 507{ 508 __asm __volatile("rsm psr.dfh;; srlz.d"); 509} 510 | 28 */ 29 30#ifndef _MACHINE_IA64_CPU_H_ 31#define _MACHINE_IA64_CPU_H_ 32 33/* 34 * Local Interrupt ID. 35 */ --- 467 unchanged lines hidden (view full) --- 503} 504 505static __inline void 506ia64_enable_highfp(void) 507{ 508 __asm __volatile("rsm psr.dfh;; srlz.d"); 509} 510 |
511static __inline void 512ia64_srlz_d(void) 513{ 514 __asm __volatile("srlz.d"); 515} | 511/* 512 * Avoid inline functions for the following so that they still work 513 * correctly when inlining is not enabled (e.g. -O0). Function calls 514 * need data serialization after setting psr, which results in a 515 * hazard. 516 */ 517#define ia64_srlz_d() __asm __volatile("srlz.d") 518#define ia64_srlz_i() __asm __volatile("srlz.i;;") |
516 | 519 |
517static __inline void 518ia64_srlz_i(void) 519{ 520 __asm __volatile("srlz.i;;"); 521} 522 | |
523#endif /* !LOCORE */ 524 525#endif /* _MACHINE_IA64_CPU_H_ */ 526 | 520#endif /* !LOCORE */ 521 522#endif /* _MACHINE_IA64_CPU_H_ */ 523 |