Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[config] Make PXE stack a compile-time option
For extremely tight space requirements and specific applications, it is sometimes desirable to create gPXE images that cannot provide the PXE API functionality to client programs. Add a configuration header option, PXE_STACK, that can be removed to remove this stack. Also add PXE_MENU to control the PXE boot menu, which most uses of gPXE do not need. Signed-off-by: Marty Connor <mdc@etherboot.org>
- Loading branch information
Showing
11 changed files
with
135 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
.text | ||
.code16 | ||
.arch i386 | ||
.section ".prefix", "ax", @progbits | ||
|
||
/* UNDI loader | ||
* | ||
* Called by an external program to load our PXE stack. | ||
*/ | ||
.globl undiloader | ||
undiloader: | ||
/* Save registers */ | ||
pushl %esi | ||
pushl %edi | ||
pushw %ds | ||
pushw %es | ||
pushw %bx | ||
/* ROM segment address to %ds */ | ||
pushw %cs | ||
popw %ds | ||
/* UNDI loader parameter structure address into %es:%di */ | ||
movw %sp, %bx | ||
movw %ss:18(%bx), %di | ||
movw %ss:20(%bx), %es | ||
/* Install to specified real-mode addresses */ | ||
pushw %di | ||
movw %es:12(%di), %bx | ||
movw %es:14(%di), %ax | ||
movl image_source, %esi | ||
movl decompress_to, %edi | ||
call install_prealloc | ||
popw %di | ||
/* Call UNDI loader C code */ | ||
pushl $pxe_loader_call | ||
pushw %cs | ||
pushw $1f | ||
pushw %ax | ||
pushw $prot_call | ||
lret | ||
1: popw %bx /* discard */ | ||
popw %bx /* discard */ | ||
/* Restore registers and return */ | ||
popw %bx | ||
popw %es | ||
popw %ds | ||
popl %edi | ||
popl %esi | ||
lret | ||
.size undiloader, . - undiloader |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
/* | ||
* 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; either version 2, or (at | ||
* your option) any later version. | ||
*/ | ||
|
||
FILE_LICENCE ( GPL2_OR_LATER ); | ||
|
||
#include <config/general.h> | ||
|
||
/** @file | ||
* | ||
* ROM prefix configuration options | ||
* | ||
*/ | ||
|
||
/* | ||
* Provide UNDI loader if PXE stack is requested | ||
* | ||
*/ | ||
#ifdef PXE_STACK | ||
REQUIRE_OBJECT ( undiloader ); | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters