/**"Indirect"DCRaccess**Copyright(c)2004EugeneSurovegin<ebs@ebshome.net>**Thisprogramisfreesoftware; you can redistribute it and/or modify it*underthetermsoftheGNUGeneralPublicLicenseaspublishedbythe*FreeSoftwareFoundation; either version 2 of the License, or (at your*option)anylaterversion.*/#include <asm/ppc_asm.h>#include <asm/processor.h>#define DCR_ACCESS_PROLOG(table) \rlwinmr3,r3,4,18,27; \lisr5,table@h; \orir5,r5,table@l; \addr3,r3,r5; \mtctrr3; \bctr_GLOBAL(__mfdcr)DCR_ACCESS_PROLOG(__mfdcr_table)_GLOBAL(__mtdcr)DCR_ACCESS_PROLOG(__mtdcr_table)__mfdcr_table:mfdcrr3,0; blr__mtdcr_table:mtdcr0,r4; blrdcr=1.rept1023mfdcrr3,dcr; blrmtdcrdcr,r4; blrdcr=dcr+1.endr