On 09/04/13 22:02, Daniel Kiper wrote: > On Mon, Apr 08, 2013 at 07:59:50PM +0100, David Vrabel wrote: >> >> + >> + /* Jump to identity mapped code. */ >> + movq %rdi, %r9 >> + addq $(identity_mapped - kexec_reloc), %r9 >> + >> + jmp *%r9 > > jmpq *(identity_mapped - kexec_reloc)(%rdi) This isn't equivalent. It loads the value at the specified memory location and jumps to that address. leaq (identity_mapped - kexec_reloc)(%rdi), %rax jmpq *%rax Does the right thing. David