[BUG, RFC] MTD Execute in Place on ARM breaks build

Petr Cvek petr.cvek at tul.cz
Fri Aug 7 13:20:41 PDT 2015




on PXA2xx architecture causes request of undefined macros from 


These macros (using ICIP and ICMR) are defined here:


register definitions for ICIP and ICMR were removed by commit:

Similar is for macros with OSCR (lines 23 and 24), which have different type.
Re-adding ICIP and ICMR definition and explicit type conversion will fix the build
and the kernel boots, but I'm not yet able to test XIP functionality (too many different
bugs to flash over windows mobile image).

My temporal fix (ugly):

#define ICIP __REG(0x40D00000)  /* Interrupt Controller IRQ Pending Register */
#define ICMR __REG(0x40D00004)  /* Interrupt Controller Mask Register */
#define xip_currtime()		((unsigned long) OSCR)
#define xip_elapsed_since(x)	(signed)((((unsigned long) OSCR) - (x)) / 4)

P.S. Same macros are used on omap1 and sa1100 too.

Petr Cvek

More information about the linux-arm-kernel mailing list