/* | |
* This file contains miscellaneous low-level functions for PPC 44x. | |
* Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation. | |
* | |
* This program is free software; you can redistribute it and/or | |
* modify it under the terms of the GNU General Public License | |
* as published by the Free Software Foundation; either version | |
* 2 of the License, or (at your option) any later version. | |
* | |
*/ | |
#include <asm/reg.h> | |
#include <asm/ppc_asm.h> | |
.text | |
/* | |
* Do an IO access in AS1 | |
*/ | |
_GLOBAL(as1_readb) | |
mfmsr r7 | |
ori r0,r7,MSR_DS | |
sync | |
mtmsr r0 | |
sync | |
isync | |
lbz r3,0(r3) | |
sync | |
mtmsr r7 | |
sync | |
isync | |
blr | |
_GLOBAL(as1_writeb) | |
mfmsr r7 | |
ori r0,r7,MSR_DS | |
sync | |
mtmsr r0 | |
sync | |
isync | |
stb r3,0(r4) | |
sync | |
mtmsr r7 | |
sync | |
isync | |
blr |