[gPXE] [PATCH 2/4] [prefix] Remove unsupported .com prefix

Stefan Hajnoczi stefanha at gmail.com
Fri Jan 29 15:58:37 EST 2010


The DOS .com prefix was brought over from legacy Etherboot but does not
build.  There has been no demand for .com images so this patch removes
the prefix.

Signed-off-by: Stefan Hajnoczi <stefanha at gmail.com>
---
 src/arch/i386/Makefile.pcbios    |    1 -
 src/arch/i386/prefix/comprefix.S |   46 --------------------------------------
 2 files changed, 0 insertions(+), 47 deletions(-)
 delete mode 100644 src/arch/i386/prefix/comprefix.S

diff --git a/src/arch/i386/Makefile.pcbios b/src/arch/i386/Makefile.pcbios
index 3ebfc0c..ba153e9 100644
--- a/src/arch/i386/Makefile.pcbios
+++ b/src/arch/i386/Makefile.pcbios
@@ -25,7 +25,6 @@ MEDIA		+= dsk
 MEDIA		+= nbi
 MEDIA		+= hd
 MEDIA		+= raw
-MEDIA		+= com
 MEDIA		+= exe
 
 # Padding rules
diff --git a/src/arch/i386/prefix/comprefix.S b/src/arch/i386/prefix/comprefix.S
deleted file mode 100644
index 2cbbca5..0000000
--- a/src/arch/i386/prefix/comprefix.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/* We need a real mode stack that won't be stomped on by Etherboot
-   which starts at 0x20000. Choose something that's sufficiently high,
-   but not in DOC territory. Note that we couldn't do this in a real
-   .com program since stack variables are in the same segment as the
-   code and data, but this isn't really a .com program, it just looks
-   like one to make DOS load it into memory. It still has the 64kB
-   limitation of .com files though. */
-#define STACK_SEG	0x7000
-#define STACK_SIZE	0x4000
-
-	.text
-	.code16
-	.arch i386
-	.section ".prefix", "ax", @progbits
-
-/* Cheat a little with the relocations: .COM files are loaded at 0x100 */
-_prefix:
-	/* Set up temporary stack */ 
-	movw	$STACK_SEG, %ax
-	movw	%ax, %ss
-	movw	$STACK_SIZE, %sp
-
-	pushl	$0	/* No parameters to preserve for exit path */
-	pushw	$0	/* Dummy return address - use prefix_exit */
-
-	/* Calculate segment address of image start */
-	pushw	%cs
-	popw	%ax
-	addw	$(0x100/16), %ax
-	pushw	%ax
-	pushw	$_start
-	/* Calculated lcall to _start with %cs:0000 = image start */
-	lret
-
-	.section ".text16", "ax", @progbits
-prefix_exit:
-	movw	$0x4c00,%ax		/* return to DOS */
-	int	$0x21			/* reach this on Quit */
-prefix_exit_end:
-	.previous
-
-/* The body of etherboot is attached here at build time.
- * Force 16 byte alignment
- */
-	.align 16,0
-_body: 
-- 
1.6.5



More information about the gPXE mailing list