Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Feb 2020 17:34:57 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r357454 - in head/stand: . common ficl/sparc64 libofw libsa/sparc64 man sparc64 sparc64/boot1 sparc64/loader sparc64/zfsboot
Message-ID:  <202002031734.013HYvvG094616@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: imp
Date: Mon Feb  3 17:34:57 2020
New Revision: 357454
URL: https://svnweb.freebsd.org/changeset/base/357454

Log:
  Remove sparc64 support from the boot loader.
  
  Remove all the sparc64 specific bits, both files and ifdefs.

Deleted:
  head/stand/ficl/sparc64/sysdep.c
  head/stand/ficl/sparc64/sysdep.h
  head/stand/libsa/sparc64/_setjmp.S
  head/stand/sparc64/Makefile
  head/stand/sparc64/Makefile.inc
  head/stand/sparc64/boot1/Makefile
  head/stand/sparc64/boot1/_start.s
  head/stand/sparc64/boot1/boot1.c
  head/stand/sparc64/loader/Makefile
  head/stand/sparc64/loader/help.sparc64
  head/stand/sparc64/loader/locore.S
  head/stand/sparc64/loader/main.c
  head/stand/sparc64/loader/version
  head/stand/sparc64/zfsboot/Makefile
Modified:
  head/stand/common/metadata.c
  head/stand/libofw/libofw.h
  head/stand/loader.mk
  head/stand/man/loader.8

Modified: head/stand/common/metadata.c
==============================================================================
--- head/stand/common/metadata.c	Mon Feb  3 17:10:40 2020	(r357453)
+++ head/stand/common/metadata.c	Mon Feb  3 17:34:57 2020	(r357454)
@@ -49,56 +49,7 @@ __FBSDID("$FreeBSD$");
 #include "geliboot.h"
 #endif
 
-#if defined(__sparc64__)
-#include <openfirm.h>
-
-extern struct tlb_entry *dtlb_store;
-extern struct tlb_entry *itlb_store;
-
-extern int dtlb_slot;
-extern int itlb_slot;
-
 static int
-md_bootserial(void)
-{
-    char        buf[64];
-    ihandle_t        inst;
-    phandle_t        input;
-    phandle_t        node;
-    phandle_t        output;
-
-    if ((node = OF_finddevice("/options")) == -1)
-        return(-1);
-    if (OF_getprop(node, "input-device", buf, sizeof(buf)) == -1)
-        return(-1);
-    input = OF_finddevice(buf);
-    if (OF_getprop(node, "output-device", buf, sizeof(buf)) == -1)
-        return(-1);
-    output = OF_finddevice(buf);
-    if (input == -1 || output == -1 ||
-        OF_getproplen(input, "keyboard") >= 0) {
-        if ((node = OF_finddevice("/chosen")) == -1)
-            return(-1);
-        if (OF_getprop(node, "stdin", &inst, sizeof(inst)) == -1)
-            return(-1);
-        if ((input = OF_instance_to_package(inst)) == -1)
-            return(-1);
-        if (OF_getprop(node, "stdout", &inst, sizeof(inst)) == -1)
-            return(-1);
-        if ((output = OF_instance_to_package(inst)) == -1)
-            return(-1);
-    }
-    if (input != output)
-        return(-1);
-    if (OF_getprop(input, "device_type", buf, sizeof(buf)) == -1)
-        return(-1);
-    if (strcmp(buf, "serial") != 0)
-        return(-1);
-    return(0);
-}
-#endif
-
-static int
 md_getboothowto(char *kargs)
 {
     int		howto;
@@ -106,15 +57,10 @@ md_getboothowto(char *kargs)
     /* Parse kargs */
     howto = boot_parse_cmdline(kargs);
     howto |= boot_env_to_howto();
-#if defined(__sparc64__)
-    if (md_bootserial() != -1)
-	howto |= RB_SERIAL;
-#else
     if (!strcmp(getenv("console"), "comconsole"))
 	howto |= RB_SERIAL;
     if (!strcmp(getenv("console"), "nullconsole"))
 	howto |= RB_MUTE;
-#endif
     return(howto);
 }
 
