VMX: change msr emulation to pass in the vm trapframe
[akaros.git] / kern / arch / x86 / pci.h
index 6d5a256..a1f40b9 100644 (file)
@@ -4,15 +4,14 @@
  * Barret Rhoden <brho@cs.berkeley.edu>
  * Original by Paul Pearce <pearce@eecs.berkeley.edu> */
 
-#ifndef ROS_ARCH_PCI_H
-#define ROS_ARCH_PCI_H
+#pragma once
 
 #include <ros/common.h>
 #include <sys/queue.h>
 #include <atomic.h>
 #include <arch/pci_regs.h>
 
-#define pci_debug(...)  printk(__VA_ARGS__)  
+#define pci_debug(...)  printk(__VA_ARGS__)
 
 #define PCI_CONFIG_ADDR     0xCF8
 #define PCI_CONFIG_DATA     0xCFC
@@ -167,6 +166,7 @@ struct pci_bar {
 struct pci_device {
        STAILQ_ENTRY(pci_device)        all_dev;        /* list of all devices */
        SLIST_ENTRY(pci_device)         irq_dev;        /* list of all devs off an irq */
+       char                                            name[9];
        spinlock_t                                      lock;
        void                                            *dev_data;      /* device private pointer */
        bool                                            in_use;         /* prevent double discovery */
@@ -269,6 +269,7 @@ static inline void *pci_get_drvdata(struct pci_device *pcidev);
 
 /* MSI functions, msi.c */
 int pci_msi_enable(struct pci_device *p, uint64_t vec);
+int pci_msix_init(struct pci_device *p);
 struct msix_irq_vector *pci_msix_enable(struct pci_device *p, uint64_t vec);
 void pci_msi_mask(struct pci_device *p);
 void pci_msi_unmask(struct pci_device *p);
@@ -291,5 +292,3 @@ static inline void *pci_get_drvdata(struct pci_device *pcidev)
 {
        return pcidev->dev_data;
 }
-
-#endif /* ROS_ARCH_PCI_H */