Root/
Source at commit 1305 created 12 years 8 months ago. By meklort, Cleanup arch makefiles. Begin merging of BootX source - will need cleaning up | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * The contents of this file constitute Original Code as defined in and␊ |
7 | * are subject to the Apple Public Source License Version 1.1 (the␊ |
8 | * "License"). You may not use this file except in compliance with the␊ |
9 | * License. Please obtain a copy of the License at␊ |
10 | * http://www.apple.com/publicsource and read it before using this file.␊ |
11 | * ␊ |
12 | * This Original Code and all software distributed under the License are␊ |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the␊ |
17 | * License for the specific language governing rights and limitations␊ |
18 | * under the License.␊ |
19 | * ␊ |
20 | * @APPLE_LICENSE_HEADER_END@␊ |
21 | */␊ |
22 | /*␊ |
23 | * bswap.c - Endian Swapping functions.␊ |
24 | *␊ |
25 | * Copyright (c) 2000 Apple Computer, Inc.␊ |
26 | *␊ |
27 | * DRI: Josh de Cesare␊ |
28 | */␊ |
29 | ␊ |
30 | #include <libclite.h>␊ |
31 | ␊ |
32 | int16_t bswap16(int16_t data)␊ |
33 | {␊ |
34 | int16_t tmpData;␊ |
35 | ␊ |
36 | __asm__ volatile("sthbrx %0, 0, %1" : : "r" (data), "r" (&tmpData));␊ |
37 | ␊ |
38 | return tmpData;␊ |
39 | }␊ |
40 | ␊ |
41 | int32_t bswap32(int32_t data)␊ |
42 | {␊ |
43 | int32_t tmpData;␊ |
44 | ␊ |
45 | __asm__ volatile("stwbrx %0, 0, %1" : : "r" (data), "r" (&tmpData));␊ |
46 | ␊ |
47 | return tmpData;␊ |
48 | }␊ |
49 |