qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 32/61] pci: helper functions to access PCIDevice::co


From: Isaku Yamahata
Subject: [Qemu-devel] [PATCH 32/61] pci: helper functions to access PCIDevice::config
Date: Wed, 30 Sep 2009 19:18:08 +0900

add helper functions to get/set PCIDevice::config
Those will be used later.

Signed-off-by: Isaku Yamahata <address@hidden>
---
 hw/pci.h |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/hw/pci.h b/hw/pci.h
index 460a2b5..e3f5df8 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -325,6 +325,18 @@ pci_get_long(uint8_t *config)
 }
 
 static inline void
+pci_set_quad(uint8_t *config, uint64_t val)
+{
+    cpu_to_le64w((uint64_t *)config, val);
+}
+
+static inline uint64_t
+pci_get_quad(uint8_t *config)
+{
+    return le64_to_cpup((uint64_t *)config);
+}
+
+static inline void
 pci_config_set_vendor_id(uint8_t *pci_config, uint16_t val)
 {
     pci_set_word(&pci_config[PCI_VENDOR_ID], val);
@@ -342,6 +354,54 @@ pci_config_set_class(uint8_t *pci_config, uint16_t val)
     pci_set_word(&pci_config[PCI_CLASS_DEVICE], val);
 }
 
+static inline void
+pci_config_set_byte(PCIDevice *d, uint32_t addr, uint8_t val)
+{
+    pci_set_byte(&d->config[addr], val);
+}
+
+static inline void
+pci_config_set_word(PCIDevice *d, uint32_t addr, uint16_t val)
+{
+    pci_set_word(&d->config[addr], val);
+}
+
+static inline void
+pci_config_set_long(PCIDevice *d, uint32_t addr, uint32_t val)
+{
+    pci_set_long(&d->config[addr], val);
+}
+
+static inline void
+pci_config_set_quad(PCIDevice *d, uint32_t addr, uint64_t val)
+{
+    pci_set_quad(&d->config[addr], val);
+}
+
+static inline uint8_t
+pci_config_get_byte(PCIDevice *d, uint32_t addr)
+{
+    return pci_get_byte(&d->config[addr]);
+}
+
+static inline uint16_t
+pci_config_get_word(PCIDevice *d, uint32_t addr)
+{
+    return pci_get_word(&d->config[addr]);
+}
+
+static inline uint32_t
+pci_config_get_long(PCIDevice *d, uint32_t addr)
+{
+    return pci_get_long(&d->config[addr]);
+}
+
+static inline uint64_t
+pci_config_get_quad(PCIDevice *d, uint32_t addr)
+{
+    return pci_get_quad(&d->config[addr]);
+}
+
 typedef int (*pci_qdev_initfn)(PCIDevice *dev);
 typedef struct {
     DeviceInfo qdev;
-- 
1.6.0.2





reply via email to

[Prev in Thread] Current Thread [Next in Thread]