lkml.org 
[lkml]   [2021]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [EXTERNAL] Re: [RFC 1/1] irqchip/gic-v3-its: Add irq domain and chip for Direct LPI without ITS
    Date
    On Thursday, August 5, 2021 1:35 AM,
    Marc Zyngier <maz@kernel.org> wrote:
    [...]
    > > Hey Mark
    >
    > I assume this is for me?
    >
    Yes, sorry.

    > > would you be willing to consider a scoped down implementation of GIC
    > > Direct LPI with just an IRQ chip implementation and no Direct LPI
    > > PCI-MSI IRQ chip.
    >
    > Could you please clarify? If you are not implementing MSIs, how can a
    > device signal LPIs? At the end of the day, something has to write into
    > the RD, and it isn't going to happen by sheer magic.
    >
    > > This will allow a MSI provider (such as Hyper-V vPCI) to provide a
    > > PCI-MSI IRQ chip on top of the Direct LPI IRQ chip and enable
    > > PCI-MSI scenarios, and avoid building in assumptions in other cases
    > > (like PCI) where firmware specification is not available.
    >
    > I really don't get what you are suggesting. Could you please describe
    > what you have in mind?
    >
    The suggestion was to *not* implement the PCI-MSI IRQ chip in the
    Direct LPI GIC implementation, but let the endpoint/specific
    implementation provide for the MSI IRQ chip.

    For example, the Hyper-V vPCI module does implement a PCI-MSI IRQ
    chip (refer to 'hv_pcie_init_irq_domain'). Microsoft Hypervisor
    provides/virtualizes the MSI address to be used for Hyper-V vPCI. The
    Hypervisor might be using the ITS in the background, but it expects
    the device to be programmed with the MSI address that it provides.
    And, the Hypervisor takes care of routing the interrupt to the guest.
    This is done by the Hyper-V vPCI MSI IRQ chip (refer to
    hv_msi_irq_chip) compose MSI message.

    Today, for X64, Hyper-V vPCI PCI-MSI irq chip parents itself to the
    architectural 'x86_vector_domain'. The suggestion here was to see
    if we can support a similar setup for ARM, where the Hyper-V vPCI
    PCI-MSI irq chip can parent itself to the 'Direct LPI arch IRQ chip'
    (to be implemented).

    The arch Direct LPI arch IRQ chip is needed to enable LPIs, invalidate
    the LPI configuration (GICR_INVLPIR et. al. ) and allocate LPI IRQs from
    the LPI interrupt namespace (i.e. 8192-<num LPIS>).

    Happy to expand on this further, if the above is not clear.

    Thanks,
    Sunil

    \
     
     \ /
      Last update: 2021-08-06 21:14    [W:3.955 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site