lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-id: <1479099731-28108-1-git-send-email-pankaj.dubey@samsung.com>
Date:   Mon, 14 Nov 2016 10:31:55 +0530
From:   Pankaj Dubey <pankaj.dubey@...sung.com>
To:     linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Cc:     rmk+kernel@...linux.org.uk, arnd@...db.de, horms@...ge.net.au,
        magnus.damm@...il.com, geert+renesas@...der.be, vireshk@...nel.org,
        shiraz.linux.kernel@...il.com, krzk@...nel.org,
        thomas.ab@...sung.com, Pankaj Dubey <pankaj.dubey@...sung.com>
Subject: [PATCH 00/16] Provide support of generic function for SCU enable

During consolidation work on Exynos platform for SCU, it has been found
that across many ARM platforms Cortex-A9 boards, SCU enabling code is
duplicated. 

Subsequently it felt that [1] by introducing generic API support in arm/smp_scu.c
file will help in removing all these duplicate work from all such platforms. 
This patch series introduces support for parsting SCU device node to enable SCU
and get SCU base address. If a platform does not support SCU device node in DT, the
API will fallback to scu_a9_get_base to obtain SCU base address.

[1]: https://www.spinics.net/lists/arm-kernel/msg541830.html

Arnd helped in consolidating various ARM platforms duplicating SCU code as below:

a) of_iomap: berlin, exynos, mvebu, realview, rockchip, socfpga, sti, ux500, vexpress
b) ioremap(scu_a9_get_base()): bcm63xx, bcm, hisi, zx
c) iotable_init, scu_a9_get_base(): imx, omap4, tegra, zynq
d) ioremap(constant): shmobile, spear13xx

Based on his suggestion on how to move all these platform to use generic API
I have modified EXYNOS, berlin, realview, socfpga, STi, ux500, vexpress, BCM,
tegra, rockchip, imx, zynq, hisi, mvebu and ZX platform files to adopt generic API for
SCU enabling to obtaining SCU base address.

Only fourth case shmobile and spear13xx will be left to adopt to this new API after this,
which I felt some details information about these platforms and I leave it to the maintainers
of these platforms.

NOTE: This patch series has been tested on EXYNOS platform using Exynos4210 based Origen board
for SMP boot.

Rest platforms are *ONLY* Compiled Tested.

I request maintainers/developers having h/w of these platforms to test this series on their
platforms.

Pankaj Dubey (16):
  ARM: scu: Provide support for parsing SCU device node to enable SCU
  ARM: EXYNOS: use generic API to enable SCU
  ARM: berlin: use generic API for enabling SCU
  ARM: realview: use generic API for enabling SCU
  ARM: socfpga: use generic API for enabling SCU
  ARM: STi: use generic API for enabling SCU
  ARM: ux500: use generic API for enabling SCU
  ARM: vexpress: use generic API for enabling SCU
  ARM: BCM: use generic API for enabling SCU
  ARM: tegra: use generic API for enabling SCU
  ARM: rockchip: use generic API for enabling SCU
  ARM: imx: use generic API for enabling SCU
  ARM: zynq: use generic API for enabling SCU
  ARM: hisi: use generic API for enabling SCU
  ARM: mvebu: use generic API for enabling SCU
  ARM: zx: use generic API for enabling SCU

 arch/arm/include/asm/smp_scu.h      |  4 +++
 arch/arm/kernel/smp_scu.c           | 56 +++++++++++++++++++++++++++++++++++++
 arch/arm/mach-bcm/bcm63xx_smp.c     | 18 ++----------
 arch/arm/mach-bcm/platsmp.c         | 46 +-----------------------------
 arch/arm/mach-berlin/platsmp.c      | 17 ++++-------
 arch/arm/mach-exynos/common.h       |  1 -
 arch/arm/mach-exynos/platsmp.c      | 30 +++-----------------
 arch/arm/mach-exynos/pm.c           |  4 +--
 arch/arm/mach-exynos/suspend.c      | 14 +++-------
 arch/arm/mach-hisi/platsmp.c        | 24 ++++------------
 arch/arm/mach-imx/common.h          |  5 ----
 arch/arm/mach-imx/mach-imx6q.c      |  8 +-----
 arch/arm/mach-imx/platsmp.c         | 32 ++++-----------------
 arch/arm/mach-imx/pm-imx6.c         |  3 +-
 arch/arm/mach-mvebu/board-v7.c      |  8 ++----
 arch/arm/mach-realview/platsmp-dt.c | 29 ++++++-------------
 arch/arm/mach-rockchip/platsmp.c    | 12 ++------
 arch/arm/mach-socfpga/platsmp.c     | 11 +-------
 arch/arm/mach-sti/platsmp.c         |  9 +-----
 arch/arm/mach-tegra/platsmp.c       |  2 +-
 arch/arm/mach-ux500/platsmp.c       | 20 +------------
 arch/arm/mach-vexpress/platsmp.c    | 13 +--------
 arch/arm/mach-zx/platsmp.c          |  6 ++--
 arch/arm/mach-zynq/common.c         | 32 +--------------------
 arch/arm/mach-zynq/common.h         |  2 --
 arch/arm/mach-zynq/platsmp.c        |  2 ++
 26 files changed, 115 insertions(+), 293 deletions(-)

-- 
2.7.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