1 /*
2  *   Copyright 1994-2009 H. Peter Anvin - All Rights Reserved
3  *   Copyright 2009 Intel Corporation; author: H. Peter Anvin
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., 53 Temple Place Ste 330,
8  *  Boston MA 02111-1307, USA; either version 2 of the License, or
9  *  (at your option) any later version; incorporated herein by reference.
10  */
11 
12 #include <syslinux/video.h>
13 #include "pxe.h"
14 #include <com32.h>
15 
16 #define LOCALBOOT_MSG	"Booting from local disk..."
17 
18 extern void local_boot16(void);
19 
20 /*
21  * Boot to the local disk by returning the appropriate PXE magic.
22  * AX contains the appropriate return code.
23  */
24 __export void local_boot(uint16_t ax)
25 {
26     com32sys_t ireg;
27     memset(&ireg, 0, sizeof ireg);
28 
29     syslinux_force_text_mode();
30 
31     writestr(LOCALBOOT_MSG);
32     crlf();
33 
34     /* Restore the environment we were called with */
35     reset_pxe();
36 
37     cleanup_hardware();
38 
39     ireg.eax.w[0] = ax;
40     call16(local_boot16, &ireg, NULL);
41 }
42