/* * This file contains miscellaneous low-level functions for PPC 44x. * Copyright 2007 David Gibson , 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 #include .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 /* * void ppc44x_reset_system(char *cmd) * * At present, this routine just applies a system reset. */ _GLOBAL(ppc44x_reset_system) mfspr r13,SPRN_DBCR0 oris r13,r13,DBCR0_RST_SYSTEM@h mtspr SPRN_DBCR0,r13 b . /* Just in case the reset doesn't work */