Re: [PATCH 0/6] MSI portability cleanups

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Paul Mackerras
Date: Monday, January 29, 2007 - 4:05 pm

Benjamin Herrenschmidt writes:


Actually, I don't know of any reason why we can't use
pci_find_capability.  We are supposed to avoid trying to touch config
space of devices (in fact, functions) that aren't assigned to our
partition, but we're not talking about that here.

I just got an answer from the hypervisor architects.  It turns out
that the hardware _does_ prevent the device from sending MSI messages
to another partition.  The OS _can_ write whatever it likes to the MSI
address and data registers.  It can potentially lose interrupts (or, I
expect, get the device isolated by EEH) but it can't disrupt another
partition.

I think the reason why the hypervisor call writes the values straight
into the MSI/MSI-X registers in the device is (a) that's convenient
for AIX, since it saves it from immediately having to do more calls
into the hypervisor to write those values to the device, and (b) there
are some ABI complications in returning a lot of values, so the device
registers provide a convenient place to return those values.

So it would be possible, although gross, to do the hypervisor call,
read the values from config space and return them to the generic code,
then let the generic code write them to config space for us. :P

The remaining point of difference then seems to be that for MSI-X, we
really want to know up-front how many interrupts the device driver is
asking for, rather than having a series of alloc requests dribble in
one at a time.

Regards,
Paul.
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/6] MSI portability cleanups, Eric W. Biederman, (Sun Jan 28, 12:40 pm)
[PATCH 1/6] msi: Kill msi_lookup_irq, Eric W. Biederman, (Sun Jan 28, 12:42 pm)
[PATCH 2/6] msi: Remove msi_lock., Eric W. Biederman, (Sun Jan 28, 12:44 pm)
[PATCH 3/6] msi: Fix msi_remove_pci_irq_vectors., Eric W. Biederman, (Sun Jan 28, 12:45 pm)
[PATCH 4/6] msi: Remove attach_msi_entry., Eric W. Biederman, (Sun Jan 28, 12:47 pm)
[PATCH 5/6] msi: Kill the msi_desc array., Eric W. Biederman, (Sun Jan 28, 12:52 pm)
[PATCH 6/6] msi: Make MSI useable more architectures, Eric W. Biederman, (Sun Jan 28, 12:56 pm)
Re: [PATCH 0/6] MSI portability cleanups, Benjamin Herrenschmidt, (Sun Jan 28, 1:23 pm)
Re: [PATCH 0/6] MSI portability cleanups, Jeff Garzik, (Sun Jan 28, 1:47 pm)
Re: [PATCH 0/6] MSI portability cleanups, Eric W. Biederman, (Sun Jan 28, 2:20 pm)
Re: [PATCH 0/6] MSI portability cleanups, Ingo Molnar, (Sun Jan 28, 2:26 pm)
Re: [PATCH 0/6] MSI portability cleanups, Eric W. Biederman, (Sun Jan 28, 2:34 pm)
Re: [PATCH 1/6] msi: Kill msi_lookup_irq, Paul Mackerras, (Sun Jan 28, 3:01 pm)
Re: [PATCH 0/6] MSI portability cleanups, Benjamin Herrenschmidt, (Sun Jan 28, 3:09 pm)
Re: [PATCH 0/6] MSI portability cleanups, Eric W. Biederman, (Sun Jan 28, 3:11 pm)
Re: [PATCH 1/6] msi: Kill msi_lookup_irq, Eric W. Biederman, (Sun Jan 28, 3:18 pm)
Re: [PATCH 0/6] MSI portability cleanups, Eric W. Biederman, (Sun Jan 28, 4:26 pm)
Re: [PATCH 0/6] MSI portability cleanups, David Miller, (Sun Jan 28, 4:37 pm)
Re: [PATCH 0/6] MSI portability cleanups, David Miller, (Sun Jan 28, 4:42 pm)
Re: [PATCH 0/6] MSI portability cleanups, David Miller, (Sun Jan 28, 4:44 pm)
Re: [PATCH 0/6] MSI portability cleanups, Benjamin Herrenschmidt, (Sun Jan 28, 6:33 pm)
Re: [PATCH 0/6] MSI portability cleanups, Eric W. Biederman, (Sun Jan 28, 10:18 pm)
Re: [PATCH 0/6] MSI portability cleanups, David Miller, (Sun Jan 28, 10:25 pm)
Re: [PATCH 0/6] MSI portability cleanups, Eric W. Biederman, (Sun Jan 28, 10:58 pm)
Re: [PATCH 0/6] MSI portability cleanups, Benjamin Herrenschmidt, (Sun Jan 28, 11:05 pm)
Re: [PATCH 0/6] MSI portability cleanups, Eric W. Biederman, (Mon Jan 29, 1:28 am)
Re: [PATCH 0/6] MSI portability cleanups, Eric W. Biederman, (Mon Jan 29, 2:03 am)
Re: [PATCH 0/6] MSI portability cleanups, Michael Ellerman, (Mon Jan 29, 3:11 am)
Re: [PATCH 0/6] MSI portability cleanups, Benjamin Herrenschmidt, (Mon Jan 29, 1:22 pm)
Re: [PATCH 0/6] MSI portability cleanups, Benjamin Herrenschmidt, (Mon Jan 29, 1:32 pm)
Re: [PATCH 0/6] MSI portability cleanups, Paul Mackerras, (Mon Jan 29, 4:05 pm)
Re: [PATCH 0/6] MSI portability cleanups, Paul Mackerras, (Mon Jan 29, 4:29 pm)
Re: [PATCH 0/6] MSI portability cleanups, Benjamin Herrenschmidt, (Mon Jan 29, 4:40 pm)
Re: [PATCH 0/6] MSI portability cleanups, Segher Boessenkool, (Tue Jan 30, 12:32 pm)
Re: [PATCH 0/6] MSI portability cleanups, Greg KH, (Wed Jan 31, 9:29 pm)