Module Name: src Committed By: skrll Date: Mon Dec 30 16:19:27 UTC 2019
Modified Files: src/sys/arch/arm/broadcom: bcm2835reg.h bcm283x_platform.c bcm283x_platform.h Log Message: Fix up ARM_LOCAL for 2711 so that it works now. To generate a diff of this commit: cvs rdiff -u -r1.28 -r1.29 src/sys/arch/arm/broadcom/bcm2835reg.h cvs rdiff -u -r1.30 -r1.31 src/sys/arch/arm/broadcom/bcm283x_platform.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/broadcom/bcm283x_platform.h 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/broadcom/bcm2835reg.h diff -u src/sys/arch/arm/broadcom/bcm2835reg.h:1.28 src/sys/arch/arm/broadcom/bcm2835reg.h:1.29 --- src/sys/arch/arm/broadcom/bcm2835reg.h:1.28 Thu Dec 26 11:09:11 2019 +++ src/sys/arch/arm/broadcom/bcm2835reg.h Mon Dec 30 16:19:27 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm2835reg.h,v 1.28 2019/12/26 11:09:11 skrll Exp $ */ +/* $NetBSD: bcm2835reg.h,v 1.29 2019/12/30 16:19:27 skrll Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -202,8 +202,14 @@ #define BCM2835_UART0_CLK 3000000 +#define BCM2711_ARM_LOCAL_BASE_BUS 0x40000000 #define BCM2711_ARM_LOCAL_BASE 0xff800000 -#define BCM2711_ARM_LOCAL_SIZE 0x00100000 /* 1MByte */ +#define BCM2711_ARM_LOCAL_SIZE 0x00100000 /* 1MBytes */ + +#define BCM2711_ARM_LOCAL_PHYS_TO_BUS(a) \ + ((a) - BCM2711_ARM_LOCAL_BASE + BCM2711_ARM_LOCAL_BASE_BUS) +#define BCM2711_ARM_LOCAL_BUS_TO_PHYS(a) \ + ((a) - BCM2711_ARM_LOCAL_BASE_BUS + BCM2711_ARM_LOCAL_BASE) #define BCM2836_ARM_LOCAL_BASE 0x40000000 #define BCM2836_ARM_LOCAL_SIZE 0x00001000 /* 4KBytes */ Index: src/sys/arch/arm/broadcom/bcm283x_platform.c diff -u src/sys/arch/arm/broadcom/bcm283x_platform.c:1.30 src/sys/arch/arm/broadcom/bcm283x_platform.c:1.31 --- src/sys/arch/arm/broadcom/bcm283x_platform.c:1.30 Mon Dec 30 16:06:29 2019 +++ src/sys/arch/arm/broadcom/bcm283x_platform.c Mon Dec 30 16:19:27 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm283x_platform.c,v 1.30 2019/12/30 16:06:29 skrll Exp $ */ +/* $NetBSD: bcm283x_platform.c,v 1.31 2019/12/30 16:19:27 skrll Exp $ */ /*- * Copyright (c) 2017 Jared D. McNeill <jmcne...@invisible.ca> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.30 2019/12/30 16:06:29 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.31 2019/12/30 16:19:27 skrll Exp $"); #include "opt_arm_debug.h" #include "opt_bcm283x.h" @@ -187,9 +187,9 @@ bcm2711_bus_to_phys(bus_addr_t ba) ba < BCM283X_PERIPHERALS_BASE_BUS + BCM283X_PERIPHERALS_SIZE) return BCM2711_PERIPHERALS_BUS_TO_PHYS(ba); - if (ba >= BCM2711_ARM_LOCAL_BASE && - ba < BCM2711_ARM_LOCAL_BASE + BCM2711_ARM_LOCAL_SIZE) - return ba; + if (ba >= BCM2711_ARM_LOCAL_BASE_BUS && + ba < BCM2711_ARM_LOCAL_BASE_BUS + BCM2711_ARM_LOCAL_SIZE) + return BCM2711_ARM_LOCAL_BUS_TO_PHYS(ba); return ba & ~BCM2835_BUSADDR_CACHE_MASK; } @@ -333,7 +333,7 @@ bcm2711_platform_devmap(void) BCM2711_ARM_LOCAL_SIZE), #if defined(MULTIPROCESSOR) && defined(__aarch64__) /* for fdt cpu spin-table */ - DEVMAP_ENTRY(BCM2836_ARM_SMP_VBASE, BCM2836_ARM_SMP_BASE, + DEVMAP_ENTRY(BCM2711_ARM_SMP_VBASE, BCM2836_ARM_SMP_BASE, BCM2836_ARM_SMP_SIZE), #endif DEVMAP_ENTRY_END Index: src/sys/arch/arm/broadcom/bcm283x_platform.h diff -u src/sys/arch/arm/broadcom/bcm283x_platform.h:1.4 src/sys/arch/arm/broadcom/bcm283x_platform.h:1.5 --- src/sys/arch/arm/broadcom/bcm283x_platform.h:1.4 Tue Dec 24 14:10:51 2019 +++ src/sys/arch/arm/broadcom/bcm283x_platform.h Mon Dec 30 16:19:27 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm283x_platform.h,v 1.4 2019/12/24 14:10:51 skrll Exp $ */ +/* $NetBSD: bcm283x_platform.h,v 1.5 2019/12/30 16:19:27 skrll Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -58,4 +58,7 @@ #define BCM2711_ARM_LOCAL_VBASE \ BCM2711_IOPHYSTOVIRT(BCM2711_ARM_LOCAL_BASE) +#define BCM2711_ARM_SMP_VBASE \ + BCM2711_IOPHYSTOVIRT(BCM2836_ARM_SMP_BASE) + #endif /* _ARM_BCM2835REG_PLATFORM_H_ */