/**iop13xxlowlevelirqmacros*Copyright(c)2005-2006,IntelCorporation.**Thisprogramisfreesoftware; you can redistribute it and/or modify it*underthetermsandconditionsoftheGNUGeneralPublicLicense,*version2,aspublishedbytheFreeSoftwareFoundation.**Thisprogramisdistributedinthehopeitwillbeuseful,butWITHOUT*ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or*FITNESSFORAPARTICULARPURPOSE.SeetheGNUGeneralPublicLicensefor*moredetails.**YoushouldhavereceivedacopyoftheGNUGeneralPublicLicensealongwith*thisprogram; if not, write to the Free Software Foundation, Inc., 59 Temple*Place-Suite330,Boston,MA02111-1307USA.**/.macrodisable_fiq.endm/**Note:a1-cyclewindowexistswhereiintvecwillreturnthevalue*ofiintbase,soweexplicitlycheckfor"bad zeros"*/.macroget_irqnr_and_base,irqnr,irqstat,base,tmpmrcp15,0,\tmp,c15,c1,0orr\tmp,\tmp,#(1<<6)mcrp15,0,\tmp,c15,c1,0@Enablecp6accessmrcp6,0,\irqnr,c3,c2,0@ReadIINTVECcmp\irqnr,#0mrceqp6,0,\irqnr,c3,c2,0@Re-readonpotentiallybadzeroadds\irqstat,\irqnr,#1@Checkfor0xffffffffmovne\irqnr,\irqnr,lsr#2@Converttoirqnrbiceq\tmp,\tmp,#(1<<6)mcreqp15,0,\tmp,c15,c1,0@Disablecp6accessifnomoreinterrupts.endm