[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] PCI: Introduce two new MSI infrastructure calls for masking/unmasking.

On Fri, Nov 08, 2013 at 09:44:09AM +0800, Zhenzhong Duan wrote:
> On 2013-11-07 07:51, Bjorn Helgaas wrote:
> >[+cc Thomas, Ingo, Peter, x86 list]
> >
> >On Wed, Nov 6, 2013 at 2:16 PM, Konrad Rzeszutek Wilk
> ><konrad.wilk@xxxxxxxxxx> wrote:
> >>Certain platforms do not allow writes in the MSI-X bars
> >>to setup or tear down vector values. To combat against
> >>the generic code trying to write to that and either silently
> >>being ignored or crashing due to the pagetables being marked r/o
> >>this patch introduces a platform over-write.
> >>
> >>Note that we keep two separate, non-weak, functions
> >>default_mask_msi_irqs() and default_mask_msix_irqs() for the
> >>behavior of the arch_mask_msi_irqs() and arch_mask_msix_irqs(),
> >>as the default behavior is needed by x86 PCI code.
> >>
> >>For Xen, which does not allow the guest to write to MSI-X
> >>tables - as the hypervisor is solely responsible for setting
> >>the vector values - we implement two nops.
> >>
> >>CC: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> >>CC: Sucheta Chakraborty <sucheta.chakraborty@xxxxxxxxxx>
> >>CC: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
> >>Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> >I think this is safe, and I'd like to squeeze it into the v3.13 merge
> >window next week, since it supersedes three patches Zhenzhong has been
> >trying to get in since July [1], and this patch is much simpler to
> >understand.
> This patch could replace the first two.
> I think the third patch of mine is still needed as it does a
> different thing.
> It optimizes restore path in dom0.

I tried to rebase it on top of this patch but it ended up that
you still need the two arguments (for restore_... operation). 

But perhaps there is a better way. If you can rebase on top
of this patch - and send it out - that would be great!

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.