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 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 |
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;;") |
519 |
520#endif /* !LOCORE */ 521 522#endif /* _MACHINE_IA64_CPU_H_ */ 523 |