Fixed obj-dir building, compacted the bootblock enough to fit (at least)
authorniklas <niklas@openbsd.org>
Tue, 25 Mar 1997 17:05:49 +0000 (17:05 +0000)
committerniklas <niklas@openbsd.org>
Tue, 25 Mar 1997 17:05:49 +0000 (17:05 +0000)
the HD one, floppy is still too large.  Added our BOOT_CONFIG -c option.
Some small style nits.

sys/arch/amiga/stand/boot/Makefile
sys/arch/amiga/stand/boot/bzero.c [deleted file]
sys/arch/amiga/stand/boot/libsa/Makefile
sys/arch/amiga/stand/boot/main.c
sys/arch/amiga/stand/boot/startit.s

index 79cd0b8..3cbdd4e 100644 (file)
@@ -1,42 +1,47 @@
-#      $OpenBSD: Makefile,v 1.2 1997/03/22 00:19:56 niklas Exp $
+#      $OpenBSD: Makefile,v 1.3 1997/03/25 17:05:49 niklas Exp $
 
 NOPROG=        installboot
 MAN=installboot.8
 
 SUBDIR=aout2bb txlt
 
-TXLT=txlt/txlt
+AOUT2BB!=cd $(.CURDIR)/aout2bb; \
+       printf "xxx:\n\techo \$${.OBJDIR}/aout2bb\n" | \
+       ${MAKE} -r -s -f - xxx | grep aout2bb
 
-OBJS = configure.o main.o
-OBJS += console.o xd.o
+TXLT!= cd $(.CURDIR)/txlt; \
+       printf "xxx:\n\techo \$${.OBJDIR}/txlt\n" | \
+       ${MAKE} -r -s -f - xxx | grep txlt
+
+OBJS=  configure.o main.o
+OBJS+= console.o xd.o
 
 # libsa library replacements:
-OBJS += alloc.o printf.o twiddle.o
+OBJS+= alloc.o printf.o twiddle.o
 
 # libkern replacements:
-OBJS += bcopy.o bzero.o ashrdi3.o muldi3.o
+OBJS+= bcopy.o ashrdi3.o muldi3.o
 
 # machine language startup code:
-OBJS += startit.o
+OBJS+= startit.o
 
-SRCS = installboot.sh configure.c main.c console.c xd.c 
-SRCS+= twiddle.c
-SRCS+= bbstart.s libstubs.s alloc.s printf.s startit.s
-SRCS+= bcopy.s bzero.c ashrdi3.s muldi3.s
+SRCS=  installboot.sh configure.c main.c console.c xd.c twiddle.c
+SRCS+= bbstart.s libstubs.s alloc.s printf.s startit.s
+SRCS+= bcopy.s ashrdi3.s muldi3.s
 
-CLEANFILES = $(OBJS) $(BOOTBLOCKS) x.out xxstart.s f.out fdstart.s
+CLEANFILES=    $(OBJS) $(BOOTBLOCKS) x.out xxstart.s f.out fdstart.s
 
-S=     ${.CURDIR}/../../../..
-INCPATH=-I${.CURDIR} -I${.CURDIR}/../.. -I${S} -I${S}/lib/libsa
-COPTIM=        -O2 -fomit-frame-pointer -fno-function-cse -Wa,-l -m68060 -Wa,-m68030
-CFLAGS = ${COPTIM} ${INCPATH} ${DEFS}
-COPTS += -Wall -Wstrict-prototypes
+S=             ${.CURDIR}/../../../..
+INCPATH=       -I${.CURDIR} -I${.CURDIR}/../.. -I${S} -I${S}/lib/libsa
+COPTIM=                -O -fomit-frame-pointer -fno-function-cse -Wa,-l -m68060 \
+               -Wa,-m68030
+CFLAGS=                ${COPTIM} ${INCPATH} ${DEFS}
+COPTS+=                -Wall -Wstrict-prototypes
 
-BOOTBLOCKS=xxboot # XXX  fdboot is too large at the moment.
+BOOTBLOCKS=    xxboot # XXX  fdboot is too large at the moment.
 
 .s.o:
-       $(CC) $(CAFLAGS) $(COPTS) -x assembler-with-cpp -o $*.o -c \
-           ${.CURDIR}/$*.s
+       $(CC) $(CAFLAGS) $(COPTS) -x assembler-with-cpp -o $*.o -c $<
 
 #libs:
 
@@ -69,11 +74,11 @@ $(BOOTBLOCKS): aout2bb
 
 xxboot: x.out
        rm -f $@
-       aout2bb/aout2bb x.out $@ || nm -u x.out
+       ${AOUT2BB} x.out $@ || nm -u x.out
 
 fdboot: f.out
        rm -f $@
-       aout2bb/aout2bb -F f.out $@ || nm -u f.out
+       ${AOUT2BB} -F f.out $@ || nm -u f.out
 
 clean::
        rm -f $(OBJS) fdstart.[os] xxstart.[os] f.out x.out installboot
diff --git a/sys/arch/amiga/stand/boot/bzero.c b/sys/arch/amiga/stand/boot/bzero.c
deleted file mode 100644 (file)
index 11192df..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *     $OpenBSD: bzero.c,v 1.1 1997/01/16 09:26:30 niklas Exp $
- *     $NetBSD: bzero.c,v 1.1.1.1 1996/11/29 23:36:29 is Exp $
- *
- * Copyright (c) 1996 Ignatios Souvatzis
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Ignatios Souvatzis
- *      for the NetBSD project.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Lightweight bzero.
- */
-
-#include <sys/types.h>
-#include <string.h>
-
-void
-bzero(p, len)
-       void *p;
-       size_t len;
-{
-       char *s = p;
-       while (len > 0) {
-               *s++ = 0;
-               --len;
-       }
-}
index f6a3ee7..68b62bc 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: Makefile,v 1.1 1997/01/16 09:26:53 niklas Exp $
+#      $OpenBSD: Makefile,v 1.2 1997/03/25 17:05:57 niklas Exp $
 #      $NetBSD: Makefile,v 1.1.1.1 1996/11/29 23:36:30 is Exp $
 
 LIB=   sa
@@ -7,7 +7,9 @@ DIR_SA =        ${.CURDIR}/../../../../../lib/libsa
 DIR_KERN =     ${.CURDIR}/../../../../../lib/libkern
 DIR_KERN_MD =  ${.CURDIR}/../../../../../lib/libkern/arch/$(MACHINE_ARCH)
 
-TXLT =         ${.CURDIR}/../txlt/txlt
+TXLT!= cd $(.CURDIR)/../txlt; \
+       printf "xxx:\n\techo \$${.OBJDIR}/txlt\n" | \
+       ${MAKE} -r -s -f - xxx | grep txlt
 
 .PATH: $(DIR_SA) $(DIR_KERN) $(DIR_KERN_MD)
 
@@ -18,7 +20,7 @@ CFLAGS+=-O2 -fomit-frame-pointer -fno-function-cse -m68060 -Wa,-l -Wa,-m68030
 CFLAGS+=$(COPTS)
 
 # stand routines
-SRCS=  gets.c
+SRCS=  gets.c memset.c
 # memcpy.c bcopy.c strerror.c
 
 # io routines
@@ -30,7 +32,7 @@ SRCS+=        close.c lseek.c open.c read.c dev.c
 SRCS+= ufs.c
 
 # kernlib routines
-SRCS+= strlen.S strcmp.S
+SRCS+= strlen.S strcmp.S strncpy.S
 #$(DIR_KERN)/bcmp.c
 
 
index 4314684..9f7e78f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $OpenBSD: main.c,v 1.1 1997/01/16 09:26:38 niklas Exp $
+ * $OpenBSD: main.c,v 1.2 1997/03/25 17:05:53 niklas Exp $
  * $NetBSD: main.c,v 1.1.1.1 1996/11/29 23:36:29 is Exp $
  *
  *
@@ -79,7 +79,7 @@ int get_cpuid __P((u_int32_t *));
 static long get_number(char **);
 
 const char version[] = "2.0";
-char default_command[] = "openbsd -Sn2";
+char default_command[] = "bsd -Sn2";
 
 int
 pain()
@@ -97,7 +97,6 @@ pain()
        int     Z_flag = 0;
        int     m_value = 0;
        int     S_flag = 0;
-       int     t_flag = 0;
        long stringsz;
 
        u_int32_t fmem = 0x0;
@@ -105,6 +104,9 @@ pain()
        int     cmemsz = 0x0;
        int     eclock = SysBase->EClockFreq;
        /* int  skip_chipmem = 0; */
+#if 0
+       const char *memt;
+#endif
 
        void (*start_it)(void *, u_long, u_long, void *, u_long, u_long, int,
            void *, int, int, u_long, u_long, int) = startit;
