Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-8]: src Pull up following revision(s) (requested by tsutsui in ti...



details:   https://anonhg.NetBSD.org/src/rev/8c0a1521d4d2
branches:  netbsd-8
changeset: 851990:8c0a1521d4d2
user:      martin <martin%NetBSD.org@localhost>
date:      Mon Sep 10 15:52:36 2018 +0000

description:
Pull up following revision(s) (requested by tsutsui in ticket #1017):

        sys/arch/sgimips/conf/INSTALL32_IP2x: revision 1.10
        sys/arch/sgimips/stand/boot/Makefile: revision 1.20
        sys/arch/sgimips/sgimips/machdep.c: revision 1.146
        sys/arch/sgimips/hpc/wdsc.c: revision 1.35
        distrib/sgimips/instkernel/Makefile: revision 1.13

Disable misc options to shrink an INSTALL kernel for IP2x.

The ARC BIOS on Indy seems to have ~8MB limit.

Fixes PR port-sgimips/53378 from Naruaki Etomi.
Should be pulled up to netbsd-7 and netbsd-8.

 -

Fix build failure without options DDB and with pseudo-device ksyms.
There is a typo for ksyms (NKSYMS vs NKSYM).

Also use consistent "#if NKSYMS" rather than "#if NKSYMS > 0" etc.
and add comments after corresponding #endif for readability.

Fixes PR port-sgimips/53521 from Naruaki Etomi.
Should be pulled up to (at least) netbsd-8.

 -

Use elf2ecoff(1) rather than objcopy(1) to generat ecoff for old machines.
objcopy(1) was used instead of elf2ecoff(1) since Makefile rev 1.9:
 http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sgimips/stand/boot/Makefile#rev1.9
but it looks ELF binaries generated by recent binutils are too complicated
to convert them to ecoff for old machines by objcopy(1).

Reported by Naruaki Etomi in PR port-sgimips/53519.
Should be pulled up to at least netbsd-8.

 -

Fix wdsc(4) probe failure on HPC1.5 machines (Indigo R3k/R4k, IP6/IP10/IP12).

The alignment adjustment code was removed in rev 1.36 for common
mips bus_space changes, but the code was not bus_space related
but used for uint32_t register acccess during probe.

Reported and tested by Naruaki Etomi in PR port-sgimips/53522.
Should be pulled up to netbsd-8.

 -

Use elf2ecoff(1) rather than objcopy(1) to generate ecoff kernel.

Reported by Naruaki Etomi in PR port-sgimips/53518.

Should be pulled up to netbsd-7 and netbsd-8.

diffstat:

 distrib/sgimips/instkernel/Makefile  |   6 +--
 sys/arch/sgimips/conf/INSTALL32_IP2x |  59 +++++++++++++++++++++++++++++++++++-
 sys/arch/sgimips/hpc/wdsc.c          |   7 +++-
 sys/arch/sgimips/sgimips/machdep.c   |  12 +++---
 sys/arch/sgimips/stand/boot/Makefile |   7 +---
 5 files changed, 73 insertions(+), 18 deletions(-)

diffs (193 lines):

diff -r 86a908c71c6c -r 8c0a1521d4d2 distrib/sgimips/instkernel/Makefile
--- a/distrib/sgimips/instkernel/Makefile       Mon Sep 10 15:48:25 2018 +0000
+++ b/distrib/sgimips/instkernel/Makefile       Mon Sep 10 15:52:36 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.12 2016/03/23 05:24:11 mrg Exp $
+#      $NetBSD: Makefile,v 1.12.8.1 2018/09/10 15:52:36 martin Exp $
 
 .include <bsd.own.mk>
 .include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
@@ -30,9 +30,7 @@
 MDSET_RELEASEDIR=      binary/kernel
 
 MDSET_SUFFIXES.netbsd-INSTALL${NX}_IP2x=ecoff create-ecoff
-create-ecoff=  ${OBJCOPY} --impure -O ecoff-bigmips \
-               -R .pdr -R .mdebug.abi32 -R .comment -R .ident \
-               ${.TARGET:R} ${.TARGET}
+create-ecoff=  ${ELF2ECOFF} ${.TARGET:R} ${.TARGET}
 
 IMAGE_RELEASEDIR=      installation/diskimage
 
diff -r 86a908c71c6c -r 8c0a1521d4d2 sys/arch/sgimips/conf/INSTALL32_IP2x
--- a/sys/arch/sgimips/conf/INSTALL32_IP2x      Mon Sep 10 15:48:25 2018 +0000
+++ b/sys/arch/sgimips/conf/INSTALL32_IP2x      Mon Sep 10 15:52:36 2018 +0000
@@ -5,7 +5,7 @@
 # Pull in standard `install' config
 include        "arch/sgimips/conf/GENERIC32_IP2x"
 
-makeoptions    COPTS="-Os"
+makeoptions    COPTS="-Os -mmemcpy"
 
 # Enable the hooks used for initializing the root memory-disk.
 options         MEMORY_DISK_HOOKS
@@ -13,3 +13,60 @@
 options         MEMORY_DISK_SERVER=0    # no userspace memory disk support
 options         MEMORY_DISK_ROOT_SIZE=6400 # size of memory disk in blocks (3200k)
 options         MEMORY_DISK_RBFLAGS=RB_SINGLE   # boot in single-user mode
+
+# shrink kernel since ARC BIOS seems to have 8MB limit
+options        FFS_NO_SNAPSHOT
+
+no options     KTRACE
+no options     SYSVMSG
+no options     SYSVSEM
+no options     SYSVSHM
+no options     SYSCTL_INCLUDE_DESCR
+no options     COMPAT_15
+no options     COMPAT_16
+no options     COMPAT_20
+no options     COMPAT_30
+no options     COMPAT_40
+no options     COMPAT_LINUX
+
+no file-system EXT2FS
+no file-system LFS
+no file-system NTFS
+no file-system FDESC
+no file-system KERNFS
+no file-system NULLFS
+no file-system OVERLAY
+no file-system PUFFS
+no file-system PROCFS
+no file-system UMAPFS
+no file-system UNION
+no file-system CODA
+no file-system TMPFS
+
+no options     QUOTA
+no options     QUOTA2
+no options     NFSSERVER
+
+no options     NETATALK
+no options     PPP_FILTER
+
+no options     MIIVERBOSE
+no options     SCSIVERBOSE
+
+no ch* at scsibus?
+no ss* at scsibus?
+no ses* at scsibus?
+no uk* at scsibus?
+
+no ppbus*
+no lpt*
+
+no pseudo-device ccd
+no pseudo-device fss
+no pseudo-device ipfilter
+no pseudo-device bridge
+no pseudo-device accf_data
+no pseudo-device accf_http
+no pseudo-device sequencer
+no pseudo-device putter
+no pseudo-device vcoda
diff -r 86a908c71c6c -r 8c0a1521d4d2 sys/arch/sgimips/hpc/wdsc.c
--- a/sys/arch/sgimips/hpc/wdsc.c       Mon Sep 10 15:48:25 2018 +0000
+++ b/sys/arch/sgimips/hpc/wdsc.c       Mon Sep 10 15:52:36 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: wdsc.c,v 1.34 2015/02/18 16:47:58 macallan Exp $       */
+/*     $NetBSD: wdsc.c,v 1.34.10.1 2018/09/10 15:52:36 martin Exp $    */
 
 /*
  * Copyright (c) 2001 Wayne Knowles
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wdsc.c,v 1.34 2015/02/18 16:47:58 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wdsc.c,v 1.34.10.1 2018/09/10 15:52:36 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -105,6 +105,9 @@
                    haa->hpc_regs->scsi0_ctl);
                asr = MIPS_PHYS_TO_KSEG1(haa->ha_sh + haa->ha_devoff);
 
+               /* XXX: hpc1 offset due to SGIMIPS_BUS_SPACE_HPC brain damage */
+               asr = (asr + 3) & ~0x3;
+
                if (platform.badaddr((void *)reset, sizeof(reset)))
                        return 0;
 
diff -r 86a908c71c6c -r 8c0a1521d4d2 sys/arch/sgimips/sgimips/machdep.c
--- a/sys/arch/sgimips/sgimips/machdep.c        Mon Sep 10 15:48:25 2018 +0000
+++ b/sys/arch/sgimips/sgimips/machdep.c        Mon Sep 10 15:52:36 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.144 2017/02/10 04:00:48 christos Exp $   */
+/*     $NetBSD: machdep.c,v 1.144.6.1 2018/09/10 15:52:36 martin Exp $ */
 
 /*
  * Copyright (c) 2000 Soren S. Jorvang
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.144 2017/02/10 04:00:48 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.144.6.1 2018/09/10 15:52:36 martin Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -248,12 +248,12 @@
        vaddr_t kernend;
        u_int i;
        int rv;
-#if NKSYMS > 0 || defined(DDB) || defined(MODULAR)
+#if NKSYMS || defined(DDB) || defined(MODULAR)
        int nsym = 0;
        char *ssym = NULL;
        char *esym = NULL;
        struct btinfo_symtab *bi_syms;
-#endif
+#endif /* NKSYMS || defined(DDB) || defined(MODULAR) */
 #ifdef _LP64
        char *argv[20];
 
@@ -311,7 +311,7 @@
        } else
                bootinfo_msg = "no bootinfo found. (old bootblocks?)\n";
 
-#if NKSYM > 0 || defined(DDB) || defined(MODULAR)
+#if NKSYMS || defined(DDB) || defined(MODULAR)
        bi_syms = lookup_bootinfo(BTINFO_SYMTAB);
 
        /* check whether there is valid bootinfo symtab info */
@@ -321,7 +321,7 @@
                esym = (char *)bi_syms->esym;
                kernend = mips_round_page(esym);
        } else
