Module Name: src
Committed By: skrll
Date: Tue Oct 30 16:41:53 UTC 2018
Modified Files:
src/sys/arch/arm/acpi: acpi_platform.c
src/sys/arch/arm/altera: cycv_platform.c
src/sys/arch/arm/broadcom: bcm283x_platform.c
src/sys/arch/arm/cavium: thunderx_platform.c
src/sys/arch/arm/fdt: arm_fdtvar.h
src/sys/arch/arm/nvidia: tegra_platform.c
src/sys/arch/arm/rockchip: rk_platform.c
src/sys/arch/arm/samsung: exynos_platform.c
src/sys/arch/arm/sunxi: sunxi_platform.c
src/sys/arch/arm/ti: ti_platform.c
src/sys/arch/arm/vexpress: vexpress_platform.c
src/sys/arch/arm/virt: virt_platform.c
src/sys/arch/evbarm/fdt: fdt_machdep.c
Log Message:
Retire fdt_putchar and ap_early_put_char in favour of uartputc.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/acpi/acpi_platform.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/altera/cycv_platform.c
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/broadcom/bcm283x_platform.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/cavium/thunderx_platform.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/fdt/arm_fdtvar.h
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/nvidia/tegra_platform.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/rockchip/rk_platform.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/samsung/exynos_platform.c
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/arm/sunxi/sunxi_platform.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/ti/ti_platform.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/vexpress/vexpress_platform.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/virt/virt_platform.c
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/evbarm/fdt/fdt_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/arm/acpi/acpi_platform.c
diff -u src/sys/arch/arm/acpi/acpi_platform.c:1.5 src/sys/arch/arm/acpi/acpi_platform.c:1.6
--- src/sys/arch/arm/acpi/acpi_platform.c:1.5 Sun Oct 28 10:21:42 2018
+++ src/sys/arch/arm/acpi/acpi_platform.c Tue Oct 30 16:41:51 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_platform.c,v 1.5 2018/10/28 10:21:42 jmcneill Exp $ */
+/* $NetBSD: acpi_platform.c,v 1.6 2018/10/30 16:41:51 skrll Exp $ */
/*-
* Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
#include "opt_efi.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_platform.c,v 1.5 2018/10/28 10:21:42 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_platform.c,v 1.6 2018/10/30 16:41:51 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -214,11 +214,6 @@ acpi_platform_init_attach_args(struct fd
}
static void
-acpi_platform_early_putchar(char c)
-{
-}
-
-static void
acpi_platform_device_register(device_t self, void *aux)
{
}
@@ -245,7 +240,6 @@ static const struct arm_platform acpi_pl
.ap_bootstrap = acpi_platform_bootstrap,
.ap_startup = acpi_platform_startup,
.ap_init_attach_args = acpi_platform_init_attach_args,
- .ap_early_putchar = acpi_platform_early_putchar,
.ap_device_register = acpi_platform_device_register,
.ap_reset = acpi_platform_reset,
.ap_delay = gtmr_delay,
Index: src/sys/arch/arm/altera/cycv_platform.c
diff -u src/sys/arch/arm/altera/cycv_platform.c:1.5 src/sys/arch/arm/altera/cycv_platform.c:1.6
--- src/sys/arch/arm/altera/cycv_platform.c:1.5 Sun Oct 28 14:58:20 2018
+++ src/sys/arch/arm/altera/cycv_platform.c Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: cycv_platform.c,v 1.5 2018/10/28 14:58:20 aymeric Exp $ */
+/* $NetBSD: cycv_platform.c,v 1.6 2018/10/30 16:41:52 skrll Exp $ */
/* This file is in the public domain. */
@@ -6,7 +6,7 @@
#include "opt_multiprocessor.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cycv_platform.c,v 1.5 2018/10/28 14:58:20 aymeric Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cycv_platform.c,v 1.6 2018/10/30 16:41:52 skrll Exp $");
#define _ARM32_BUS_DMA_PRIVATE
#include <sys/param.h>
@@ -30,7 +30,20 @@ __KERNEL_RCSID(0, "$NetBSD: cycv_platfor
#include <arm/fdt/arm_fdtvar.h>
#include <dev/fdt/fdtvar.h>
-static void cycv_platform_early_putchar(char);
+void cycv_platform_early_putchar(char);
+
+void
+cycv_platform_early_putchar(char c) {
+#ifdef CONSADDR
+#define CONSADDR_VA (CONSADDR - CYCV_PERIPHERAL_BASE + CYCV_PERIPHERAL_VBASE)
+ volatile uint32_t *uartaddr = (volatile uint32_t *) CONSADDR_VA;
+
+ while ((le32toh(uartaddr[com_lsr]) & LSR_TXRDY) == 0)
+ ;
+
+ uartaddr[com_data] = htole32(c);
+#endif
+}
static const struct pmap_devmap *
cycv_platform_devmap(void) {
@@ -100,19 +113,6 @@ cycv_platform_init_attach_args(struct fd
}
static void
-cycv_platform_early_putchar(char c) {
-#ifdef CONSADDR
-#define CONSADDR_VA (CONSADDR - CYCV_PERIPHERAL_BASE + CYCV_PERIPHERAL_VBASE)
- volatile uint32_t *uartaddr = (volatile uint32_t *) CONSADDR_VA;
-
- while ((le32toh(uartaddr[com_lsr]) & LSR_TXRDY) == 0)
- ;
-
- uartaddr[com_data] = htole32(c);
-#endif
-}
-
-static void
cycv_platform_device_register(device_t dev, void *aux) {
prop_dictionary_t dict = device_properties(dev);
@@ -143,7 +143,6 @@ static const struct arm_platform cycv_pl
.ap_devmap = cycv_platform_devmap,
.ap_bootstrap = cycv_platform_bootstrap,
.ap_init_attach_args = cycv_platform_init_attach_args,
- .ap_early_putchar = cycv_platform_early_putchar,
.ap_device_register = cycv_platform_device_register,
.ap_reset = cycv_platform_reset,
.ap_delay = a9tmr_delay,
Index: src/sys/arch/arm/broadcom/bcm283x_platform.c
diff -u src/sys/arch/arm/broadcom/bcm283x_platform.c:1.21 src/sys/arch/arm/broadcom/bcm283x_platform.c:1.22
--- src/sys/arch/arm/broadcom/bcm283x_platform.c:1.21 Sat Oct 20 05:53:22 2018
+++ src/sys/arch/arm/broadcom/bcm283x_platform.c Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: bcm283x_platform.c,v 1.21 2018/10/20 05:53:22 ryo Exp $ */
+/* $NetBSD: bcm283x_platform.c,v 1.22 2018/10/30 16:41:52 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared D. McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.21 2018/10/20 05:53:22 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.22 2018/10/30 16:41:52 skrll Exp $");
#include "opt_arm_debug.h"
#include "opt_bcm283x.h"
@@ -110,7 +110,6 @@ __KERNEL_RCSID(0, "$NetBSD: bcm283x_plat
#define RPI_CPU_MAX 4
-void bcm283x_platform_early_putchar(vaddr_t, paddr_t, char c);
void bcm2835_platform_early_putchar(char c);
void bcm2836_platform_early_putchar(char c);
void bcm2837_platform_early_putchar(char c);
@@ -1221,7 +1220,7 @@ bcm2836_platform_init_attach_args(struct
#endif
-void
+static void
bcm283x_platform_early_putchar(vaddr_t va, paddr_t pa, char c)
{
volatile uint32_t *uartaddr =
@@ -1350,7 +1349,6 @@ static const struct arm_platform bcm2835
.ap_devmap = bcm2835_platform_devmap,
.ap_bootstrap = bcm2835_platform_bootstrap,
.ap_init_attach_args = bcm2835_platform_init_attach_args,
- .ap_early_putchar = bcm2835_platform_early_putchar,
.ap_device_register = bcm283x_platform_device_register,
.ap_reset = bcm2835_system_reset,
.ap_delay = bcm2835_tmr_delay,
@@ -1372,7 +1370,6 @@ static const struct arm_platform bcm2836
.ap_devmap = bcm2836_platform_devmap,
.ap_bootstrap = bcm2836_platform_bootstrap,
.ap_init_attach_args = bcm2836_platform_init_attach_args,
- .ap_early_putchar = bcm2836_platform_early_putchar,
.ap_device_register = bcm283x_platform_device_register,
.ap_reset = bcm2835_system_reset,
.ap_delay = gtmr_delay,
@@ -1384,7 +1381,6 @@ static const struct arm_platform bcm2837
.ap_devmap = bcm2836_platform_devmap,
.ap_bootstrap = bcm2836_platform_bootstrap,
.ap_init_attach_args = bcm2836_platform_init_attach_args,
- .ap_early_putchar = bcm2837_platform_early_putchar,
.ap_device_register = bcm283x_platform_device_register,
.ap_reset = bcm2835_system_reset,
.ap_delay = gtmr_delay,
Index: src/sys/arch/arm/cavium/thunderx_platform.c
diff -u src/sys/arch/arm/cavium/thunderx_platform.c:1.1 src/sys/arch/arm/cavium/thunderx_platform.c:1.2
--- src/sys/arch/arm/cavium/thunderx_platform.c:1.1 Wed Oct 3 09:24:36 2018
+++ src/sys/arch/arm/cavium/thunderx_platform.c Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: thunderx_platform.c,v 1.1 2018/10/03 09:24:36 skrll Exp $ */
+/* $NetBSD: thunderx_platform.c,v 1.2 2018/10/30 16:41:52 skrll Exp $ */
/*-
* Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
#include "opt_multiprocessor.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: thunderx_platform.c,v 1.1 2018/10/03 09:24:36 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: thunderx_platform.c,v 1.2 2018/10/30 16:41:52 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -121,7 +121,6 @@ static const struct arm_platform thunder
.ap_devmap = thunderx_platform_devmap,
.ap_bootstrap = arm_fdt_cpu_bootstrap,
.ap_init_attach_args = thunderx_platform_init_attach_args,
- .ap_early_putchar = thunderx_platform_early_putchar,
.ap_device_register = thunderx_platform_device_register,
.ap_reset = psci_fdt_reset,
.ap_delay = gtmr_delay,
Index: src/sys/arch/arm/fdt/arm_fdtvar.h
diff -u src/sys/arch/arm/fdt/arm_fdtvar.h:1.11 src/sys/arch/arm/fdt/arm_fdtvar.h:1.12
--- src/sys/arch/arm/fdt/arm_fdtvar.h:1.11 Thu Oct 18 09:01:52 2018
+++ src/sys/arch/arm/fdt/arm_fdtvar.h Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: arm_fdtvar.h,v 1.11 2018/10/18 09:01:52 skrll Exp $ */
+/* $NetBSD: arm_fdtvar.h,v 1.12 2018/10/30 16:41:52 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared D. McNeill <[email protected]>
@@ -41,7 +41,6 @@ struct arm_platform {
void (*ap_mpstart)(void);
void (*ap_startup)(void);
void (*ap_init_attach_args)(struct fdt_attach_args *);
- void (*ap_early_putchar)(char);
void (*ap_device_register)(device_t, void *);
void (*ap_reset)(void);
void (*ap_delay)(u_int);
Index: src/sys/arch/arm/nvidia/tegra_platform.c
diff -u src/sys/arch/arm/nvidia/tegra_platform.c:1.17 src/sys/arch/arm/nvidia/tegra_platform.c:1.18
--- src/sys/arch/arm/nvidia/tegra_platform.c:1.17 Thu Oct 18 09:01:53 2018
+++ src/sys/arch/arm/nvidia/tegra_platform.c Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_platform.c,v 1.17 2018/10/18 09:01:53 skrll Exp $ */
+/* $NetBSD: tegra_platform.c,v 1.18 2018/10/30 16:41:52 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared D. McNeill <[email protected]>
@@ -34,7 +34,7 @@
#include "ukbd.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.17 2018/10/18 09:01:53 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.18 2018/10/30 16:41:52 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -69,6 +69,23 @@ __KERNEL_RCSID(0, "$NetBSD: tegra_platfo
void tegra_platform_early_putchar(char);
+void
+tegra_platform_early_putchar(char c)
+{
+#ifdef CONSADDR
+#define CONSADDR_VA (CONSADDR - TEGRA_APB_BASE + TEGRA_APB_VBASE)
+
+ volatile uint32_t *uartaddr = cpu_earlydevice_va_p() ?
+ (volatile uint32_t *)CONSADDR_VA :
+ (volatile uint32_t *)CONSADDR;
+
+ while ((uartaddr[com_lsr] & LSR_TXRDY) == 0)
+ ;
+
+ uartaddr[com_data] = c;
+#endif
+}
+
static const struct pmap_devmap *
tegra_platform_devmap(void)
{
@@ -133,23 +150,6 @@ tegra_platform_init_attach_args(struct f
faa->faa_dmat = &arm_generic_dma_tag;
}
-void
-tegra_platform_early_putchar(char c)
-{
-#ifdef CONSADDR
-#define CONSADDR_VA (CONSADDR - TEGRA_APB_BASE + TEGRA_APB_VBASE)
-
- volatile uint32_t *uartaddr = cpu_earlydevice_va_p() ?
- (volatile uint32_t *)CONSADDR_VA :
- (volatile uint32_t *)CONSADDR;
-
- while ((uartaddr[com_lsr] & LSR_TXRDY) == 0)
- ;
-
- uartaddr[com_data] = c;
-#endif
-}
-
static void
tegra_platform_device_register(device_t self, void *aux)
{
@@ -223,7 +223,6 @@ static const struct arm_platform tegra12
.ap_devmap = tegra_platform_devmap,
.ap_bootstrap = tegra124_platform_bootstrap,
.ap_init_attach_args = tegra_platform_init_attach_args,
- .ap_early_putchar = tegra_platform_early_putchar,
.ap_device_register = tegra_platform_device_register,
.ap_reset = tegra_platform_reset,
.ap_delay = tegra_platform_delay,
@@ -239,7 +238,6 @@ static const struct arm_platform tegra21
.ap_devmap = tegra_platform_devmap,
.ap_bootstrap = tegra210_platform_bootstrap,
.ap_init_attach_args = tegra_platform_init_attach_args,
- .ap_early_putchar = tegra_platform_early_putchar,
.ap_device_register = tegra_platform_device_register,
.ap_reset = tegra_platform_reset,
.ap_delay = tegra_platform_delay,
Index: src/sys/arch/arm/rockchip/rk_platform.c
diff -u src/sys/arch/arm/rockchip/rk_platform.c:1.7 src/sys/arch/arm/rockchip/rk_platform.c:1.8
--- src/sys/arch/arm/rockchip/rk_platform.c:1.7 Sat Oct 20 05:38:27 2018
+++ src/sys/arch/arm/rockchip/rk_platform.c Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: rk_platform.c,v 1.7 2018/10/20 05:38:27 ryo Exp $ */
+/* $NetBSD: rk_platform.c,v 1.8 2018/10/30 16:41:52 skrll Exp $ */
/*-
* Copyright (c) 2018 Jared McNeill <[email protected]>
@@ -31,7 +31,7 @@
#include "opt_console.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rk_platform.c,v 1.7 2018/10/20 05:38:27 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rk_platform.c,v 1.8 2018/10/30 16:41:52 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -148,7 +148,6 @@ static const struct arm_platform rk3328_
.ap_devmap = rk3328_platform_devmap,
.ap_bootstrap = rk_platform_bootstrap,
.ap_init_attach_args = rk_platform_init_attach_args,
- .ap_early_putchar = rk3328_platform_early_putchar,
.ap_device_register = rk_platform_device_register,
.ap_reset = psci_fdt_reset,
.ap_delay = gtmr_delay,
@@ -207,7 +206,6 @@ static const struct arm_platform rk3399_
.ap_devmap = rk3399_platform_devmap,
.ap_bootstrap = rk_platform_bootstrap,
.ap_init_attach_args = rk_platform_init_attach_args,
- .ap_early_putchar = rk3399_platform_early_putchar,
.ap_device_register = rk_platform_device_register,
.ap_reset = psci_fdt_reset,
.ap_delay = gtmr_delay,
Index: src/sys/arch/arm/samsung/exynos_platform.c
diff -u src/sys/arch/arm/samsung/exynos_platform.c:1.19 src/sys/arch/arm/samsung/exynos_platform.c:1.20
--- src/sys/arch/arm/samsung/exynos_platform.c:1.19 Thu Oct 18 09:01:53 2018
+++ src/sys/arch/arm/samsung/exynos_platform.c Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: exynos_platform.c,v 1.19 2018/10/18 09:01:53 skrll Exp $ */
+/* $NetBSD: exynos_platform.c,v 1.20 2018/10/30 16:41:52 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared D. McNeill <[email protected]>
@@ -35,7 +35,7 @@
#include "ukbd.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: exynos_platform.c,v 1.19 2018/10/18 09:01:53 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exynos_platform.c,v 1.20 2018/10/30 16:41:52 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -227,7 +227,6 @@ static const struct arm_platform exynos4
// .ap_mpstart = exynos4_mpstart,
.ap_bootstrap = exynos4_platform_bootstrap,
.ap_init_attach_args = exynos_platform_init_attach_args,
- .ap_early_putchar = exynos_platform_early_putchar,
.ap_device_register = exynos_platform_device_register,
.ap_reset = exynos5_platform_reset,
.ap_delay = mct_delay,
@@ -272,7 +271,6 @@ static const struct arm_platform exynos5
.ap_bootstrap = exynos5_platform_bootstrap,
.ap_mpstart = exynos_platform_mpstart,
.ap_init_attach_args = exynos_platform_init_attach_args,
- .ap_early_putchar = exynos_platform_early_putchar,
.ap_device_register = exynos_platform_device_register,
.ap_reset = exynos5_platform_reset,
.ap_delay = mct_delay,
Index: src/sys/arch/arm/sunxi/sunxi_platform.c
diff -u src/sys/arch/arm/sunxi/sunxi_platform.c:1.30 src/sys/arch/arm/sunxi/sunxi_platform.c:1.31
--- src/sys/arch/arm/sunxi/sunxi_platform.c:1.30 Sun Oct 28 13:56:21 2018
+++ src/sys/arch/arm/sunxi/sunxi_platform.c Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_platform.c,v 1.30 2018/10/28 13:56:21 skrll Exp $ */
+/* $NetBSD: sunxi_platform.c,v 1.31 2018/10/30 16:41:52 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -31,7 +31,7 @@
#include "opt_console.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_platform.c,v 1.30 2018/10/28 13:56:21 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_platform.c,v 1.31 2018/10/30 16:41:52 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -300,7 +300,6 @@ static const struct arm_platform sun4i_p
.ap_devmap = sunxi_platform_devmap,
.ap_bootstrap = sunxi_platform_bootstrap,
.ap_init_attach_args = sunxi_platform_init_attach_args,
- .ap_early_putchar = sunxi_platform_early_putchar,
.ap_device_register = sunxi_platform_device_register,
.ap_reset = sun4i_platform_reset,
.ap_delay = sun4i_platform_delay,
@@ -313,7 +312,6 @@ static const struct arm_platform sun5i_p
.ap_devmap = sunxi_platform_devmap,
.ap_bootstrap = sunxi_platform_bootstrap,
.ap_init_attach_args = sunxi_platform_init_attach_args,
- .ap_early_putchar = sunxi_platform_early_putchar,
.ap_device_register = sunxi_platform_device_register,
.ap_reset = sun4i_platform_reset,
.ap_delay = sun4i_platform_delay,
@@ -327,7 +325,6 @@ static const struct arm_platform sun6i_p
.ap_devmap = sunxi_platform_devmap,
.ap_bootstrap = sunxi_platform_bootstrap,
.ap_init_attach_args = sunxi_platform_init_attach_args,
- .ap_early_putchar = sunxi_platform_early_putchar,
.ap_device_register = sunxi_platform_device_register,
.ap_reset = sun6i_platform_reset,
.ap_delay = gtmr_delay,
@@ -341,7 +338,6 @@ static const struct arm_platform sun7i_p
.ap_devmap = sunxi_platform_devmap,
.ap_bootstrap = sunxi_platform_bootstrap,
.ap_init_attach_args = sunxi_platform_init_attach_args,
- .ap_early_putchar = sunxi_platform_early_putchar,
.ap_device_register = sunxi_platform_device_register,
.ap_reset = sun4i_platform_reset,
.ap_delay = sun4i_platform_delay,
@@ -355,7 +351,6 @@ static const struct arm_platform sun8i_p
.ap_devmap = sunxi_platform_devmap,
.ap_bootstrap = sunxi_platform_bootstrap,
.ap_init_attach_args = sunxi_platform_init_attach_args,
- .ap_early_putchar = sunxi_platform_early_putchar,
.ap_device_register = sunxi_platform_device_register,
.ap_reset = sun6i_platform_reset,
.ap_delay = gtmr_delay,
@@ -371,7 +366,6 @@ static const struct arm_platform sun9i_p
.ap_devmap = sunxi_platform_devmap,
.ap_bootstrap = sunxi_platform_bootstrap,
.ap_init_attach_args = sunxi_platform_init_attach_args,
- .ap_early_putchar = sunxi_platform_early_putchar,
.ap_device_register = sunxi_platform_device_register,
.ap_reset = sun9i_platform_reset,
.ap_delay = gtmr_delay,
@@ -385,7 +379,6 @@ static const struct arm_platform sun50i_
.ap_devmap = sunxi_platform_devmap,
.ap_bootstrap = sunxi_platform_bootstrap,
.ap_init_attach_args = sunxi_platform_init_attach_args,
- .ap_early_putchar = sunxi_platform_early_putchar,
.ap_device_register = sunxi_platform_device_register,
.ap_reset = sun6i_platform_reset,
.ap_delay = gtmr_delay,
@@ -400,7 +393,6 @@ static const struct arm_platform sun50i_
.ap_devmap = sunxi_platform_devmap,
.ap_bootstrap = sunxi_platform_bootstrap,
.ap_init_attach_args = sunxi_platform_init_attach_args,
- .ap_early_putchar = sunxi_platform_early_putchar,
.ap_device_register = sunxi_platform_device_register,
.ap_reset = sun50i_h6_platform_reset,
.ap_delay = gtmr_delay,
Index: src/sys/arch/arm/ti/ti_platform.c
diff -u src/sys/arch/arm/ti/ti_platform.c:1.5 src/sys/arch/arm/ti/ti_platform.c:1.6
--- src/sys/arch/arm/ti/ti_platform.c:1.5 Fri Sep 21 12:04:07 2018
+++ src/sys/arch/arm/ti/ti_platform.c Tue Oct 30 16:41:52 2018
@@ -1,9 +1,9 @@
-/* $NetBSD: ti_platform.c,v 1.5 2018/09/21 12:04:07 skrll Exp $ */
+/* $NetBSD: ti_platform.c,v 1.6 2018/10/30 16:41:52 skrll Exp $ */
#include "opt_console.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ti_platform.c,v 1.5 2018/09/21 12:04:07 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ti_platform.c,v 1.6 2018/10/30 16:41:52 skrll Exp $");
#include <sys/param.h>
@@ -18,6 +18,23 @@ extern struct bus_space armv7_generic_bs
extern struct bus_space armv7_generic_a4x_bs_tag;
extern struct arm32_bus_dma_tag arm_generic_dma_tag;
+void am33xx_platform_early_putchar(char);
+
+void
+am33xx_platform_early_putchar(char c)
+{
+#ifdef CONSADDR
+#define CONSADDR_VA ((CONSADDR - 0x44c00000) + 0xe4c00000)
+ volatile uint32_t *uartaddr = (volatile uint32_t *)CONSADDR_VA;
+
+ while ((le32toh(uartaddr[com_lsr]) & LSR_TXRDY) == 0)
+ ;
+
+ uartaddr[com_data] = htole32(c);
+#endif
+}
+
+
static const struct pmap_devmap *
am33xx_platform_devmap(void)
{
@@ -40,20 +57,6 @@ am33xx_platform_init_attach_args(struct
}
static void
-am33xx_platform_early_putchar(char c)
-{
-#ifdef CONSADDR
-#define CONSADDR_VA ((CONSADDR - 0x44c00000) + 0xe4c00000)
- volatile uint32_t *uartaddr = (volatile uint32_t *)CONSADDR_VA;
-
- while ((le32toh(uartaddr[com_lsr]) & LSR_TXRDY) == 0)
- ;
-
- uartaddr[com_data] = htole32(c);
-#endif
-}
-
-static void
wdelay(bus_space_tag_t bst, bus_space_handle_t bsh)
{
while (bus_space_read_4(bst, bsh, 0x34) != 0)
@@ -126,7 +129,6 @@ am33xx_platform_delay(u_int n)
static const struct arm_platform am33xx_platform = {
.ap_devmap = am33xx_platform_devmap,
.ap_init_attach_args = am33xx_platform_init_attach_args,
- .ap_early_putchar = am33xx_platform_early_putchar,
.ap_bootstrap = am33xx_platform_bootstrap,
.ap_uart_freq = am33xx_platform_uart_freq,
.ap_delay = am33xx_platform_delay,
Index: src/sys/arch/arm/vexpress/vexpress_platform.c
diff -u src/sys/arch/arm/vexpress/vexpress_platform.c:1.11 src/sys/arch/arm/vexpress/vexpress_platform.c:1.12
--- src/sys/arch/arm/vexpress/vexpress_platform.c:1.11 Thu Oct 18 09:01:53 2018
+++ src/sys/arch/arm/vexpress/vexpress_platform.c Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: vexpress_platform.c,v 1.11 2018/10/18 09:01:53 skrll Exp $ */
+/* $NetBSD: vexpress_platform.c,v 1.12 2018/10/30 16:41:52 skrll Exp $ */
/*-
* Copyright (c) 2017 Jared McNeill <[email protected]>
@@ -30,7 +30,7 @@
#include "opt_console.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vexpress_platform.c,v 1.11 2018/10/18 09:01:53 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vexpress_platform.c,v 1.12 2018/10/30 16:41:52 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -94,6 +94,27 @@ static bus_space_handle_t sysreg_bsh;
void vexpress_platform_early_putchar(char);
+void
+vexpress_platform_early_putchar(char c)
+{
+#ifdef CONSADDR
+#define CONSADDR_VA ((CONSADDR - VEXPRESS_CORE_PBASE) + VEXPRESS_CORE_VBASE)
+ volatile uint32_t *uartaddr = cpu_earlydevice_va_p() ?
+ (volatile uint32_t *)CONSADDR_VA :
+ (volatile uint32_t *)CONSADDR;
+
+ while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFF) != 0)
+ continue;
+
+ uartaddr[PL01XCOM_DR / 4] = htole32(c);
+ arm_dsb();
+
+ while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFE) == 0)
+ continue;
+#endif
+}
+
+
static void
vexpress_a15_smp_init(void)
{
@@ -178,26 +199,6 @@ vexpress_platform_init_attach_args(struc
faa->faa_dmat = &arm_generic_dma_tag;
}
-void
-vexpress_platform_early_putchar(char c)
-{
-#ifdef CONSADDR
-#define CONSADDR_VA ((CONSADDR - VEXPRESS_CORE_PBASE) + VEXPRESS_CORE_VBASE)
- volatile uint32_t *uartaddr = cpu_earlydevice_va_p() ?
- (volatile uint32_t *)CONSADDR_VA :
- (volatile uint32_t *)CONSADDR;
-
- while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFF) != 0)
- continue;
-
- uartaddr[PL01XCOM_DR / 4] = htole32(c);
- arm_dsb();
-
- while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFE) == 0)
- continue;
-#endif
-}
-
static void
vexpress_platform_device_register(device_t self, void *aux)
{
@@ -226,7 +227,6 @@ static const struct arm_platform vexpres
.ap_bootstrap = vexpress_platform_bootstrap,
.ap_mpstart = vexpress_a15_smp_init,
.ap_init_attach_args = vexpress_platform_init_attach_args,
- .ap_early_putchar = vexpress_platform_early_putchar,
.ap_device_register = vexpress_platform_device_register,
.ap_reset = vexpress_platform_reset,
.ap_delay = gtmr_delay,
Index: src/sys/arch/arm/virt/virt_platform.c
diff -u src/sys/arch/arm/virt/virt_platform.c:1.8 src/sys/arch/arm/virt/virt_platform.c:1.9
--- src/sys/arch/arm/virt/virt_platform.c:1.8 Thu Oct 18 09:01:53 2018
+++ src/sys/arch/arm/virt/virt_platform.c Tue Oct 30 16:41:52 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: virt_platform.c,v 1.8 2018/10/18 09:01:53 skrll Exp $ */
+/* $NetBSD: virt_platform.c,v 1.9 2018/10/30 16:41:52 skrll Exp $ */
/*-
* Copyright (c) 2018 Jared McNeill <[email protected]>
@@ -30,7 +30,7 @@
#include "opt_multiprocessor.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: virt_platform.c,v 1.8 2018/10/18 09:01:53 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: virt_platform.c,v 1.9 2018/10/30 16:41:52 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -62,6 +62,25 @@ __KERNEL_RCSID(0, "$NetBSD: virt_platfor
#define VIRT_UART_BASE 0x09000000
+void virt_platform_early_putchar(char);
+
+void
+virt_platform_early_putchar(char c)
+{
+ volatile uint32_t *uartaddr = cpu_earlydevice_va_p() ?
+ (volatile uint32_t *)VIRT_CORE_PTOV(VIRT_UART_BASE) :
+ (volatile uint32_t *)VIRT_UART_BASE;
+
+ while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFF) != 0)
+ continue;
+
+ uartaddr[PL01XCOM_DR / 4] = htole32(c);
+ arm_dsb();
+
+ while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFE) == 0)
+ continue;
+}
+
static const struct pmap_devmap *
virt_platform_devmap(void)
{
@@ -87,25 +106,6 @@ virt_platform_init_attach_args(struct fd
faa->faa_dmat = &arm_generic_dma_tag;
}
-void virt_platform_early_putchar(char);
-
-void
-virt_platform_early_putchar(char c)
-{
- volatile uint32_t *uartaddr = cpu_earlydevice_va_p() ?
- (volatile uint32_t *)VIRT_CORE_PTOV(VIRT_UART_BASE) :
- (volatile uint32_t *)VIRT_UART_BASE;
-
- while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFF) != 0)
- continue;
-
- uartaddr[PL01XCOM_DR / 4] = htole32(c);
- arm_dsb();
-
- while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFE) == 0)
- continue;
-}
-
static void
virt_platform_device_register(device_t self, void *aux)
{
@@ -121,7 +121,6 @@ static const struct arm_platform virt_pl
.ap_devmap = virt_platform_devmap,
.ap_bootstrap = arm_fdt_cpu_bootstrap,
.ap_init_attach_args = virt_platform_init_attach_args,
- .ap_early_putchar = virt_platform_early_putchar,
.ap_device_register = virt_platform_device_register,
.ap_reset = psci_fdt_reset,
.ap_delay = gtmr_delay,
Index: src/sys/arch/evbarm/fdt/fdt_machdep.c
diff -u src/sys/arch/evbarm/fdt/fdt_machdep.c:1.47 src/sys/arch/evbarm/fdt/fdt_machdep.c:1.48
--- src/sys/arch/evbarm/fdt/fdt_machdep.c:1.47 Mon Oct 29 21:05:58 2018
+++ src/sys/arch/evbarm/fdt/fdt_machdep.c Tue Oct 30 16:41:53 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: fdt_machdep.c,v 1.47 2018/10/29 21:05:58 jmcneill Exp $ */
+/* $NetBSD: fdt_machdep.c,v 1.48 2018/10/30 16:41:53 skrll Exp $ */
/*-
* Copyright (c) 2015-2017 Jared McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fdt_machdep.c,v 1.47 2018/10/29 21:05:58 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fdt_machdep.c,v 1.48 2018/10/30 16:41:53 skrll Exp $");
#include "opt_machdep.h"
#include "opt_bootconfig.h"
@@ -140,22 +140,9 @@ static struct consdev earlycons = {
};
static void
-fdt_putchar(char c)
-{
-#ifdef EARLYCONS
- const struct arm_platform *plat = arm_fdt_platform();
- if (plat && plat->ap_early_putchar) {
- plat->ap_early_putchar(c);
- } else {
- uartputc(c);
- }
-#endif
-}
-
-static void
earlyconsputc(dev_t dev, int c)
{
- fdt_putchar(c);
+ uartputc(c);
}
static int