Re: [Qemu-devel] [PATCH v3 13/39] rtl8139: convert to memory API

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

 



On 08/04/2011 08:06 AM, Avi Kivity wrote:
Reviewed-by: Richard Henderson<rth@xxxxxxxxxxx>
Signed-off-by: Avi Kivity<avi@xxxxxxxxxx>
---
  hw/rtl8139.c |   72 ++++++++++++++++++++++++++++++---------------------------
  1 files changed, 38 insertions(+), 34 deletions(-)

diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index 5214b8c..dfbab90 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -474,7 +474,6 @@ typedef struct RTL8139State {

      NICState *nic;
      NICConf conf;
-    int rtl8139_mmio_io_addr;

      /* C ring mode */
      uint32_t   currTxDesc;
@@ -506,6 +505,9 @@ typedef struct RTL8139State {
      QEMUTimer *timer;
      int64_t TimerExpire;

+    MemoryRegion bar_io;
+    MemoryRegion bar_mem;
+
      /* Support migration to/from old versions */
      int rtl8139_mmio_io_addr_dummy;
  } RTL8139State;
@@ -3283,7 +3285,7 @@ static void rtl8139_pre_save(void *opaque)
      rtl8139_set_next_tctr_time(s, current_time);
      s->TCTR = muldiv64(current_time - s->TCTR_base, PCI_FREQUENCY,
                         get_ticks_per_sec());
-    s->rtl8139_mmio_io_addr_dummy = s->rtl8139_mmio_io_addr;
+    s->rtl8139_mmio_io_addr_dummy = 0;
  }

  static const VMStateDescription vmstate_rtl8139 = {
@@ -3379,31 +3381,35 @@ static const VMStateDescription vmstate_rtl8139 = {
  /***********************************************************/
  /* PCI RTL8139 definitions */

-static void rtl8139_ioport_map(PCIDevice *pci_dev, int region_num,
-                       pcibus_t addr, pcibus_t size, int type)
-{
-    RTL8139State *s = DO_UPCAST(RTL8139State, dev, pci_dev);
-
-    register_ioport_write(addr, 0x100, 1, rtl8139_ioport_writeb, s);
-    register_ioport_read( addr, 0x100, 1, rtl8139_ioport_readb,  s);
-
-    register_ioport_write(addr, 0x100, 2, rtl8139_ioport_writew, s);
-    register_ioport_read( addr, 0x100, 2, rtl8139_ioport_readw,  s);
-
-    register_ioport_write(addr, 0x100, 4, rtl8139_ioport_writel, s);
-    register_ioport_read( addr, 0x100, 4, rtl8139_ioport_readl,  s);
-}
+static const MemoryRegionPortio rtl8139_portio[] = {
+    { 0, 0x100, 1, .read = rtl8139_ioport_readb, },
+    { 0, 0x100, 1, .write = rtl8139_ioport_writeb, },
+    { 0, 0x100, 2, .read = rtl8139_ioport_readw, },
+    { 0, 0x100, 2, .write = rtl8139_ioport_writew, },
+    { 0, 0x100, 4, .read = rtl8139_ioport_readl, },
+    { 0, 0x100, 4, .write = rtl8139_ioport_writel, },
+    PORTIO_END

Hrm, I missed this #define when it was introduced.

Elsewhere we use:

VMSTATE_END_OF_LIST()
DEFINE_PROP_END_OF_LIST()

For consistency, we ought to use PORTIO_END_OF_LIST()

Otherwise:

Reviewed-by: Anthony Liguori <aliguori@xxxxxxxxxx>

Regards,

Anthony Liguori
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux