/* ----------------------------------------------------------------------- * * * Copyright 2013 Intel Corporation; author: Matt Fleming * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, * Boston MA 02110-1301, USA; either version 2 of the License, or * (at your option) any later version; incorporated herein by reference. * * ----------------------------------------------------------------------- */ .globl kernel_jump .type kernel_jump,@function .text kernel_jump: cli movl 0x8(%esp), %esi movl 0x4(%esp), %ecx jmp *%ecx /* * The default handover function should only be invoked for * bzImage boot protocol versions < 2.12. */ .globl efi_handover .type efi_handover,@function efi_handover: cli popl %ecx /* discard return address */ movl 0xc(%esp), %ecx jmp *%ecx .globl efi_handover_32 .type efi_handover_32,@function efi_handover_32: cli popl %ecx /* discard return address */ movl 0xc(%esp), %ecx call *%ecx .globl efi_handover_64 .type efi_handover_64,@function efi_handover_64: call 1f 1: popl %eax subl $1b, %eax movl $38, errno(%eax) /* ENOSYS */ ret