Merge branch 'topic/ca0106' into for-linus
[linux-2.6] / arch / powerpc / platforms / 44x / misc_44x.S
1 /*
2  * This file contains miscellaneous low-level functions for PPC 44x.
3  *    Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version
8  * 2 of the License, or (at your option) any later version.
9  *
10  */
11
12 #include <asm/reg.h>
13 #include <asm/ppc_asm.h>
14
15         .text
16
17 /*
18  * Do an IO access in AS1
19  */
20 _GLOBAL(as1_readb)
21         mfmsr   r7
22         ori     r0,r7,MSR_DS
23         sync
24         mtmsr   r0
25         sync
26         isync
27         lbz     r3,0(r3)
28         sync
29         mtmsr   r7
30         sync
31         isync
32         blr
33
34 _GLOBAL(as1_writeb)
35         mfmsr   r7
36         ori     r0,r7,MSR_DS
37         sync
38         mtmsr   r0
39         sync
40         isync
41         stb     r3,0(r4)
42         sync
43         mtmsr   r7
44         sync
45         isync
46         blr