svn commit: r296098 - in head/sys/arm: allwinner/a20 altera/socfpga amlogic/aml8726 annapurna/alpine arm broadcom/bcm2835 freescale/imx include mv/armada38x mv/armadaxp qemu rockchip samsung/exynos...

Andrew Turner andrew at FreeBSD.org
Fri Feb 26 15:54:37 UTC 2016


Author: andrew
Date: Fri Feb 26 15:54:34 2016
New Revision: 296098
URL: https://svnweb.freebsd.org/changeset/base/296098

Log:
  Remove platform_mp_probe as it's almost identical on most ARM SoCs, and
  slightly wrong on the others. We should just check if mp_ncpus is set to
  more than one CPU as we may wish to run on a single core even when SMP is
  available.
  
  Reviewed by:	ian
  Sponsored by:	ABT Systems Ltd
  Differential Revision:	https://reviews.freebsd.org/D5458

Modified:
  head/sys/arm/allwinner/a20/a20_mp.c
  head/sys/arm/altera/socfpga/socfpga_mp.c
  head/sys/arm/amlogic/aml8726/aml8726_mp.c
  head/sys/arm/annapurna/alpine/alpine_machdep_mp.c
  head/sys/arm/arm/mp_machdep.c
  head/sys/arm/broadcom/bcm2835/bcm2836_mp.c
  head/sys/arm/freescale/imx/imx6_mp.c
  head/sys/arm/include/smp.h
  head/sys/arm/mv/armada38x/armada38x_mp.c
  head/sys/arm/mv/armadaxp/armadaxp_mp.c
  head/sys/arm/qemu/virt_mp.c
  head/sys/arm/rockchip/rk30xx_mp.c
  head/sys/arm/samsung/exynos/exynos5_mp.c
  head/sys/arm/ti/omap4/omap4_mp.c
  head/sys/arm/xilinx/zy7_mp.c

Modified: head/sys/arm/allwinner/a20/a20_mp.c
==============================================================================
--- head/sys/arm/allwinner/a20/a20_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/allwinner/a20/a20_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -81,16 +81,6 @@ platform_mp_setmaxid(void)
 	mp_maxid = ncpu - 1;
 }
 
-int
-platform_mp_probe(void)
-{
-
-	if (mp_ncpus == 0)
-		platform_mp_setmaxid();
-
-	return (mp_ncpus > 1);
-}
-
 void
 platform_mp_start_ap(void)
 {

Modified: head/sys/arm/altera/socfpga/socfpga_mp.c
==============================================================================
--- head/sys/arm/altera/socfpga/socfpga_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/altera/socfpga/socfpga_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -111,16 +111,6 @@ platform_mp_setmaxid(void)
 	mp_maxid = ncpu - 1;
 }
 
-int
-platform_mp_probe(void)
-{
-
-	if (mp_ncpus == 0)
-		platform_mp_setmaxid();
-
-	return (mp_ncpus > 1);
-}
-
 void
 platform_mp_start_ap(void)
 {

Modified: head/sys/arm/amlogic/aml8726/aml8726_mp.c
==============================================================================
--- head/sys/arm/amlogic/aml8726/aml8726_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/amlogic/aml8726/aml8726_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -433,18 +433,6 @@ moveon:
 	mp_maxid = ncpu - 1;
 }
 
-
-int
-platform_mp_probe(void)
-{
-
-	if (mp_ncpus == 0)
-		platform_mp_setmaxid();
-
-	return (mp_ncpus > 1);
-}
-
-
 void
 platform_mp_start_ap(void)
 {

Modified: head/sys/arm/annapurna/alpine/alpine_machdep_mp.c
==============================================================================
--- head/sys/arm/annapurna/alpine/alpine_machdep_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/annapurna/alpine/alpine_machdep_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -133,12 +133,6 @@ platform_mp_setmaxid(void)
 	mp_maxid = mp_ncpus - 1;
 }
 
-int
-platform_mp_probe(void)
-{
-	return (1);
-}
-
 static int
 alpine_get_cpu_resume_base(u_long *pbase, u_long *psize)
 {

Modified: head/sys/arm/arm/mp_machdep.c
==============================================================================
--- head/sys/arm/arm/mp_machdep.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/arm/mp_machdep.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -86,9 +86,12 @@ void *dpcpu[MAXCPU - 1];
 int
 cpu_mp_probe(void)
 {
+
+	KASSERT(mp_ncpus != 0, ("cpu_mp_probe: mp_ncpus is unset"));
+
 	CPU_SETOF(0, &all_cpus);
 
-	return (platform_mp_probe());
+	return (mp_ncpus > 1);
 }
 
 /* Start Application Processor via platform specific function */

Modified: head/sys/arm/broadcom/bcm2835/bcm2836_mp.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2836_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/broadcom/bcm2835/bcm2836_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -95,17 +95,6 @@ platform_mp_setmaxid(void)
 	DPRINTF("mp_maxid=%d\n", mp_maxid);
 }
 
