Module Name: src Committed By: thorpej Date: Sat Feb 27 01:31:24 UTC 2021
Modified Files: src/sys/arch/bebox/bebox: machdep.c src/sys/arch/ibmnws/ibmnws: machdep.c src/sys/arch/mvmeppc/mvmeppc: machdep.c src/sys/arch/powerpc/include: prep_bus.h prep_bus_funcs.h src/sys/arch/powerpc/oea: prep_machdep.c src/sys/arch/prep/prep: machdep.c Log Message: Don't put #ifdefs in prep_initppc(). Instead, let callers specify the additional BAT-mapped regions they care about. To generate a diff of this commit: cvs rdiff -u -r1.108 -r1.109 src/sys/arch/bebox/bebox/machdep.c cvs rdiff -u -r1.17 -r1.18 src/sys/arch/ibmnws/ibmnws/machdep.c cvs rdiff -u -r1.31 -r1.32 src/sys/arch/mvmeppc/mvmeppc/machdep.c cvs rdiff -u -r1.3 -r1.4 src/sys/arch/powerpc/include/prep_bus.h cvs rdiff -u -r1.1 -r1.2 src/sys/arch/powerpc/include/prep_bus_funcs.h cvs rdiff -u -r1.12 -r1.13 src/sys/arch/powerpc/oea/prep_machdep.c cvs rdiff -u -r1.76 -r1.77 src/sys/arch/prep/prep/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/bebox/bebox/machdep.c diff -u src/sys/arch/bebox/bebox/machdep.c:1.108 src/sys/arch/bebox/bebox/machdep.c:1.109 --- src/sys/arch/bebox/bebox/machdep.c:1.108 Sun Jul 15 05:16:41 2018 +++ src/sys/arch/bebox/bebox/machdep.c Sat Feb 27 01:31:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.108 2018/07/15 05:16:41 maxv Exp $ */ +/* $NetBSD: machdep.c,v 1.109 2021/02/27 01:31:24 thorpej Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.108 2018/07/15 05:16:41 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.109 2021/02/27 01:31:24 thorpej Exp $"); #include "opt_compat_netbsd.h" #include "opt_ddb.h" @@ -56,6 +56,7 @@ __KERNEL_RCSID(0, "$NetBSD: machdep.c,v #include <machine/bootinfo.h> #include <machine/powerpc.h> +#include <powerpc/bat.h> #include <powerpc/pic/picvar.h> #include <powerpc/pio.h> #include <powerpc/prep_bus.h> @@ -140,7 +141,10 @@ initppc(u_long startkernel, u_long endke ns_per_tick = 1000000000 / ticks_per_sec; } - prep_initppc(startkernel, endkernel, args); + prep_initppc(startkernel, endkernel, args, + /* BeBox mainboard registers */ + 0x7ffff000, BAT_BL_8M, /* XXX magic number */ + 0); } /* Index: src/sys/arch/ibmnws/ibmnws/machdep.c diff -u src/sys/arch/ibmnws/ibmnws/machdep.c:1.17 src/sys/arch/ibmnws/ibmnws/machdep.c:1.18 --- src/sys/arch/ibmnws/ibmnws/machdep.c:1.17 Sat Jul 28 23:11:00 2012 +++ src/sys/arch/ibmnws/ibmnws/machdep.c Sat Feb 27 01:31:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.17 2012/07/28 23:11:00 matt Exp $ */ +/* $NetBSD: machdep.c,v 1.18 2021/02/27 01:31:24 thorpej Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.17 2012/07/28 23:11:00 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.18 2021/02/27 01:31:24 thorpej Exp $"); #include "opt_compat_netbsd.h" @@ -149,7 +149,7 @@ initppc(u_long startkernel, u_long endke */ boothowto = 0; /* XXX - should make this an option */ - prep_initppc(startkernel, endkernel, args); + prep_initppc(startkernel, endkernel, args, 0); } /* Index: src/sys/arch/mvmeppc/mvmeppc/machdep.c diff -u src/sys/arch/mvmeppc/mvmeppc/machdep.c:1.31 src/sys/arch/mvmeppc/mvmeppc/machdep.c:1.32 --- src/sys/arch/mvmeppc/mvmeppc/machdep.c:1.31 Wed Mar 26 17:44:36 2014 +++ src/sys/arch/mvmeppc/mvmeppc/machdep.c Sat Feb 27 01:31:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.31 2014/03/26 17:44:36 christos Exp $ */ +/* $NetBSD: machdep.c,v 1.32 2021/02/27 01:31:24 thorpej Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.31 2014/03/26 17:44:36 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.32 2021/02/27 01:31:24 thorpej Exp $"); #include "opt_compat_netbsd.h" #include "opt_mvmetype.h" @@ -148,7 +148,7 @@ initppc(u_long startkernel, u_long endke ns_per_tick = 1000000000 / ticks_per_sec; } - prep_initppc(startkernel, endkernel, boothowto); + prep_initppc(startkernel, endkernel, boothowto, 0); (*platform->pic_setup)(); } Index: src/sys/arch/powerpc/include/prep_bus.h diff -u src/sys/arch/powerpc/include/prep_bus.h:1.3 src/sys/arch/powerpc/include/prep_bus.h:1.4 --- src/sys/arch/powerpc/include/prep_bus.h:1.3 Mon Apr 28 20:23:32 2008 +++ src/sys/arch/powerpc/include/prep_bus.h Sat Feb 27 01:31:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: prep_bus.h,v 1.3 2008/04/28 20:23:32 martin Exp $ */ +/* $NetBSD: prep_bus.h,v 1.4 2021/02/27 01:31:23 thorpej Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -57,7 +57,7 @@ extern struct powerpc_bus_space genppc_i #include <machine/powerpc.h> void prep_bus_space_init(void); -void prep_initppc(u_long, u_long, u_int); +void prep_initppc(u_long, u_long, u_int, paddr_t, ...); void mem_regions(struct mem_region **, struct mem_region **); #endif Index: src/sys/arch/powerpc/include/prep_bus_funcs.h diff -u src/sys/arch/powerpc/include/prep_bus_funcs.h:1.1 src/sys/arch/powerpc/include/prep_bus_funcs.h:1.2 --- src/sys/arch/powerpc/include/prep_bus_funcs.h:1.1 Fri Jul 1 17:29:39 2011 +++ src/sys/arch/powerpc/include/prep_bus_funcs.h Sat Feb 27 01:31:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: prep_bus_funcs.h,v 1.1 2011/07/01 17:29:39 dyoung Exp $ */ +/* $NetBSD: prep_bus_funcs.h,v 1.2 2021/02/27 01:31:23 thorpej Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -41,7 +41,7 @@ extern struct powerpc_bus_space genppc_i #include <machine/powerpc.h> void prep_bus_space_init(void); -void prep_initppc(u_long, u_long, u_int); +void prep_initppc(u_long, u_long, u_int, paddr_t, ...); void mem_regions(struct mem_region **, struct mem_region **); #endif Index: src/sys/arch/powerpc/oea/prep_machdep.c diff -u src/sys/arch/powerpc/oea/prep_machdep.c:1.12 src/sys/arch/powerpc/oea/prep_machdep.c:1.13 --- src/sys/arch/powerpc/oea/prep_machdep.c:1.12 Mon Jul 6 09:34:17 2020 +++ src/sys/arch/powerpc/oea/prep_machdep.c Sat Feb 27 01:31:23 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: prep_machdep.c,v 1.12 2020/07/06 09:34:17 rin Exp $ */ +/* $NetBSD: prep_machdep.c,v 1.13 2021/02/27 01:31:23 thorpej Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: prep_machdep.c,v 1.12 2020/07/06 09:34:17 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: prep_machdep.c,v 1.13 2021/02/27 01:31:23 thorpej Exp $"); #include "ksyms.h" @@ -136,25 +136,27 @@ prep_bus_space_init(void) */ void -prep_initppc(u_long startkernel, u_long endkernel, u_int args) +prep_initppc(u_long startkernel, u_long endkernel, u_int args, paddr_t pa, ...) { + va_list ap; /* - * Now setup fixed bat registers - * We setup the memory BAT, the IO space BAT, and a special - * BAT for certain machines that have rs6k style PCI bridges - * (only on port-prep) + * Set up fixed BAT registers. We map the PReP IO and MEM + * space, plus any additional regions the platform wants. */ oea_batinit( PREP_BUS_SPACE_MEM, BAT_BL_256M, PREP_BUS_SPACE_IO, BAT_BL_256M, -#if defined(bebox) - 0x7ffff000, BAT_BL_8M, /* BeBox Mainboard Registers (4KB) */ -#elif defined(prep) - 0xbf800000, BAT_BL_8M, -#endif 0); + va_start(ap, pa); + while (pa != 0) { + register_t len = va_arg(ap, register_t); + oea_iobat_add(pa, len); + pa = va_arg(ap, paddr_t); + } + va_end(ap); + /* Install vectors and interrupt handler. */ oea_init(NULL); Index: src/sys/arch/prep/prep/machdep.c diff -u src/sys/arch/prep/prep/machdep.c:1.76 src/sys/arch/prep/prep/machdep.c:1.77 --- src/sys/arch/prep/prep/machdep.c:1.76 Mon Aug 27 17:17:25 2018 +++ src/sys/arch/prep/prep/machdep.c Sat Feb 27 01:31:24 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.76 2018/08/27 17:17:25 martin Exp $ */ +/* $NetBSD: machdep.c,v 1.77 2021/02/27 01:31:24 thorpej Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.76 2018/08/27 17:17:25 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.77 2021/02/27 01:31:24 thorpej Exp $"); #include "opt_compat_netbsd.h" #include "opt_openpic.h" @@ -173,7 +173,10 @@ initppc(u_long startkernel, u_long endke busfreq = be32toh(vpd->ProcessorBusHz); } - prep_initppc(startkernel, endkernel, args); + prep_initppc(startkernel, endkernel, args, + /* rs6k-style PCI bridge */ + 0xbf800000, BAT_BL_8M, /* XXX magic number */ + 0); } /*