From a0c075229f19ce1a10836042907e2bd89907aa0b Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Thu, 28 Jul 2022 14:53:25 -0600 Subject: [PATCH] kboot: Move conf.c up to top level conf.c is the same now between powerpc64 and amd64, so move it up to kboot. Move powerpc file formats defines to ppc64_elf_freebsd.c Sponsored by: Netflix --- stand/kboot/Makefile | 2 +- stand/kboot/arch/amd64/Makefile.inc | 2 +- stand/kboot/arch/powerpc64/Makefile.inc | 2 +- stand/kboot/arch/powerpc64/conf.c | 118 ------------------ .../kboot/arch/powerpc64/ppc64_elf_freebsd.c | 10 ++ stand/kboot/{arch/amd64 => }/conf.c | 0 6 files changed, 13 insertions(+), 121 deletions(-) delete mode 100644 stand/kboot/arch/powerpc64/conf.c rename stand/kboot/{arch/amd64 => }/conf.c (100%) diff --git a/stand/kboot/Makefile b/stand/kboot/Makefile index ce0868264acf..3a38b8d3d0cf 100644 --- a/stand/kboot/Makefile +++ b/stand/kboot/Makefile @@ -18,7 +18,7 @@ NEWVERSWHAT= "kboot loader" ${MACHINE_ARCH} INSTALLFLAGS= -b # Architecture-specific loader code -SRCS= crt1.c vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c +SRCS= crt1.c conf.c vers.c main.c host_syscalls.c hostcons.c hostdisk.c kbootfdt.c gfx_fb_stub.c CFLAGS.gfx_fb_stub.c += -I${SRCTOP}/contrib/pnglite -I${SRCTOP}/sys/teken diff --git a/stand/kboot/arch/amd64/Makefile.inc b/stand/kboot/arch/amd64/Makefile.inc index a3920d636c9c..79ddbd67f5b6 100644 --- a/stand/kboot/arch/amd64/Makefile.inc +++ b/stand/kboot/arch/amd64/Makefile.inc @@ -1,4 +1,4 @@ -SRCS+= conf.c host_syscall.S amd64_tramp.S elf64_freebsd.c +SRCS+= host_syscall.S amd64_tramp.S elf64_freebsd.c CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include diff --git a/stand/kboot/arch/powerpc64/Makefile.inc b/stand/kboot/arch/powerpc64/Makefile.inc index e6730edf8e3d..b62a12506969 100644 --- a/stand/kboot/arch/powerpc64/Makefile.inc +++ b/stand/kboot/arch/powerpc64/Makefile.inc @@ -1,6 +1,6 @@ CFLAGS+= -mcpu=powerpc64 -SRCS+= conf.c ppc64_elf_freebsd.c host_syscall.S kerneltramp.S +SRCS+= ppc64_elf_freebsd.c host_syscall.S kerneltramp.S SRCS+= ucmpdi2.c LDFLAGS= -nostdlib -static -T ${.CURDIR}/arch/${MACHINE_ARCH}/ldscript.powerpc diff --git a/stand/kboot/arch/powerpc64/conf.c b/stand/kboot/arch/powerpc64/conf.c deleted file mode 100644 index 9862611c68d8..000000000000 --- a/stand/kboot/arch/powerpc64/conf.c +++ /dev/null @@ -1,118 +0,0 @@ -/*- - * Copyright (C) 1999 Michael Smith - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include "bootstrap.h" - -#if defined(LOADER_NET_SUPPORT) -#include "dev_net.h" -#endif - -extern struct devsw hostdisk; - -/* - * We could use linker sets for some or all of these, but - * then we would have to control what ended up linked into - * the bootstrap. So it's easier to conditionalise things - * here. - * - * XXX rename these arrays to be consistent and less namespace-hostile - */ - -/* Exported for libsa */ -struct devsw *devsw[] = { -#if defined(LOADER_DISK_SUPPORT) || defined(LOADER_CD9660_SUPPORT) - &hostdisk, -#endif -#if defined(LOADER_NET_SUPPORT) - &netdev, -#endif - NULL -}; - -struct fs_ops *file_system[] = { -#if defined(LOADER_UFS_SUPPORT) - &ufs_fsops, -#endif -#if defined(LOADER_CD9660_SUPPORT) - &cd9660_fsops, -#endif -#if defined(LOADER_EXT2FS_SUPPORT) - &ext2fs_fsops, -#endif -#if defined(LOADER_NFS_SUPPORT) - &nfs_fsops, -#endif -#if defined(LOADER_TFTP_SUPPORT) - &tftp_fsops, -#endif -#if defined(LOADER_GZIP_SUPPORT) - &gzipfs_fsops, -#endif -#if defined(LOADER_BZIP2_SUPPORT) - &bzipfs_fsops, -#endif - &dosfs_fsops, - NULL -}; - -extern struct netif_driver kbootnet; - -struct netif_driver *netif_drivers[] = { -#if 0 /* XXX */ -#if defined(LOADER_NET_SUPPORT) - &kbootnet, -#endif -#endif - NULL, -}; - -/* Exported for PowerPC only */ -/* - * Sort formats so that those that can detect based on arguments - * rather than reading the file go first. - */ - -extern struct file_format ppc_elf64; - -struct file_format *file_formats[] = { - &ppc_elf64, - NULL -}; - -/* - * Consoles - */ -extern struct console hostconsole; - -struct console *consoles[] = { - &hostconsole, - NULL -}; - diff --git a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c index 93dcb2ea9c3b..5851d71fdc13 100644 --- a/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c +++ b/stand/kboot/arch/powerpc64/ppc64_elf_freebsd.c @@ -170,3 +170,13 @@ struct file_format ppc_elf64 = ppc64_elf_loadfile, ppc64_elf_exec }; + +/* + * Sort formats so that those that can detect based on arguments rather than + * reading the file first. + */ + +struct file_format *file_formats[] = { + &ppc_elf64, + NULL +}; diff --git a/stand/kboot/arch/amd64/conf.c b/stand/kboot/conf.c similarity index 100% rename from stand/kboot/arch/amd64/conf.c rename to stand/kboot/conf.c