While we're on the subject of cache flushing... these make no sense:
fs/binfmt_aout.c:357: flush_icache_range(text_addr, text_addr+ex.a_text+ex.a_data);
fs/binfmt_aout.c:381: flush_icache_range((unsigned long) N_TXTADDR(ex),
fs/binfmt_aout.c:479: flush_icache_range((unsigned long) start_addr,
fs/binfmt_elf.c:422: flush_icache_range((unsigned long)addr,
the kernel doesn't execute the code ranges here, userspace does. Which
means that the only place in the entire kernel which does need to call
flush_icache_range() is kernel/module.c, and that could all be done in
module_arch_init(). So I think we don't need flush_icache_range() at all.
Need to go into the revision history, discover who added these
calls, and ask them why they were added.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/