Deleted Added
full compact
dtrace_asm.S (248457) dtrace_asm.S (254509)
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
8 *

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

16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 *
22 * Portions Copyright 2012,2013 Justin Hibbits <jhibbits@freebsd.org>
23 *
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
8 *

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

16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 *
22 * Portions Copyright 2012,2013 Justin Hibbits <jhibbits@freebsd.org>
23 *
24 * $FreeBSD: head/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S 248457 2013-03-18 05:30:18Z jhibbits $
24 * $FreeBSD: head/sys/cddl/dev/dtrace/powerpc/dtrace_asm.S 254509 2013-08-19 05:10:46Z jhibbits $
25 */
26/*
27 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
28 * Use is subject to license terms.
29 */
30
31#include "assym.s"
32

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

45 */
46
47 .text
48
49/*
50void dtrace_membar_producer(void)
51*/
52ASENTRY_NOPROF(dtrace_membar_producer)
25 */
26/*
27 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
28 * Use is subject to license terms.
29 */
30
31#include "assym.s"
32

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

45 */
46
47 .text
48
49/*
50void dtrace_membar_producer(void)
51*/
52ASENTRY_NOPROF(dtrace_membar_producer)
53 sync
53 blr
54END(dtrace_membar_producer)
55
56/*
57void dtrace_membar_consumer(void)
58*/
59ASENTRY_NOPROF(dtrace_membar_consumer)
54 blr
55END(dtrace_membar_producer)
56
57/*
58void dtrace_membar_consumer(void)
59*/
60ASENTRY_NOPROF(dtrace_membar_consumer)
61 isync
60 blr
61END(dtrace_membar_consumer)
62
63/*
64dtrace_icookie_t dtrace_interrupt_disable(void)
65*/
66ASENTRY_NOPROF(dtrace_interrupt_disable)
67 mfmsr %r3

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

92 blr
93END(dtrace_cas32)
94
95/*
96void *
97dtrace_casptr(void *target, void *cmp, void *new)
98*/
99ASENTRY_NOPROF(dtrace_casptr)
62 blr
63END(dtrace_membar_consumer)
64
65/*
66dtrace_icookie_t dtrace_interrupt_disable(void)
67*/
68ASENTRY_NOPROF(dtrace_interrupt_disable)
69 mfmsr %r3

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

94 blr
95END(dtrace_cas32)
96
97/*
98void *
99dtrace_casptr(void *target, void *cmp, void *new)
100*/
101ASENTRY_NOPROF(dtrace_casptr)
102#ifdef __powerpc64__
1001:
1031:
104 ldarx %r0,0,%r3
105 cmpd %r4,%r0
106 bne 2f
107 stdcx. %r5,0,%r3
108 bne 1b
109#else
1101:
101 lwarx %r0,0,%r3
102 cmpw %r4,%r0
103 bne 2f
104 stwcx. %r5,0,%r3
105 bne 1b
111 lwarx %r0,0,%r3
112 cmpw %r4,%r0
113 bne 2f
114 stwcx. %r5,0,%r3
115 bne 1b
116#endif
1062: mr %r3,%r0
107 blr
108END(dtrace_casptr)
109
110
111/*
112XXX: unoptimized
113void

--- 86 unchanged lines hidden ---
1172: mr %r3,%r0
118 blr
119END(dtrace_casptr)
120
121
122/*
123XXX: unoptimized
124void

--- 86 unchanged lines hidden ---