18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * This file contains miscellaneous low-level functions for PPC 44x.
48c2ecf20Sopenharmony_ci *    Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation.
58c2ecf20Sopenharmony_ci */
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#include <asm/reg.h>
88c2ecf20Sopenharmony_ci#include <asm/ppc_asm.h>
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci	.text
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci/*
138c2ecf20Sopenharmony_ci * Do an IO access in AS1
148c2ecf20Sopenharmony_ci */
158c2ecf20Sopenharmony_ci_GLOBAL(as1_readb)
168c2ecf20Sopenharmony_ci	mfmsr	r7
178c2ecf20Sopenharmony_ci	ori	r0,r7,MSR_DS
188c2ecf20Sopenharmony_ci	sync
198c2ecf20Sopenharmony_ci	mtmsr	r0
208c2ecf20Sopenharmony_ci	sync
218c2ecf20Sopenharmony_ci	isync
228c2ecf20Sopenharmony_ci	lbz	r3,0(r3)
238c2ecf20Sopenharmony_ci	sync
248c2ecf20Sopenharmony_ci	mtmsr	r7
258c2ecf20Sopenharmony_ci	sync
268c2ecf20Sopenharmony_ci	isync
278c2ecf20Sopenharmony_ci	blr
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci_GLOBAL(as1_writeb)
308c2ecf20Sopenharmony_ci	mfmsr	r7
318c2ecf20Sopenharmony_ci	ori	r0,r7,MSR_DS
328c2ecf20Sopenharmony_ci	sync
338c2ecf20Sopenharmony_ci	mtmsr	r0
348c2ecf20Sopenharmony_ci	sync
358c2ecf20Sopenharmony_ci	isync
368c2ecf20Sopenharmony_ci	stb	r3,0(r4)
378c2ecf20Sopenharmony_ci	sync
388c2ecf20Sopenharmony_ci	mtmsr	r7
398c2ecf20Sopenharmony_ci	sync
408c2ecf20Sopenharmony_ci	isync
418c2ecf20Sopenharmony_ci	blr
42