@@ -362,16 +308,6 @@ md_load_dual(char *args, vm_offset_t *modulep, vm_offs
 #ifdef LOADER_GELI_SUPPORT
     geli_export_key_metadata(kfp);
 #endif
-#if defined(__sparc64__)
-    file_addmetadata(kfp, MODINFOMD_DTLB_SLOTS,
-	sizeof dtlb_slot, &dtlb_slot);
-    file_addmetadata(kfp, MODINFOMD_ITLB_SLOTS,
-	sizeof itlb_slot, &itlb_slot);
-    file_addmetadata(kfp, MODINFOMD_DTLB,
-	dtlb_slot * sizeof(*dtlb_store), dtlb_store);
-    file_addmetadata(kfp, MODINFOMD_ITLB,
-	itlb_slot * sizeof(*itlb_store), itlb_store);
-#endif
 
     *modulep = addr;
     size = md_copymodules(0, kern64);
@@ -411,15 +347,13 @@ md_load_dual(char *args, vm_offset_t *modulep, vm_offs
     return(0);
 }
 
-#if !defined(__sparc64__)
 int
 md_load(char *args, vm_offset_t *modulep, vm_offset_t *dtb)
 {
     return (md_load_dual(args, modulep, dtb, 0));
 }
-#endif
 
-#if defined(__mips__) || defined(__powerpc__) || defined(__sparc64__)
+#if defined(__mips__) || defined(__powerpc__)
 int
 md_load64(char *args, vm_offset_t *modulep, vm_offset_t *dtb)
 {

Modified: head/stand/libofw/libofw.h
==============================================================================
--- head/stand/libofw/libofw.h	Mon Feb  3 17:10:40 2020	(r357453)
+++ head/stand/libofw/libofw.h	Mon Feb  3 17:34:57 2020	(r357454)
@@ -62,9 +62,7 @@ struct preloaded_file;
 struct file_format;
 
 /* MD code implementing MI interfaces */
-#if !defined(__sparc64__)
 vm_offset_t md_load(char *args, vm_offset_t *modulep, vm_offset_t *dtb);
-#endif
 vm_offset_t md_load64(char *args, vm_offset_t *modulep, vm_offset_t *dtb);
 
 extern void	reboot(void);

Modified: head/stand/loader.mk
==============================================================================
--- head/stand/loader.mk	Mon Feb  3 17:10:40 2020	(r357453)
+++ head/stand/loader.mk	Mon Feb  3 17:34:57 2020	(r357454)
@@ -19,9 +19,6 @@ SRCS+=	load_elf32.c reloc_elf32.c
 SRCS+=	load_elf32.c reloc_elf32.c
 SRCS+=	load_elf64.c reloc_elf64.c
 SRCS+=	metadata.c
-.elif ${MACHINE_CPUARCH} == "sparc64"
-SRCS+=	load_elf64.c reloc_elf64.c
-SRCS+=	metadata.c
 .elif ${MACHINE_ARCH:Mmips64*} != ""
 SRCS+= load_elf64.c reloc_elf64.c
 SRCS+=	metadata.c

Modified: head/stand/man/loader.8
==============================================================================
--- head/stand/man/loader.8	Mon Feb  3 17:10:40 2020	(r357453)
+++ head/stand/man/loader.8	Mon Feb  3 17:34:57 2020	(r357454)
@@ -632,7 +632,7 @@ Modifies kernel option
 Limits the amount of KVM reserved for use by the
 buffer cache, specified in bytes.
 The default maximum is 200MB on i386,
-and 400MB on amd64 and sparc64.
+and 400MB on amd64.
 This parameter is used to
 prevent the buffer cache from eating too much
 KVM in large-memory machine configurations.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202002031734.013HYvvG094616>