From e8d30bba658f3cada315f64be99c4b8af4c8125a Mon Sep 17 00:00:00 2001 From: Erik van der Kouwe Date: Thu, 24 Jun 2010 12:20:01 +0000 Subject: [PATCH] Beng's boot fix --- boot/Makefile | 46 ++++++++++++++-------------------------------- boot/boot.c | 5 ----- boot/doshead.s | 6 +++--- 3 files changed, 17 insertions(+), 40 deletions(-) diff --git a/boot/Makefile b/boot/Makefile index 67aa1c58b..b4e100193 100644 --- a/boot/Makefile +++ b/boot/Makefile @@ -4,8 +4,8 @@ CC:=${CC:C/^gcc/cc/} COMPILER_TYPE:=ack -PROGS= bootblock cdbootblock boot masterboot \ - jumpboot installboot edparams dosboot mkfile +PROGS= bootblock cdbootblock bootexec boot masterboot \ + jumpboot installboot edparams SRCS.bootblock= bootblock.s CPPFLAGS.bootblock.s= ${I86CPPFLAGS} @@ -19,20 +19,19 @@ LDFLAGS.cdbootblock= ${I86LDFLAGS} BINDIR.cdbootblock= /usr/mdec MAN.cdbootblock= -SRCS.boot= boothead.s boot.c bootimage.c rawfs86.c +SRCS.bootexec= boothead.s boot.c bootimage.c rawfs86.c CPPFLAGS.boothead.s= ${I86CPPFLAGS} CPPFLAGS.boot.c= ${I86CPPFLAGS} CPPFLAGS.bootimage.c= ${I86CPPFLAGS} CPPFLAGS.rawfs86.c= ${I86CPPFLAGS} -LDFLAGS.boot= ${I86LDFLAGS} -DPADD.boot= ${LIBSYS} -LDADD.boot= -lsys -BINDIR.boot= /usr/mdec -MAN.boot= +LDFLAGS.bootexec= ${I86LDFLAGS} +DPADD.bootexec= ${LIBSYS} +LDADD.bootexec= -lsys +BINDIR.bootexec= /usr/mdec +MAN.bootexec= -all: .PHONY bootsize -bootsize: boot - ${INSTALL} -S 22kb boot +BINDIR.boot= /usr/mdec +MAN.boot= SRCS.masterboot= masterboot.s CPPFLAGS.masterboot.s= ${I86CPPFLAGS} @@ -55,35 +54,18 @@ CPPFLAGS.edparams.c= -DUNIX BINDIR.edparams= /usr/bin MAN.edparams= -SRCS.dosboot= doshead.s dosboot.o bootimage.o rawfs86.o -CPPFLAGS.dosboot.c= -DDOS $(I86CPPFLAGS) -LDADD.dosboot= ${I86LDFLAGS} -lsys -BINDIR.dosboot= /usr/mdec -CPPFLAGS.doshead.s= -mi386 -MAN.dosboot= - -SRCS.mkfile= mkfhead.s mkfile.c -CPPFLAGS.mkfile.s= ${I86CPPFLAGS} -LDADD.mkfile= ${I86LDFLAGS} -lsys -BINDIR.mkfile= /usr/mdec -MAN.mkfile= - rawfs86.c: rawfs.c ln -f rawfs.c rawfs86.c edparams.c: boot.c ln -f boot.c edparams.c -dosboot.c: boot.c - ln -f boot.c dosboot.c - cdbootblock.s: bootblock.s ln -f bootblock.s cdbootblock.s -mkfile.com: mkfile - -boot.com: dosboot - ./a.out2com dosboot boot.com +boot: bootexec + install -S 22kb bootexec + cp bootexec boot CPPFLAGS= -I${MINIXSRCDIR} AFLAGS= -I${MINIXSRCDIR} @@ -92,6 +74,6 @@ I86LDFLAGS= -mi86 -Was-ncc -.o -com STRIPFLAG= -s -CLEANFILES+= rawfs86.c edparams.c cdbootblock.s dosboot.c +CLEANFILES+= rawfs86.c edparams.c cdbootblock.s .include diff --git a/boot/boot.c b/boot/boot.c index ac42670a6..f73ae45b6 100644 --- a/boot/boot.c +++ b/boot/boot.c @@ -1472,11 +1472,6 @@ static void ctty(char *line) printf("No serial line support under DOS\n"); } -reset() -{ - printf("No reset support under DOS\n"); -} - #endif /* DOS */ #endif /* BIOS */ diff --git a/boot/doshead.s b/boot/doshead.s index 74b7dd4fc..8cd805786 100644 --- a/boot/doshead.s +++ b/boot/doshead.s @@ -634,19 +634,19 @@ _dev_boundary: xor ax, ax ret -! int biosreadsectors(u32_t bufaddr, u32_t sector, u8_t count) +! int readsectors(u32_t bufaddr, u32_t sector, u8_t count) ! int writesectors(u32_t bufaddr, u32_t sector, u8_t count) ! Read/write several sectors from/to the Minix virtual disk. Count ! must fit in a byte. The external variable vfd is the file handle. ! Returns 0 for success, otherwise the DOS error code. ! -.define _biosreadsectors, _writesectors +.define _readsectors, _writesectors _writesectors: push bp mov bp, sp movb 13(bp), 0x40 ! Code for a file write jmp rwsec -_biosreadsectors: +_readsectors: push bp mov bp, sp movb 13(bp), 0x3F ! Code for a file read -- 2.44.0