aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/msi.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-04-10 17:30:19 +0200
committerJan Beulich <jbeulich@suse.com>2013-04-10 17:30:19 +0200
commitfe017c59c4c3ce189119954841a38ef0f1e415d0 (patch)
tree3831ce08b067dda022975f310a0102bb94567d95 /xen/include/asm-x86/msi.h
parent94d166c0106f158fa2c86496bfb0ca1fbb8627ec (diff)
downloadxen-fe017c59c4c3ce189119954841a38ef0f1e415d0.tar.gz
xen-fe017c59c4c3ce189119954841a38ef0f1e415d0.tar.bz2
xen-fe017c59c4c3ce189119954841a38ef0f1e415d0.zip
x86/MSI: cleanup to prepare for multi-vector MSI
The major aspect being the removal of the overload of the MSI entry's mask_base field for MSI purposes - a proper union is being installed instead, tracking both the config space position needed and the number of vectors used (which is going to be 1 until the actual multi-vector MSI patches arrive). It also corrects misleading information from debug key 'M': When msi_get_mask_bit() returns a negative value, there's no mask bit, and hence output shouldn't give the impression there is. Signed-off-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/include/asm-x86/msi.h')
-rw-r--r--xen/include/asm-x86/msi.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/include/asm-x86/msi.h b/xen/include/asm-x86/msi.h
index 6fe67dc145..d288cfcaa2 100644
--- a/xen/include/asm-x86/msi.h
+++ b/xen/include/asm-x86/msi.h
@@ -100,6 +100,10 @@ struct msi_desc {
union {
void __iomem *mask_base;/* va for the entry in mask table */
+ struct {
+ unsigned int nvec;/* number of vectors */
+ unsigned int mpos;/* location of mask register */
+ } msi;
unsigned int hpet_id; /* HPET (dev is NULL) */
};
struct pci_dev *dev;