Deleted Added
full compact
cpufunc.h (204635) cpufunc.h (205675)
1/* $OpenBSD: pio.h,v 1.2 1998/09/15 10:50:12 pefo Exp $ */
2
3/*
4 * Copyright (c) 1995-1999 Per Fogelstrom. 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:

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

24 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 * JNPR: cpufunc.h,v 1.5 2007/08/09 11:23:32 katta
1/* $OpenBSD: pio.h,v 1.2 1998/09/15 10:50:12 pefo Exp $ */
2
3/*
4 * Copyright (c) 1995-1999 Per Fogelstrom. 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:

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

24 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 *
31 * JNPR: cpufunc.h,v 1.5 2007/08/09 11:23:32 katta
32 * $FreeBSD: head/sys/mips/include/cpufunc.h 204635 2010-03-03 15:05:58Z gnn $
32 * $FreeBSD: head/sys/mips/include/cpufunc.h 205675 2010-03-26 07:15:27Z neel $
33 */
34
35#ifndef _MACHINE_CPUFUNC_H_
36#define _MACHINE_CPUFUNC_H_
37
38#include <sys/types.h>
39#include <machine/cpuregs.h>
40

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

278#define intr_restore(s) mips_wr_status((s))
279
280static __inline void
281breakpoint(void)
282{
283 __asm __volatile ("break");
284}
285
33 */
34
35#ifndef _MACHINE_CPUFUNC_H_
36#define _MACHINE_CPUFUNC_H_
37
38#include <sys/types.h>
39#include <machine/cpuregs.h>
40

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

278#define intr_restore(s) mips_wr_status((s))
279
280static __inline void
281breakpoint(void)
282{
283 __asm __volatile ("break");
284}
285
286#if defined(__GNUC__) && !defined(__mips_o32)
287static inline uint64_t
288mips3_ld(const volatile uint64_t *va)
289{
290 uint64_t rv;
291
292#if defined(_LP64)
293 rv = *va;
294#else
295 __asm volatile("ld %0,0(%1)" : "=d"(rv) : "r"(va));
296#endif
297
298 return (rv);
299}
300
301static inline void
302mips3_sd(volatile uint64_t *va, uint64_t v)
303{
304#if defined(_LP64)
305 *va = v;
306#else
307 __asm volatile("sd %0,0(%1)" :: "r"(v), "r"(va));
308#endif
309}
310#else
311uint64_t mips3_ld(volatile uint64_t *va);
312void mips3_sd(volatile uint64_t *, uint64_t);
313#endif /* __GNUC__ */
314
286#endif /* _KERNEL */
287
288#define readb(va) (*(volatile uint8_t *) (va))
289#define readw(va) (*(volatile uint16_t *) (va))
290#define readl(va) (*(volatile uint32_t *) (va))
291
292#define writeb(va, d) (*(volatile uint8_t *) (va) = (d))
293#define writew(va, d) (*(volatile uint16_t *) (va) = (d))

--- 81 unchanged lines hidden ---
315#endif /* _KERNEL */
316
317#define readb(va) (*(volatile uint8_t *) (va))
318#define readw(va) (*(volatile uint16_t *) (va))
319#define readl(va) (*(volatile uint32_t *) (va))
320
321#define writeb(va, d) (*(volatile uint8_t *) (va) = (d))
322#define writew(va, d) (*(volatile uint16_t *) (va) = (d))

--- 81 unchanged lines hidden ---