On 08/17/2011 12:52 PM, Will Deacon wrote:
Hi Rob,
On Wed, Aug 17, 2011 at 02:49:41PM +0100, Rob Herring wrote:
quoted
In highbank.c:
+#define HB_JUMP_TABLE_PHYS(cpu) (0x40 + (0x10 * (cpu)))
+#define HB_JUMP_TABLE_VIRT(cpu) phys_to_virt(HB_JUMP_TABLE_PHYS(cpu))
+
+void highbank_set_cpu_jump(int cpu, void *jump_addr)
+{
+ writel(BSYM(virt_to_phys(jump_addr)), HB_JUMP_TABLE_VIRT(cpu));
+ __cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16);
+ outer_clean_range(HB_JUMP_TABLE_PHYS(cpu),
+ HB_JUMP_TABLE_PHYS(cpu) + 15);
+}
I don't suppose you guys can boot on a CPU other than 0 can you? That would be
really handy for testing my cpu-mapping patch series :)
We probably can with a little work to the boot code.
Rob