• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* ----------------------------------------------------------------------- *
2 *
3 *   Copyright 2013 Intel Corporation; author: Matt Fleming
4 *
5 *   This program is free software; you can redistribute it and/or modify
6 *   it under the terms of the GNU General Public License as published by
7 *   the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
8 *   Boston MA 02110-1301, USA; either version 2 of the License, or
9 *   (at your option) any later version; incorporated herein by reference.
10 *
11 * ----------------------------------------------------------------------- */
12
13	.globl kernel_jump
14	.type  kernel_jump,@function
15	.text
16kernel_jump:
17	cli
18	movl	0x8(%esp), %esi
19	movl	0x4(%esp), %ecx
20	jmp	*%ecx
21
22	/*
23	 * The default handover function should only be invoked for
24	 * bzImage boot protocol versions < 2.12.
25	 */
26	.globl efi_handover
27	.type  efi_handover,@function
28efi_handover:
29	cli
30	popl	%ecx		/* discard return address */
31	movl	0xc(%esp), %ecx
32	jmp	*%ecx
33
34	.globl efi_handover_32
35	.type  efi_handover_32,@function
36efi_handover_32:
37	cli
38	popl	%ecx		/* discard return address */
39	movl	0xc(%esp), %ecx
40	call	*%ecx
41
42	.globl efi_handover_64
43	.type  efi_handover_64,@function
44efi_handover_64:
45	call	1f
461:
47	popl	%eax
48	subl	$1b, %eax
49	movl	$38, errno(%eax)	/* ENOSYS */
50	ret
51