-#endif
+#endif /* NKSYMS || defined(DDB) || defined(MODULAR) */
        {
                kernend = mips_round_page(end);
        }
diff -r 86a908c71c6c -r 8c0a1521d4d2 sys/arch/sgimips/stand/boot/Makefile
--- a/sys/arch/sgimips/stand/boot/Makefile      Mon Sep 10 15:48:25 2018 +0000
+++ b/sys/arch/sgimips/stand/boot/Makefile      Mon Sep 10 15:52:36 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.19 2011/02/26 16:26:58 matt Exp $
+#      $NetBSD: Makefile,v 1.19.48.1 2018/09/10 15:52:36 martin Exp $
 
 
 # Don't strip the ECOFF'ed version on install -- strip gets confused by that,
@@ -12,10 +12,7 @@
 PROG=  aoutboot
 ${PROG}: ip2xboot ip3xboot
 .if ${MACHINE_ARCH} == "mipseb"
-       ${OBJCOPY} --impure -O ecoff-bigmips \
-               -R .pdr -R .mdebug.nabi32 -R .mdebug.abi32 \
-               -R .comment -R .ident \
-               ip2xboot ${.TARGET}
+       ${ELF2ECOFF} ip2xboot ${.TARGET}
 .else
        touch ${.TARGET}
 .endif



Home | Main Index | Thread Index | Old Index