@@ -132,13 +134,12 @@ pain()
         */
 
        if (SysBase->LibNode.Version < EXECMIN) {
-               printf("Exec V%ld, need V%ld\n",
+               printf("Exec V%ld < V%ld\n",
                    (long)SysBase->LibNode.Version, (long)EXECMIN);
                goto out;
        }
 
-       printf("\2337mOpenBSD/Amiga bootblock %s\2330m\n%s :- ",
-               version, kernel_name);
+       printf("\2337mOpenBSD/Amiga %s\2330m\n%s : ",version, kernel_name);
 
        timelimit = 3;
        gets(linebuf);
@@ -164,8 +165,8 @@ pain()
                                case 'b':       /* ask for root device */
                                        boothowto |= RB_ASKNAME;
                                        break;
-                               case 'c':       /* force machine model */
-                                       cpuid = get_number(&path) << 16;
+                               case 'c':
+                                       boothowto |= RB_CONFIG;
                                        break;
                                case 'k':       /* Reserve first 4M fastmem */
                                        k_flag++;
@@ -183,20 +184,18 @@ pain()
                                case 's':       /* single-user state */
                                        boothowto |= RB_SINGLE;
                                        break;
-                               case 't':       /* test flag */
-                                       t_flag = 1;
-                                       break;
                                case 'A':       /* enable AGA modes */
                                        amiga_flags |= 1;
                                        break;
+                               case 'C':       /* force machine model */
+                                       cpuid = get_number(&path) << 16;
+                                       break;
                                case 'D':       /* enter Debugger */
                                        boothowto |= RB_KDB;
                                        break;
                                case 'I':       /* inhibit sync negotiation */
                                        I_flag = get_number(&path);
                                        break;
-                               case 'K':       /* remove 1st 4MB fastmem */
-                                       break;
                                case 'S':       /* include debug symbols */
                                        S_flag = 1;
                                        break;
@@ -364,7 +363,7 @@ pain()
        kvers = (u_short *)(kp + eh->a_entry - 2);
 
        if (*kvers > KERNEL_STARTUP_VERSION_MAX && *kvers != 0x4e73) {
-                printf("\nnewer bootblock required: %ld\n", (long)*kvers);
+                printf("\nbootblock < V%ld\n", (long)*kvers);
                goto freeall;
        }
 #if 0
@@ -422,9 +421,9 @@ pain()
                    (char *)startit_end - (char *)startit);
                CacheClearU();
                (caddr_t)start_it = kp + ksize + 256;
-               printf("*** Loading from %08lx to Fastmem %08lx ***\n",
-                   (u_long)kp, (u_long)fmem);
-               /* sleep(2); */
+#if 0
+               memt = "fast";
+#endif
        } else {
                /*
                 * Either the kernel doesn't suppport loading directly to
@@ -432,13 +431,20 @@ pain()
                 * fits into chipmem.
                 */
                if (ksize >= cmemsz) {
-                       printf("Kernel size %d exceeds Chip Memory of %d\n",
+                       printf("Kernel size %d > chipmem size %d\n",
                            ksize, cmemsz);
                        return 20;
                }
                Z_flag = 1;
-               printf("*** Loading from %08lx to Chipmem ***\n", (u_long)kp);
+#if 0
+               memt = "chip";
+               fmem = 0;
+#endif
        }
+#if 0
+       printf("Loading %08lx to %smem %08lx\n", (u_long)kp, memt,
+           (u_long)fmem);
+#endif
 
 #if 0
        printf("would start(kp=0x%lx, ksize=%ld, entry=0x%lx,\n"
@@ -461,7 +467,7 @@ freeall:
        free(kp, ksize);
        free(eh, sizeof(*eh));
 err:
-       printf("\nError %ld\n", (long)errno);
+       printf("\nErr %ld\n", (long)errno);
        close(io);
 out:
        timelimit = 10;
@@ -486,10 +492,7 @@ char **ptr;
                sign = -1;
                c = *++p;
        }
-       if (c == '$') {
-               base = 16;
-               c = *++p;
-       } else if (c == '0') {
+       if (c == '0') {
                c = *++p;
                if ((c & 0xdf) == 'X') {
                        base = 16;
@@ -539,8 +542,7 @@ get_cpuid(cpuid)
                case 4000:
                        return 0;
                default:
-                       printf("Amiga %ld ???\n",
-                           (long)(*cpuid >> 16));
+                       printf("A%ld?\n", (long)(*cpuid >> 16));
                        return(1);
                }
        }
index a8dd10c..7e323fe 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: startit.s,v 1.1 1997/01/16 09:26:41 niklas Exp $      */
+/*     $OpenBSD: startit.s,v 1.2 1997/03/25 17:05:55 niklas Exp $      */
 /*     $NetBSD: startit.s,v 1.1.1.1 1996/11/29 23:36:29 is Exp $       */
 
 /*
@@ -30,9 +30,6 @@
  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *
- * From: $NetBSD: startit.s,v 1.1.1.1 1996/11/29 23:36:29 is Exp $
  */
 
        .set    ABSEXECBASE,4