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 --- |