On Wed, Dec 09, 2015 at 04:49:22PM -0800, Geoff Levand wrote: > On Thu, 2015-12-03 at 09:32 +0000, Will Deacon wrote: > > On Wed, Dec 02, 2015 at 02:57:30PM -0800, Geoff Levand wrote: > > > On Mon, 2015-11-30 at 10:40 +0000, Marc Zyngier wrote: > > > > > > > All that can be solved in C, and mostly at compile time. Using an > > > > assembler trampoline is complicating things for no good reason: > > > > > > I added this into my kexec-v12.1 branch. After some more testing I'll > > > post a v13 to the list. > > > > You may well need some notrace annotations if you want to run C code > > here. Can you give it a spin with things like ftrace and kprobes? > > I tested ftrace with and without the notrace annotation on > cpu_soft_restart() and could do kexec re-boots either way. > > When cpu_soft_restart() is called we've only done setup_mm_for_reboot(), > so I would think C code should still be OK. Yeah, you're right. I mistakenly thought that cpu_soft_restart was running at the idmap address as opposed to the kernel virtual address. Will