···2020#include <mach/hardware.h>2121#include <asm/mach-types.h>2222#include <asm/localtimer.h>2323+#include <asm/unified.h>23242425#include <mach/board-eb.h>2526#include <mach/board-pb11mp.h>···138137139138static void __init poke_milo(void)140139{141141- extern void secondary_startup(void);142142-143140 /* nobody is to be released from the pen yet */144141 pen_release = -1;145142146143 /*147147- * write the address of secondary startup into the system-wide148148- * flags register, then clear the bottom two bits, which is what149149- * BootMonitor is waiting for144144+ * Write the address of secondary startup into the system-wide flags145145+ * register. The BootMonitor waits for this register to become146146+ * non-zero.150147 */151151-#if 1152148#define REALVIEW_SYS_FLAGSS_OFFSET 0x30153153- __raw_writel(virt_to_phys(realview_secondary_startup),149149+#define REALVIEW_SYS_FLAGSC_OFFSET 0x34150150+ __raw_writel(BSYM(virt_to_phys(realview_secondary_startup)),154151 __io_address(REALVIEW_SYS_BASE) +155152 REALVIEW_SYS_FLAGSS_OFFSET);156156-#define REALVIEW_SYS_FLAGSC_OFFSET 0x34157157- __raw_writel(3,158158- __io_address(REALVIEW_SYS_BASE) +159159- REALVIEW_SYS_FLAGSC_OFFSET);160160-#endif161153162154 mb();163155}