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-prev] [day] [month] [year] [list]
Date:   Wed, 25 Nov 2020 13:28:30 +0100
From:   Michal Simek <monstr@...str.eu>
To:     LKML <linux-kernel@...r.kernel.org>,
        Michal Simek <monstr@...str.eu>, git <git@...inx.com>
Cc:     Paul Thomas <pthomas8589@...il.com>,
        Krzysztof Kozlowski <krzk@...nel.org>,
        Laurent Pinchart <laurent.pinchart@...asonboard.com>,
        Manish Narani <manish.narani@...inx.com>,
        Rajan Vaja <rajan.vaja@...inx.com>,
        Rob Herring <robh+dt@...nel.org>,
        DTML <devicetree@...r.kernel.org>,
        linux-arm <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH] arm64: zynqmp: Move gic node to axi bus

Ășt 10. 11. 2020 v 16:20 odesĂ­latel Michal Simek
<michal.simek@...inx.com> napsal:
>
> The reason for this change is that after change from amba to axi U-Boot
> started to show error like:
> Unable to update property /axi/ethernet@...e0000:mac-address, err=FDT_ERR_NOTFOUND
> Unable to update property /axi/ethernet@...e0000:local-mac-address, err=FDT_ERR_NOTFOUND
>
> The reason is implementation in fdt_nodename_eq_() which is taken from dtc
> to the kernel and to the U-Boot. Especially DTC commit d2a9da045897 ("libfdt:
> Make unit address optional for finding nodes") which is in DTC from 2007.
>
> The part of commit description is
> "   This is contrary to traditional OF-like finddevice() behaviour, which
>     allows the unit address to be omitted (which is useful when the device
>     name is unambiguous without the address)."
>
> The kernel commit dfff9066e60e ("arm64: dts: zynqmp: Rename buses to be
> align with simple-bus yaml") changed amba-apu/amba to axi@...xi but
> fdt_nodename_eq_() detects /axi/ as match for /axi@0/ because of commit
> above.
>
> That's why it easier to fix one DT inside the kernel by moving GIC node
> from own bus to generic axi bus as is done by others SoCs. This will avoid
> incorrect match because the unit address is omitted.
>
> Reported-by: Paul Thomas <pthomas8589@...il.com>
> Signed-off-by: Michal Simek <michal.simek@...inx.com>
> ---
>
>  arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 31 ++++++++++----------------
>  1 file changed, 12 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
> index 771f60e0346d..515b15ed634a 100644
> --- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
> +++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
> @@ -182,25 +182,6 @@ fpga_full: fpga-full {
>                 ranges;
>         };
>
> -       amba_apu: axi@0 {
> -               compatible = "simple-bus";
> -               #address-cells = <2>;
> -               #size-cells = <1>;
> -               ranges = <0 0 0 0 0xffffffff>;
> -
> -               gic: interrupt-controller@...10000 {
> -                       compatible = "arm,gic-400";
> -                       #interrupt-cells = <3>;
> -                       reg = <0x0 0xf9010000 0x10000>,
> -                             <0x0 0xf9020000 0x20000>,
> -                             <0x0 0xf9040000 0x20000>,
> -                             <0x0 0xf9060000 0x20000>;
> -                       interrupt-controller;
> -                       interrupt-parent = <&gic>;
> -                       interrupts = <1 9 0xf04>;
> -               };
> -       };
> -
>         amba: axi {
>                 compatible = "simple-bus";
>                 #address-cells = <2>;
> @@ -339,6 +320,18 @@ fpd_dma_chan8: dma@...70000 {
>                         power-domains = <&zynqmp_firmware PD_GDMA>;
>                 };
>
> +               gic: interrupt-controller@...10000 {
> +                       compatible = "arm,gic-400";
> +                       #interrupt-cells = <3>;
> +                       reg = <0x0 0xf9010000 0x0 0x10000>,
> +                             <0x0 0xf9020000 0x0 0x20000>,
> +                             <0x0 0xf9040000 0x0 0x20000>,
> +                             <0x0 0xf9060000 0x0 0x20000>;
> +                       interrupt-controller;
> +                       interrupt-parent = <&gic>;
> +                       interrupts = <1 9 0xf04>;
> +               };
> +
>                 /* LPDDMA default allows only secured access. inorder to enable
>                  * These dma channels, Users should ensure that these dma
>                  * Channels are allowed for non secure access.
> --
> 2.29.2
>

Applied.
M

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