-int
-platform_mp_probe(void)
-{
-
-	DPRINTF("platform_mp_probe\n");
-	CPU_SETOF(0, &all_cpus);
-	if (mp_ncpus == 0)
-		platform_mp_setmaxid();
-	return (mp_ncpus > 1);
-}
-
 void
 platform_mp_start_ap(void)
 {

Modified: head/sys/arm/freescale/imx/imx6_mp.c
==============================================================================
--- head/sys/arm/freescale/imx/imx6_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/freescale/imx/imx6_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -99,17 +99,6 @@ platform_mp_setmaxid(void)
 	mp_maxid = ncpu - 1;
 }
 
-int
-platform_mp_probe(void)
-{
-
-	/* I think platform_mp_setmaxid must get called first, but be safe. */
-	if (mp_ncpus == 0)
-		platform_mp_setmaxid();
-
-	return (mp_ncpus > 1);
-}
-
 void    
 platform_mp_start_ap(void)
 {

Modified: head/sys/arm/include/smp.h
==============================================================================
--- head/sys/arm/include/smp.h	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/include/smp.h	Fri Feb 26 15:54:34 2016	(r296098)
@@ -45,7 +45,6 @@ int	pic_ipi_read(int arg);
 
 /* Platform interface */
 void	platform_mp_setmaxid(void);
-int	platform_mp_probe(void);
 void	platform_mp_start_ap(void);
 void	platform_mp_init_secondary(void);
 

Modified: head/sys/arm/mv/armada38x/armada38x_mp.c
==============================================================================
--- head/sys/arm/mv/armada38x/armada38x_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/mv/armada38x/armada38x_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -130,13 +130,6 @@ platform_mp_setmaxid(void)
 	mp_maxid = 1;
 }
 
-int
-platform_mp_probe(void)
-{
-
-	return (mp_ncpus > 1);
-}
-
 void
 platform_mp_init_secondary(void)
 {

Modified: head/sys/arm/mv/armadaxp/armadaxp_mp.c
==============================================================================
--- head/sys/arm/mv/armadaxp/armadaxp_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/mv/armadaxp/armadaxp_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -87,13 +87,6 @@ platform_mp_setmaxid(void)
 	mp_maxid = mp_ncpus - 1;
 }
 
-int
-platform_mp_probe(void)
-{
-
-	return (mp_ncpus > 1);
-}
-
 void
 platform_mp_init_secondary(void)
 {

Modified: head/sys/arm/qemu/virt_mp.c
==============================================================================
--- head/sys/arm/qemu/virt_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/qemu/virt_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -46,13 +46,6 @@ __FBSDID("$FreeBSD$");
 
 static int running_cpus;
 
-int
-platform_mp_probe(void)
-{
-
-	return (mp_ncpus > 1);
-}
-
 static boolean_t
 virt_maxid(u_int id, phandle_t node, u_int addr_cells, pcell_t *reg)
 {

Modified: head/sys/arm/rockchip/rk30xx_mp.c
==============================================================================
--- head/sys/arm/rockchip/rk30xx_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/rockchip/rk30xx_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -107,16 +107,6 @@ platform_mp_setmaxid(void)
 	mp_maxid = ncpu - 1;
 }
 
-int
-platform_mp_probe(void)
-{
-
-	if (mp_ncpus == 0)
-		platform_mp_setmaxid();
-
-	return (mp_ncpus > 1);
-}
-
 void
 platform_mp_start_ap(void)
 {

Modified: head/sys/arm/samsung/exynos/exynos5_mp.c
==============================================================================
--- head/sys/arm/samsung/exynos/exynos5_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/samsung/exynos/exynos5_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -89,13 +89,6 @@ platform_mp_setmaxid(void)
 	mp_maxid = mp_ncpus - 1;
 }
 
-int
-platform_mp_probe(void)
-{
-
-	return (mp_ncpus > 1);
-}
-
 void
 platform_mp_start_ap(void)
 {

Modified: head/sys/arm/ti/omap4/omap4_mp.c
==============================================================================
--- head/sys/arm/ti/omap4/omap4_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/ti/omap4/omap4_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -56,13 +56,6 @@ platform_mp_setmaxid(void)
 	mp_ncpus = 2;
 }
 
-int
-platform_mp_probe(void)
-{
-
-	return (1);
-}
-
 void    
 platform_mp_start_ap(void)
 {

Modified: head/sys/arm/xilinx/zy7_mp.c
==============================================================================
--- head/sys/arm/xilinx/zy7_mp.c	Fri Feb 26 15:52:55 2016	(r296097)
+++ head/sys/arm/xilinx/zy7_mp.c	Fri Feb 26 15:54:34 2016	(r296098)
@@ -61,13 +61,6 @@ platform_mp_setmaxid(void)
 	mp_ncpus = 2;
 }
 
-int
-platform_mp_probe(void)
-{
-
-	return (1);
-}
-
 void    
 platform_mp_start_ap(void)
 {


More information about the svn-src-all mailing list