diff options
-rw-r--r-- | sys/boot/i386/loader/Makefile | 7 | ||||
-rw-r--r-- | sys/boot/i386/loader/main.c | 27 |
2 files changed, 31 insertions, 3 deletions
diff --git a/sys/boot/i386/loader/Makefile b/sys/boot/i386/loader/Makefile index 51ef55e..a8796d2 100644 --- a/sys/boot/i386/loader/Makefile +++ b/sys/boot/i386/loader/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.5 1998/09/19 01:35:53 msmith Exp $ +# $Id: Makefile,v 1.6 1998/09/25 17:14:16 peter Exp $ BASE= loader PROG= ${BASE} @@ -33,6 +33,7 @@ CFLAGS+= -I${.CURDIR}/.. # where to get libstand from LIBSTAND= -lstand #LIBSTAND= ${.CURDIR}/../../../lib/libstand/libstand.a +#CFLAGS+= -I${.CURDIR}/../../../lib/libstand/ # BTX components .if exists(${.OBJDIR}/../btx) @@ -48,6 +49,10 @@ CFLAGS+= -I${.CURDIR}/../btx/lib # BTX is expecting ELF components CFLAGS+= -elf +# Debug me! +#CFLAGS+= -g +#LDFLAGS+= -g + vers.o: sh ${.CURDIR}/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} ${CC} -c vers.c diff --git a/sys/boot/i386/loader/main.c b/sys/boot/i386/loader/main.c index 9f1de34..d70a370 100644 --- a/sys/boot/i386/loader/main.c +++ b/sys/boot/i386/loader/main.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: main.c,v 1.5 1998/09/17 23:52:15 msmith Exp $ + * $Id: main.c,v 1.6 1998/09/18 02:03:30 msmith Exp $ */ /* @@ -33,11 +33,26 @@ #include <stand.h> #include <string.h> +#include <machine/bootinfo.h> +#include <sys/reboot.h> #include "bootstrap.h" #include "libi386/libi386.h" #include "btxv86.h" +/* Arguments passed in from the boot1/boot2 loader */ +static struct +{ + u_int32_t howto; + u_int32_t bootdev; + u_int32_t res0; + u_int32_t res1; + u_int32_t res2; + u_int32_t bootinfo; +} *kargs; + +struct bootinfo *initial_bootinfo; + struct arch_switch archsw; /* MI/MD interface boundary */ /* from vers.c */ @@ -52,6 +67,10 @@ main(void) struct i386_devdesc currdev; int i; + /* Pick up arguments */ + kargs = (void *)__args; + initial_bootinfo = (struct bootinfo *)PTOV(kargs->bootinfo); + /* * Initialise the heap as early as possible. Once this is done, malloc() is usable. * @@ -65,7 +84,10 @@ main(void) * can't do yet. * * We can use printf() etc. once this is done. + * If the previous boot stage has requested a serial console, prefer that. */ + if (kargs->howto & RB_SERIAL) + setenv("console", "com", 1); cons_probe(); /* @@ -154,6 +176,7 @@ COMMAND_SET(heap, "heap", "show heap usage", command_heap); static int command_heap(int argc, char *argv[]) { - printf("heap base at %p, top at %p, used %d\n", end, sbrk(0), sbrk(0) - end); + mallocstats(); + printf("heap base at %p, top at %p", end, sbrk(0)); return(CMD_OK); } |