Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / arch / powerpc / platforms / 44x / misc_44x.S
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * This file contains miscellaneous low-level functions for PPC 44x.
4  *    Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation.
5  */
6
7 #include <asm/reg.h>
8 #include <asm/ppc_asm.h>
9
10         .text
11
12 /*
13  * Do an IO access in AS1
14  */
15 _GLOBAL(as1_readb)
16         mfmsr   r7
17         ori     r0,r7,MSR_DS
18         sync
19         mtmsr   r0
20         sync
21         isync
22         lbz     r3,0(r3)
23         sync
24         mtmsr   r7
25         sync
26         isync
27         blr
28
29 _GLOBAL(as1_writeb)
30         mfmsr   r7
31         ori     r0,r7,MSR_DS
32         sync
33         mtmsr   r0
34         sync
35         isync
36         stb     r3,0(r4)
37         sync
38         mtmsr   r7
39         sync
40         isync
41         blr