david/ipxe
Archived
1
0

[prefix] Remove unsupported .com prefix

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@gmail.com>
Signed-off-by: Marty Connor <mdc@etherboot.org>
This commit is contained in:
Stefan Hajnoczi 2010-01-29 18:20:21 +00:00 committed by Marty Connor
parent d3b9c3f3d0
commit ddcf2d5f08
2 changed files with 0 additions and 47 deletions

View File

@ -25,7 +25,6 @@ MEDIA += dsk
MEDIA += nbi
MEDIA += hd
MEDIA += raw
MEDIA += com
MEDIA += exe
# Padding rules

View File

@ -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: