Deleted Added
full compact
cpufunc.h (92860) cpufunc.h (93018)
1/*-
2 * Copyright (c) 1993 The Regents of the University of California.
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

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

25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
1/*-
2 * Copyright (c) 1993 The Regents of the University of California.
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

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

25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * $FreeBSD: head/sys/amd64/include/cpufunc.h 92860 2002-03-21 06:19:08Z imp $
33 * $FreeBSD: head/sys/amd64/include/cpufunc.h 93018 2002-03-23 15:09:35Z bde $
34 */
35
36/*
37 * Functions to provide access to special i386 instructions.
38 * This in included in sys/systm.h, and that file should be
39 * used in preference to this.
40 */
41

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

231
232#if defined(SMP) && defined(_KERNEL)
233
234/*
235 * When using APIC IPI's, invlpg() is not simply the invlpg instruction
236 * (this is a bug) and the inlining cost is prohibitive since the call
237 * executes into the IPI transmission system.
238 */
34 */
35
36/*
37 * Functions to provide access to special i386 instructions.
38 * This in included in sys/systm.h, and that file should be
39 * used in preference to this.
40 */
41

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

231
232#if defined(SMP) && defined(_KERNEL)
233
234/*
235 * When using APIC IPI's, invlpg() is not simply the invlpg instruction
236 * (this is a bug) and the inlining cost is prohibitive since the call
237 * executes into the IPI transmission system.
238 */
239void invlpg (u_int addr);
240void invltlb (void);
239void invlpg(u_int addr);
240void invltlb(void);
241
242static __inline void
243cpu_invlpg(void *addr)
244{
245 __asm __volatile("invlpg %0" : : "m" (*(char *)addr) : "memory");
246}
247
248static __inline void

--- 399 unchanged lines hidden ---
241
242static __inline void
243cpu_invlpg(void *addr)
244{
245 __asm __volatile("invlpg %0" : : "m" (*(char *)addr) : "memory");
246}
247
248static __inline void

--- 399 unchanged lines hidden ---