/*linux/include/asm-arm/arch-msm/idle.S**IdleprocessingforMSM7K-workaroundbugswithSWFI.**Copyright(c)2007QUALCOMMIncorporated.*Copyright(C)2007Google,Inc.**ThissoftwareislicensedunderthetermsoftheGNUGeneralPublic*Licenseversion2,aspublishedbytheFreeSoftwareFoundation,and*maybecopied,distributed,andmodifiedunderthoseterms.**Thisprogramisdistributedinthehopethatitwillbeuseful,*butWITHOUTANYWARRANTY; without even the implied warranty of*MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.Seethe*GNUGeneralPublicLicenseformoredetails.**/#include <linux/linkage.h>#include <asm/assembler.h>ENTRY(arch_idle)#ifdef CONFIG_MSM7X00A_IDLEmrcp15,0,r1,c1,c0,0/*readcurrentCR*/bicr0,r1,#(1<<2)/*cleardcachebit*/bicr0,r0,#(1<<12)/*clearicachebit*/mcrp15,0,r0,c1,c0,0/*disabled/icache*/movr0,#0/*preparewfivalue*/mcrp15,0,r0,c7,c10,0/*flushthecache*/mcrp15,0,r0,c7,c10,4/*memorybarrier*/mcrp15,0,r0,c7,c0,4/*waitforinterrupt*/mcrp15,0,r1,c1,c0,0/*restored/icache*/#endifmovpc,lr