1/* 2 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23#ifndef RLD 24 25#define __cr cr 26#define __ctr ctr 27#define __dar dar 28#define __dsisr dsisr 29#define __exception exception 30#define __fpregs fpregs 31#define __fpscr fpscr 32#define __fpscr_pad fpscr_pad 33#define __lr lr 34#define __mq mq 35#define __pad0 pad0 36#define __pad1 pad1 37#define __r0 r0 38#define __r1 r1 39#define __r10 r10 40#define __r11 r11 41#define __r12 r12 42#define __r13 r13 43#define __r14 r14 44#define __r15 r15 45#define __r16 r16 46#define __r17 r17 47#define __r18 r18 48#define __r19 r19 49#define __r2 r2 50#define __r20 r20 51#define __r21 r21 52#define __r22 r22 53#define __r23 r23 54#define __r24 r24 55#define __r25 r25 56#define __r26 r26 57#define __r27 r27 58#define __r28 r28 59#define __r29 r29 60#define __r3 r3 61#define __r30 r30 62#define __r31 r31 63#define __r4 r4 64#define __r5 r5 65#define __r6 r6 66#define __r7 r7 67#define __r8 r8 68#define __r9 r9 69#define __srr0 srr0 70#define __srr1 srr1 71#define __vrsave vrsave 72#define __xer xer 73 74#import <mach-o/ppc/swap.h> 75#import <architecture/nrw/reg_help.h> 76 77void 78swap_ppc_thread_state_t( 79ppc_thread_state_t *cpu, 80enum NXByteOrder target_byte_sex) 81{ 82 cpu->srr0 = OSSwapInt32(cpu->srr0); 83 cpu->srr1 = OSSwapInt32(cpu->srr1); 84 cpu->r0 = OSSwapInt32(cpu->r0); 85 cpu->r1 = OSSwapInt32(cpu->r1); 86 cpu->r2 = OSSwapInt32(cpu->r2); 87 cpu->r3 = OSSwapInt32(cpu->r3); 88 cpu->r4 = OSSwapInt32(cpu->r4); 89 cpu->r5 = OSSwapInt32(cpu->r5); 90 cpu->r6 = OSSwapInt32(cpu->r6); 91 cpu->r7 = OSSwapInt32(cpu->r7); 92 cpu->r8 = OSSwapInt32(cpu->r8); 93 cpu->r9 = OSSwapInt32(cpu->r9); 94 cpu->r10 = OSSwapInt32(cpu->r10); 95 cpu->r11 = OSSwapInt32(cpu->r11); 96 cpu->r12 = OSSwapInt32(cpu->r12); 97 cpu->r13 = OSSwapInt32(cpu->r13); 98 cpu->r14 = OSSwapInt32(cpu->r14); 99 cpu->r15 = OSSwapInt32(cpu->r15); 100 cpu->r16 = OSSwapInt32(cpu->r16); 101 cpu->r17 = OSSwapInt32(cpu->r17); 102 cpu->r18 = OSSwapInt32(cpu->r18); 103 cpu->r19 = OSSwapInt32(cpu->r19); 104 cpu->r20 = OSSwapInt32(cpu->r20); 105 cpu->r21 = OSSwapInt32(cpu->r21); 106 cpu->r22 = OSSwapInt32(cpu->r22); 107 cpu->r23 = OSSwapInt32(cpu->r23); 108 cpu->r24 = OSSwapInt32(cpu->r24); 109 cpu->r25 = OSSwapInt32(cpu->r25); 110 cpu->r26 = OSSwapInt32(cpu->r26); 111 cpu->r27 = OSSwapInt32(cpu->r27); 112 cpu->r28 = OSSwapInt32(cpu->r28); 113 cpu->r29 = OSSwapInt32(cpu->r29); 114 cpu->r30 = OSSwapInt32(cpu->r30); 115 cpu->r31 = OSSwapInt32(cpu->r31); 116 cpu->lr = OSSwapInt32(cpu->lr); 117 cpu->cr = OSSwapInt32(cpu->cr); 118 cpu->xer = OSSwapInt32(cpu->xer); 119 cpu->ctr = OSSwapInt32(cpu->ctr); 120 cpu->mq = OSSwapInt32(cpu->mq); 121 cpu->vrsave = OSSwapInt32(cpu->vrsave); 122 123} 124 125void 126swap_ppc_float_state_t( 127ppc_float_state_t *fpu, 128enum NXByteOrder target_byte_sex) 129{ 130 uint32_t i; 131 132 for(i = 0; i < 32; i++) 133 fpu->fpregs[i] = OSSwapInt64(fpu->fpregs[i]); 134 135 fpu->fpscr_pad = OSSwapInt32(fpu->fpscr_pad); 136 fpu->fpscr = OSSwapInt32(fpu->fpscr); 137} 138 139void 140swap_ppc_exception_state_t( 141ppc_exception_state_t *state, 142enum NXByteOrder target_byte_sex) 143{ 144 uint32_t i; 145 146 state->dar = OSSwapInt32(state->dar); 147 state->dsisr = OSSwapInt32(state->dsisr); 148 state->exception = OSSwapInt32(state->exception); 149 state->pad0 = OSSwapInt32(state->pad0); 150 151 for(i = 0; i < 4; i++) 152 state->pad1[i] = OSSwapInt32(state->pad1[i]); 153} 154#endif /* !defined(RLD) */ 155