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: <20221121135653.208611233@linutronix.de>
Date:   Mon, 21 Nov 2022 15:39:28 +0100 (CET)
From:   Thomas Gleixner <tglx@...utronix.de>
To:     LKML <linux-kernel@...r.kernel.org>
Cc:     Will Deacon <will@...nel.org>, linux-pci@...r.kernel.org,
        Bjorn Helgaas <bhelgaas@...gle.com>,
        Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
        Marc Zyngier <maz@...nel.org>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Jason Gunthorpe <jgg@...lanox.com>,
        Andrew Lunn <andrew@...n.ch>,
        Gregory Clement <gregory.clement@...tlin.com>,
        Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>,
        Ammar Faizi <ammarfaizi2@...weeb.org>,
        Robin Murphy <robin.murphy@....com>,
        Lorenzo Pieralisi <lpieralisi@...nel.org>,
        Nishanth Menon <nm@...com>, Tero Kristo <kristo@...nel.org>,
        Santosh Shilimkar <ssantosh@...nel.org>,
        linux-arm-kernel@...ts.infradead.org,
        Vinod Koul <vkoul@...nel.org>, Sinan Kaya <okaya@...nel.org>,
        Andy Gross <agross@...nel.org>,
        Bjorn Andersson <andersson@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        Shameerali Kolothum Thodi 
        <shameerali.kolothum.thodi@...wei.com>,
        Zenghui Yu <yuzenghui@...wei.com>,
        Shawn Guo <shawnguo@...nel.org>,
        Sascha Hauer <s.hauer@...gutronix.de>,
        Fabio Estevam <festevam@...il.com>
Subject: [patch V2 00/40] genirq, irqchip: Convert ARM MSI handling to per
 device MSI domains

This builds on top of the per device MSI work which can be found here:

  https://lore.kernel.org/all/20221121083657.157152924@linutronix.de

and is available from git:

  git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git devmsi-v2-part3

This series converts the ARM MSI handling, especially the platform MSI
mechanics, to use per device MSI domains instead of the weird indirection
through platform MSI domains.

This also takes a different and less convoluted approach to the 'wire to
MSI' bridges by providing special MSI allocation/free functions which are
invoked from irq_create_fwspec_mapping() and irq_dispose_mapping() which
avoids the extra entry point msi_domain_populate_irqs() and its layering
violations.

The series has been tested on various systems (Ampere, Hisilicon HIP05,
ThunderX2, MVEBU MCBIN) but there is no full coverage yet.

Thanks to Marc, Mark and Robin for running this on their machines and
aiding with decoding the initial wreckage. Special thanks go to Marc for
patiently guiding me through the insanity of OF/ACPI related to this.

The series is also available from git:

  git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git devmsi-v2-arm

The work was done to validate that the design decisions for per device MSI
domains and the related data structures are up to the task to handle the
ARM oddities. The design held up, it was just necessary to extend some of
the data structures to handle the ARM specifics in a sane way, but there
was no fundamental shortcoming.

Thanks,

	tglx
---
 b/drivers/base/platform-msi.c                 |  354 +++-----------------------
 b/drivers/dma/mv_xor_v2.c                     |    8 
 b/drivers/dma/qcom/hidma.c                    |    6 
 b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c |    5 
 b/drivers/irqchip/Kconfig                     |    8 
 b/drivers/irqchip/Makefile                    |    4 
 b/drivers/irqchip/irq-gic-common.h            |    3 
 b/drivers/irqchip/irq-gic-msi-lib.c           |  136 +++++++++
 b/drivers/irqchip/irq-gic-msi-lib.h           |   27 +
 b/drivers/irqchip/irq-gic-v2m.c               |   93 ++----
 b/drivers/irqchip/irq-gic-v3-its-msi-parent.c |  207 +++++++++++++++
 b/drivers/irqchip/irq-gic-v3-its.c            |    4 
 b/drivers/irqchip/irq-gic-v3-mbi.c            |  137 ++--------
 b/drivers/irqchip/irq-gic-v3.c                |    6 
 b/drivers/irqchip/irq-imx-mu-msi.c            |   53 +--
 b/drivers/irqchip/irq-mbigen.c                |   98 ++-----
 b/drivers/irqchip/irq-mvebu-gicp.c            |   44 +--
 b/drivers/irqchip/irq-mvebu-icu.c             |  278 ++++++++------------
 b/drivers/irqchip/irq-mvebu-odmi.c            |   39 +-
 b/drivers/irqchip/irq-mvebu-sei.c             |   52 +--
 b/drivers/irqchip/irq-ti-sci-inta.c           |    2 
 b/drivers/mailbox/bcm-flexrm-mailbox.c        |    8 
 b/drivers/pci/msi/irqdomain.c                 |   30 ++
 b/drivers/perf/arm_smmuv3_pmu.c               |    4 
 b/include/linux/acpi_iort.h                   |    4 
 b/include/linux/irqdomain.h                   |   17 +
 b/include/linux/irqdomain_defs.h              |    2 
 b/include/linux/msi.h                         |   81 +----
 b/kernel/irq/irqdomain.c                      |   26 +
 b/kernel/irq/msi.c                            |  253 ++++++++++++------
 drivers/irqchip/irq-gic-v3-its-pci-msi.c      |  202 --------------
 drivers/irqchip/irq-gic-v3-its-platform-msi.c |  163 -----------
 32 files changed, 1021 insertions(+), 1333 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