162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * This file contains miscellaneous low-level functions for PPC 44x. 462306a36Sopenharmony_ci * Copyright 2007 David Gibson <dwg@au1.ibm.com>, IBM Corporation. 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include <asm/reg.h> 862306a36Sopenharmony_ci#include <asm/ppc_asm.h> 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci .text 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/* 1362306a36Sopenharmony_ci * Do an IO access in AS1 1462306a36Sopenharmony_ci */ 1562306a36Sopenharmony_ci_GLOBAL(as1_readb) 1662306a36Sopenharmony_ci mfmsr r7 1762306a36Sopenharmony_ci ori r0,r7,MSR_DS 1862306a36Sopenharmony_ci sync 1962306a36Sopenharmony_ci mtmsr r0 2062306a36Sopenharmony_ci sync 2162306a36Sopenharmony_ci isync 2262306a36Sopenharmony_ci lbz r3,0(r3) 2362306a36Sopenharmony_ci sync 2462306a36Sopenharmony_ci mtmsr r7 2562306a36Sopenharmony_ci sync 2662306a36Sopenharmony_ci isync 2762306a36Sopenharmony_ci blr 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci_GLOBAL(as1_writeb) 3062306a36Sopenharmony_ci mfmsr r7 3162306a36Sopenharmony_ci ori r0,r7,MSR_DS 3262306a36Sopenharmony_ci sync 3362306a36Sopenharmony_ci mtmsr r0 3462306a36Sopenharmony_ci sync 3562306a36Sopenharmony_ci isync 3662306a36Sopenharmony_ci stb r3,0(r4) 3762306a36Sopenharmony_ci sync 3862306a36Sopenharmony_ci mtmsr r7 3962306a36Sopenharmony_ci sync 4062306a36Sopenharmony_ci isync 4162306a36Sopenharmony_ci blr 42