On Mon, Apr 15, 2013 at 07:58:30PM +0100, David Vrabel wrote: > 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. You are right. Sorry for confusion. Daniel