Fix for new ZMAGIC. Define start address.
This commit is contained in:
parent
32ee2e4e3f
commit
5be77b1847
|
@ -1,4 +1,4 @@
|
||||||
# $Id: Makefile,v 1.2 1993/08/02 17:52:45 mycroft Exp $
|
# $Id: Makefile,v 1.3 1993/10/26 15:52:55 brezak Exp $
|
||||||
|
|
||||||
# uncomment one of these as appropriate for the board being used
|
# uncomment one of these as appropriate for the board being used
|
||||||
#ETH_OBJ = ne2100.o
|
#ETH_OBJ = ne2100.o
|
||||||
|
@ -34,11 +34,6 @@ ROM_SIZE = 16384
|
||||||
$(AS) $*.i -a -o /dev/null > $@; \
|
$(AS) $*.i -a -o /dev/null > $@; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#AS = as
|
|
||||||
#CC = cc
|
|
||||||
#LD = ld
|
|
||||||
|
|
||||||
|
|
||||||
# the relocation address (hex)
|
# the relocation address (hex)
|
||||||
RELOC = 98000
|
RELOC = 98000
|
||||||
CFLAGS = -O $(DEFINES) -nostdinc
|
CFLAGS = -O $(DEFINES) -nostdinc
|
||||||
|
@ -51,7 +46,7 @@ OBJS = start.o main.o cga.o kbd.o packet.o tftp.o arp.o \
|
||||||
all: boot.bin
|
all: boot.bin
|
||||||
|
|
||||||
boot.bin: $(OBJS) genprom
|
boot.bin: $(OBJS) genprom
|
||||||
${LD} -N -T ${RELOC} $(OBJS)
|
${LD} -e _start -N -T ${RELOC} $(OBJS)
|
||||||
cp a.out boot.sym
|
cp a.out boot.sym
|
||||||
rm -f $@
|
rm -f $@
|
||||||
strip a.out
|
strip a.out
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
* any improvements or extensions that they make and grant Carnegie Mellon
|
* any improvements or extensions that they make and grant Carnegie Mellon
|
||||||
* the rights to redistribute these changes.
|
* the rights to redistribute these changes.
|
||||||
*
|
*
|
||||||
* $Id: main.c,v 1.3 1993/08/02 17:52:56 mycroft Exp $
|
* $Id: main.c,v 1.4 1993/10/26 15:52:57 brezak Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -66,6 +66,7 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
#include "proto.h"
|
#include "proto.h"
|
||||||
|
|
||||||
|
|
||||||
u_long work_area_org = RELOC;
|
u_long work_area_org = RELOC;
|
||||||
u_long kernel_size;
|
u_long kernel_size;
|
||||||
u_short real_cs;
|
u_short real_cs;
|
||||||
|
@ -100,7 +101,7 @@ LoadProgFromServer(ipaddr_t server, ipaddr_t gateway, char *file_name) {
|
||||||
if (Read(&head, sizeof(head)) != sizeof(head))
|
if (Read(&head, sizeof(head)) != sizeof(head))
|
||||||
return load_bad_size;
|
return load_bad_size;
|
||||||
|
|
||||||
if (head.a_magic != 0413 ) {
|
if (N_GETMAGIC(head) != ZMAGIC) {
|
||||||
printf("Invalid format!\n");
|
printf("Invalid format!\n");
|
||||||
return load_bad_format;
|
return load_bad_format;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $Id: nbtypes.h,v 1.2 1993/08/02 17:52:58 mycroft Exp $
|
* $Id: nbtypes.h,v 1.3 1993/10/26 15:52:59 brezak Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __nbtypes_h_
|
#ifndef __nbtypes_h_
|
||||||
|
@ -50,7 +50,7 @@ typedef unsigned long u_long;
|
||||||
typedef int jmp_buf[_JBLEN];
|
typedef int jmp_buf[_JBLEN];
|
||||||
|
|
||||||
struct exec {
|
struct exec {
|
||||||
long a_magic; /* magic number */
|
long a_midmag; /* magic number */
|
||||||
unsigned long a_text; /* text segment size */
|
unsigned long a_text; /* text segment size */
|
||||||
unsigned long a_data; /* initialized data size */
|
unsigned long a_data; /* initialized data size */
|
||||||
unsigned long a_bss; /* uninitialized data size */
|
unsigned long a_bss; /* uninitialized data size */
|
||||||
|
@ -60,6 +60,11 @@ unsigned long a_trsize; /* text relocation size */
|
||||||
unsigned long a_drsize; /* data relocation size */
|
unsigned long a_drsize; /* data relocation size */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define N_GETMAGIC(ex) \
|
||||||
|
( (((ex).a_midmag)&0xffff0000) ? (ntohl(((ex).a_midmag))&0xffff) : ((ex).a_midmag))
|
||||||
|
|
||||||
|
#define ZMAGIC 0413 /* demand load format */
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
typedef char *va_list;
|
typedef char *va_list;
|
||||||
#define __va_promote(type) \
|
#define __va_promote(type) \
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: start.s,v 1.2 1993/08/02 17:53:03 mycroft Exp $ */
|
/* $Id: start.s,v 1.3 1993/10/26 15:52:59 brezak Exp $ */
|
||||||
|
|
||||||
#include "asm.h"
|
#include "asm.h"
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@
|
||||||
.byte 0 /* no. of 512B blocks */
|
.byte 0 /* no. of 512B blocks */
|
||||||
jmp 1f /* enter from bios here */
|
jmp 1f /* enter from bios here */
|
||||||
.byte 0 /* checksum */
|
.byte 0 /* checksum */
|
||||||
|
ENTRY(start)
|
||||||
1:
|
1:
|
||||||
cli
|
cli
|
||||||
# save the bios return address in these registers until protected
|
# save the bios return address in these registers until protected
|
||||||
|
|
Loading…
Reference in New Issue