All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h
@ 2014-02-12 23:21 Peter Crosthwaite
  2014-02-12 23:22 ` [Qemu-devel] [PATCH microblaze/ppc v2 1/8] microblaze/s3adsp_1800: Define macros for irq map Peter Crosthwaite
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-12 23:21 UTC (permalink / raw)
  To: qemu-devel, edgar.iglesias; +Cc: agraf

Hi Edgar,

This file is written for a very old qdev style of machine description.
Remove by inlining all usages of its functions (which is consistent with
the modern preference that qdev_initery should be inline and not in
cross-board helper functions).

To avoid movement of magic numbers, Define macros for IRQ and memory
maps as appropriate. This cleanup comes first, followed by the
piecewise removal of xilinx.h.

Regards,
Peter


Peter Crosthwaite (8):
  microblaze/s3adsp_1800: Define macros for irq map
  ppc/virtex_ml507: Define macros for irq/memory maps
  microblaze/ml605: Define macros for irq/memory maps
  xilinx: Inline usages of xilinx_intc_create()
  xilinx: Inline usages of xilinx_timer_create()
  xilinx: Inline usage of xilinx_ethlite_create()
  xilinx: Inline usages of xilinx_axi*_init()
  xilinx: Delete hw/include/xilinx.h

 hw/microblaze/petalogix_ml605_mmu.c      | 55 ++++++++++++++-----
 hw/microblaze/petalogix_s3adsp1800_mmu.c | 35 ++++++++++---
 hw/ppc/virtex_ml507.c                    | 29 +++++++---
 include/hw/xilinx.h                      | 90 --------------------------------
 4 files changed, 95 insertions(+), 114 deletions(-)
 delete mode 100644 include/hw/xilinx.h

-- 
1.8.5.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH microblaze/ppc v2 1/8] microblaze/s3adsp_1800: Define macros for irq map
  2014-02-12 23:21 [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
@ 2014-02-12 23:22 ` Peter Crosthwaite
  2014-02-12 23:23 ` [Qemu-devel] [PATCH microblaze/ppc v2 2/8] ppc/virtex_ml507: Define macros for irq/memory maps Peter Crosthwaite
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-12 23:22 UTC (permalink / raw)
  To: qemu-devel, edgar.iglesias; +Cc: agraf

Define macros for the interrupt map for the sake of self documentation.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---
I haven't converted the xilinx_foo_create usages because they will be
deleted in following patches

 hw/microblaze/petalogix_s3adsp1800_mmu.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index f500215..a4877a6 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -48,6 +48,10 @@
 #define UARTLITE_BASEADDR 0x84000000
 #define ETHLITE_BASEADDR 0x81000000
 
+#define TIMER_IRQ           0
+#define ETHLITE_IRQ         1
+#define UARTLITE_IRQ        3
+
 static void machine_cpu_reset(MicroBlazeCPU *cpu)
 {
     CPUMBState *env = &cpu->env;
@@ -99,7 +103,8 @@ petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
         irq[i] = qdev_get_gpio_in(dev, i);
     }
 
-    sysbus_create_simple("xlnx.xps-uartlite", UARTLITE_BASEADDR, irq[3]);
+    sysbus_create_simple("xlnx.xps-uartlite", UARTLITE_BASEADDR,
+                         irq[UARTLITE_IRQ]);
     /* 2 timers at irq 2 @ 62 Mhz.  */
     xilinx_timer_create(TIMER_BASEADDR, irq[0], 0, 62 * 1000000);
     xilinx_ethlite_create(&nd_table[0], ETHLITE_BASEADDR, irq[1], 0, 0);
-- 
1.8.5.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH microblaze/ppc v2 2/8] ppc/virtex_ml507: Define macros for irq/memory maps
  2014-02-12 23:21 [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
  2014-02-12 23:22 ` [Qemu-devel] [PATCH microblaze/ppc v2 1/8] microblaze/s3adsp_1800: Define macros for irq map Peter Crosthwaite
@ 2014-02-12 23:23 ` Peter Crosthwaite
  2014-02-12 23:24 ` [Qemu-devel] [PATCH microblaze/ppc v2 4/8] xilinx: Inline usages of xilinx_intc_create() Peter Crosthwaite
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-12 23:23 UTC (permalink / raw)
  To: qemu-devel, edgar.iglesias; +Cc: agraf

Define macros for the interrupt and memory maps for the sake of self
documentation.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---
I haven't converted the xilinx_foo_create usages because they will be
deleted in following patches

 hw/ppc/virtex_ml507.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index bdb057e..88312f8 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -45,6 +45,14 @@
 #define EPAPR_MAGIC    (0x45504150)
 #define FLASH_SIZE     (16 * 1024 * 1024)
 
+#define INTC_BASEADDR       0x81800000
+#define UART16550_BASEADDR  0x83e01003
+#define TIMER_BASEADDR      0x83c00000
+#define PFLASH_BASEADDR     0xfc000000
+
+#define TIMER_IRQ           3
+#define UART16550_IRQ       9
+
 static struct boot_info
 {
     uint32_t bootstrap_pc;
@@ -204,7 +212,7 @@ static void virtex_init(QEMUMachineInitArgs *args)
     memory_region_add_subregion(address_space_mem, ram_base, phys_ram);
 
     dinfo = drive_get(IF_PFLASH, 0, 0);
-    pflash_cfi01_register(0xfc000000, NULL, "virtex.flash", FLASH_SIZE,
+    pflash_cfi01_register(PFLASH_BASEADDR, NULL, "virtex.flash", FLASH_SIZE,
                           dinfo ? dinfo->bdrv : NULL, (64 * 1024),
                           FLASH_SIZE >> 16,
                           1, 0x89, 0x18, 0x0000, 0x0, 1);
@@ -215,8 +223,8 @@ static void virtex_init(QEMUMachineInitArgs *args)
         irq[i] = qdev_get_gpio_in(dev, i);
     }
 
-    serial_mm_init(address_space_mem, 0x83e01003ULL, 2, irq[9], 115200,
-                   serial_hds[0], DEVICE_LITTLE_ENDIAN);
+    serial_mm_init(address_space_mem, UART16550_BASEADDR, 2, irq[UART16550_IRQ],
+                   115200, serial_hds[0], DEVICE_LITTLE_ENDIAN);
 
     /* 2 timers at irq 2 @ 62 Mhz.  */
     xilinx_timer_create(0x83c00000, irq[3], 0, 62 * 1000000);
-- 
1.8.5.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH microblaze/ppc v2 4/8] xilinx: Inline usages of xilinx_intc_create()
  2014-02-12 23:21 [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
  2014-02-12 23:22 ` [Qemu-devel] [PATCH microblaze/ppc v2 1/8] microblaze/s3adsp_1800: Define macros for irq map Peter Crosthwaite
  2014-02-12 23:23 ` [Qemu-devel] [PATCH microblaze/ppc v2 2/8] ppc/virtex_ml507: Define macros for irq/memory maps Peter Crosthwaite
@ 2014-02-12 23:24 ` Peter Crosthwaite
  2014-02-12 23:25 ` [Qemu-devel] [PATCH microblaze/ppc v2 5/8] xilinx: Inline usages of xilinx_timer_create() Peter Crosthwaite
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-12 23:24 UTC (permalink / raw)
  To: qemu-devel, edgar.iglesias; +Cc: agraf

Inline these usages. Converts these init to at least a semi-recent QOM
styling.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/microblaze/petalogix_ml605_mmu.c      |  8 ++++++--
 hw/microblaze/petalogix_s3adsp1800_mmu.c |  9 +++++++--
 hw/ppc/virtex_ml507.c                    |  6 +++++-
 include/hw/xilinx.h                      | 13 -------------
 4 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 48a0a3e..0dee46c 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -119,8 +119,12 @@ petalogix_ml605_init(QEMUMachineInitArgs *args)
                           2, 0x89, 0x18, 0x0000, 0x0, 0);
 
 
-    dev = xilinx_intc_create(INTC_BASEADDR, qdev_get_gpio_in(DEVICE(cpu),
-                             MB_CPU_IRQ), 4);
+    dev = qdev_create(NULL, "xlnx.xps-intc");
+    qdev_prop_set_uint32(dev, "kind-of-intr", 1 << TIMER_IRQ);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0,
+                       qdev_get_gpio_in(DEVICE(cpu), MB_CPU_IRQ));
     for (i = 0; i < 32; i++) {
         irq[i] = qdev_get_gpio_in(dev, i);
     }
diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index a4877a6..cb8e334 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -97,8 +97,13 @@ petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
                           FLASH_SIZE >> 16,
                           1, 0x89, 0x18, 0x0000, 0x0, 1);
 
-    dev = xilinx_intc_create(INTC_BASEADDR, qdev_get_gpio_in(DEVICE(cpu),
-                             MB_CPU_IRQ), 0xA);
+    dev = qdev_create(NULL, "xlnx.xps-intc");
+    qdev_prop_set_uint32(dev, "kind-of-intr",
+                         1 << ETHLITE_IRQ | 1 << UARTLITE_IRQ);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0,
+                       qdev_get_gpio_in(DEVICE(cpu), MB_CPU_IRQ));
     for (i = 0; i < 32; i++) {
         irq[i] = qdev_get_gpio_in(dev, i);
     }
diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index 88312f8..1e2f532 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -218,7 +218,11 @@ static void virtex_init(QEMUMachineInitArgs *args)
                           1, 0x89, 0x18, 0x0000, 0x0, 1);
 
     cpu_irq = (qemu_irq *) &env->irq_inputs[PPC40x_INPUT_INT];
-    dev = xilinx_intc_create(0x81800000, cpu_irq[0], 0);
+    dev = qdev_create(NULL, "xlnx.xps-intc");
+    qdev_prop_set_uint32(dev, "kind-of-intr", 0);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irq[0]);
     for (i = 0; i < 32; i++) {
         irq[i] = qdev_get_gpio_in(dev, i);
     }
diff --git a/include/hw/xilinx.h b/include/hw/xilinx.h
index 9d6debe..02400cd 100644
--- a/include/hw/xilinx.h
+++ b/include/hw/xilinx.h
@@ -7,19 +7,6 @@
 #include "hw/stream.h"
 #include "net/net.h"
 
-static inline DeviceState *
-xilinx_intc_create(hwaddr base, qemu_irq irq, int kind_of_intr)
-{
-    DeviceState *dev;
-
-    dev = qdev_create(NULL, "xlnx.xps-intc");
-    qdev_prop_set_uint32(dev, "kind-of-intr", kind_of_intr);
-    qdev_init_nofail(dev);
-    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
-    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
-    return dev;
-}
-
 /* OPB Timer/Counter.  */
 static inline DeviceState *
 xilinx_timer_create(hwaddr base, qemu_irq irq, int oto, int freq)
-- 
1.8.5.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH microblaze/ppc v2 5/8] xilinx: Inline usages of xilinx_timer_create()
  2014-02-12 23:21 [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (2 preceding siblings ...)
  2014-02-12 23:24 ` [Qemu-devel] [PATCH microblaze/ppc v2 4/8] xilinx: Inline usages of xilinx_intc_create() Peter Crosthwaite
@ 2014-02-12 23:25 ` Peter Crosthwaite
  2014-02-12 23:25 ` [Qemu-devel] [PATCH microblaze/ppc v2 6/8] xilinx: Inline usage of xilinx_ethlite_create() Peter Crosthwaite
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-12 23:25 UTC (permalink / raw)
  To: qemu-devel, edgar.iglesias; +Cc: agraf

Inline these usages. Converts these init to at least a semi-recent QOM
styling.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/microblaze/petalogix_ml605_mmu.c      |  7 ++++++-
 hw/microblaze/petalogix_s3adsp1800_mmu.c |  9 ++++++++-
 hw/ppc/virtex_ml507.c                    |  7 ++++++-
 include/hw/xilinx.h                      | 15 ---------------
 4 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 0dee46c..39f91dd 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -134,7 +134,12 @@ petalogix_ml605_init(QEMUMachineInitArgs *args)
                    DEVICE_LITTLE_ENDIAN);
 
     /* 2 timers at irq 2 @ 100 Mhz.  */
-    xilinx_timer_create(TIMER_BASEADDR, irq[2], 0, 100 * 1000000);
+    dev = qdev_create(NULL, "xlnx.xps-timer");
+    qdev_prop_set_uint32(dev, "one-timer-only", 0);
+    qdev_prop_set_uint32(dev, "clock-frequency", 100 * 1000000);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, TIMER_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]);
 
     /* axi ethernet and dma initialization. */
     qemu_check_nic_model(&nd_table[0], "xlnx.axi-ethernet");
diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index cb8e334..a85dbb7 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -110,8 +110,15 @@ petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
 
     sysbus_create_simple("xlnx.xps-uartlite", UARTLITE_BASEADDR,
                          irq[UARTLITE_IRQ]);
+
     /* 2 timers at irq 2 @ 62 Mhz.  */
-    xilinx_timer_create(TIMER_BASEADDR, irq[0], 0, 62 * 1000000);
+    dev = qdev_create(NULL, "xlnx.xps-timer");
+    qdev_prop_set_uint32(dev, "one-timer-only", 0);
+    qdev_prop_set_uint32(dev, "clock-frequency", 62 * 1000000);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, TIMER_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]);
+
     xilinx_ethlite_create(&nd_table[0], ETHLITE_BASEADDR, irq[1], 0, 0);
 
     microblaze_load_kernel(cpu, ddr_base, ram_size,
diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index 1e2f532..4dffb96 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -231,7 +231,12 @@ static void virtex_init(QEMUMachineInitArgs *args)
                    115200, serial_hds[0], DEVICE_LITTLE_ENDIAN);
 
     /* 2 timers at irq 2 @ 62 Mhz.  */
-    xilinx_timer_create(0x83c00000, irq[3], 0, 62 * 1000000);
+    dev = qdev_create(NULL, "xlnx.xps-timer");
+    qdev_prop_set_uint32(dev, "one-timer-only", 0);
+    qdev_prop_set_uint32(dev, "clock-frequency", 62 * 1000000);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, TIMER_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]);
 
     if (kernel_filename) {
         uint64_t entry, low, high;
diff --git a/include/hw/xilinx.h b/include/hw/xilinx.h
index 02400cd..a454cee 100644
--- a/include/hw/xilinx.h
+++ b/include/hw/xilinx.h
@@ -7,21 +7,6 @@
 #include "hw/stream.h"
 #include "net/net.h"
 
-/* OPB Timer/Counter.  */
-static inline DeviceState *
-xilinx_timer_create(hwaddr base, qemu_irq irq, int oto, int freq)
-{
-    DeviceState *dev;
-
-    dev = qdev_create(NULL, "xlnx.xps-timer");
-    qdev_prop_set_uint32(dev, "one-timer-only", oto);
-    qdev_prop_set_uint32(dev, "clock-frequency", freq);
-    qdev_init_nofail(dev);
-    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
-    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
-    return dev;
-}
-
 /* XPS Ethernet Lite MAC.  */
 static inline DeviceState *
 xilinx_ethlite_create(NICInfo *nd, hwaddr base, qemu_irq irq,
-- 
1.8.5.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH microblaze/ppc v2 6/8] xilinx: Inline usage of xilinx_ethlite_create()
  2014-02-12 23:21 [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (3 preceding siblings ...)
  2014-02-12 23:25 ` [Qemu-devel] [PATCH microblaze/ppc v2 5/8] xilinx: Inline usages of xilinx_timer_create() Peter Crosthwaite
@ 2014-02-12 23:25 ` Peter Crosthwaite
  2014-02-12 23:26 ` [Qemu-devel] [PATCH microblaze/ppc v2 7/8] xilinx: Inline usages of xilinx_axi*_init() Peter Crosthwaite
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-12 23:25 UTC (permalink / raw)
  To: qemu-devel, edgar.iglesias; +Cc: agraf

Inline the only usage. Converts this init to at least a semi-recent QOM
styling.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/microblaze/petalogix_s3adsp1800_mmu.c |  9 ++++++++-
 include/hw/xilinx.h                      | 19 -------------------
 2 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index a85dbb7..408e0a4 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -119,7 +119,14 @@ petalogix_s3adsp1800_init(QEMUMachineInitArgs *args)
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, TIMER_BASEADDR);
     sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]);
 
-    xilinx_ethlite_create(&nd_table[0], ETHLITE_BASEADDR, irq[1], 0, 0);
+    qemu_check_nic_model(&nd_table[0], "xlnx.xps-ethernetlite");
+    dev = qdev_create(NULL, "xlnx.xps-ethernetlite");
+    qdev_set_nic_properties(dev, &nd_table[0]);
+    qdev_prop_set_uint32(dev, "tx-ping-pong", 0);
+    qdev_prop_set_uint32(dev, "rx-ping-pong", 0);
+    qdev_init_nofail(dev);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, ETHLITE_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[ETHLITE_IRQ]);
 
     microblaze_load_kernel(cpu, ddr_base, ram_size,
                            args->initrd_filename,
diff --git a/include/hw/xilinx.h b/include/hw/xilinx.h
index a454cee..161f9ec 100644
--- a/include/hw/xilinx.h
+++ b/include/hw/xilinx.h
@@ -7,25 +7,6 @@
 #include "hw/stream.h"
 #include "net/net.h"
 
-/* XPS Ethernet Lite MAC.  */
-static inline DeviceState *
-xilinx_ethlite_create(NICInfo *nd, hwaddr base, qemu_irq irq,
-                      int txpingpong, int rxpingpong)
-{
-    DeviceState *dev;
-
-    qemu_check_nic_model(nd, "xlnx.xps-ethernetlite");
-
-    dev = qdev_create(NULL, "xlnx.xps-ethernetlite");
-    qdev_set_nic_properties(dev, nd);
-    qdev_prop_set_uint32(dev, "tx-ping-pong", txpingpong);
-    qdev_prop_set_uint32(dev, "rx-ping-pong", rxpingpong);
-    qdev_init_nofail(dev);
-    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
-    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
-    return dev;
-}
-
 static inline void
 xilinx_axiethernet_init(DeviceState *dev, NICInfo *nd, StreamSlave *ds,
                         StreamSlave *cs, hwaddr base, qemu_irq irq, int txmem,
-- 
1.8.5.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH microblaze/ppc v2 7/8] xilinx: Inline usages of xilinx_axi*_init()
  2014-02-12 23:21 [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (4 preceding siblings ...)
  2014-02-12 23:25 ` [Qemu-devel] [PATCH microblaze/ppc v2 6/8] xilinx: Inline usage of xilinx_ethlite_create() Peter Crosthwaite
@ 2014-02-12 23:26 ` Peter Crosthwaite
  2014-02-12 23:27 ` [Qemu-devel] [PATCH microblaze/ppc v2 8/8] xilinx: Delete hw/include/xilinx.h Peter Crosthwaite
  2014-02-25  8:46 ` [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
  7 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-12 23:26 UTC (permalink / raw)
  To: qemu-devel, edgar.iglesias; +Cc: agraf

Inline the only usage of each of xilinx_axiethernet_init and
xilinx_axidma_init. Converts this init to at least a semi-recent QOM
styling.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/microblaze/petalogix_ml605_mmu.c | 24 +++++++++++++++++++-----
 include/hw/xilinx.h                 | 33 ---------------------------------
 2 files changed, 19 insertions(+), 38 deletions(-)

diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 39f91dd..347889f 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -156,16 +156,30 @@ petalogix_ml605_init(QEMUMachineInitArgs *args)
                                   "axistream-connected-target", NULL);
     cs = object_property_get_link(OBJECT(dma),
                                   "axistream-control-connected-target", NULL);
-    xilinx_axiethernet_init(eth0, &nd_table[0], STREAM_SLAVE(ds),
-                            STREAM_SLAVE(cs), 0x82780000, irq[3], 0x1000,
-                            0x1000);
+    qdev_set_nic_properties(eth0, &nd_table[0]);
+    qdev_prop_set_uint32(eth0, "rxmem", 0x1000);
+    qdev_prop_set_uint32(eth0, "txmem", 0x1000);
+    object_property_set_link(OBJECT(eth0), OBJECT(ds),
+                             "axistream-connected", &error_abort);
+    object_property_set_link(OBJECT(eth0), OBJECT(cs),
+                             "axistream-control-connected", &error_abort);
+    qdev_init_nofail(eth0);
+    sysbus_mmio_map(SYS_BUS_DEVICE(eth0), 0, AXIENET_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(eth0), 0, irq[AXIENET_IRQ]);
 
     ds = object_property_get_link(OBJECT(eth0),
                                   "axistream-connected-target", NULL);
     cs = object_property_get_link(OBJECT(eth0),
                                   "axistream-control-connected-target", NULL);
-    xilinx_axidma_init(dma, STREAM_SLAVE(ds), STREAM_SLAVE(cs), 0x84600000,
-                       irq[1], irq[0], 100 * 1000000);
+    qdev_prop_set_uint32(dma, "freqhz", 100 * 1000000);
+    object_property_set_link(OBJECT(dma), OBJECT(ds),
+                             "axistream-connected", &error_abort);
+    object_property_set_link(OBJECT(dma), OBJECT(cs),
+                             "axistream-control-connected", &error_abort);
+    qdev_init_nofail(dma);
+    sysbus_mmio_map(SYS_BUS_DEVICE(dma), 0, AXIDMA_BASEADDR);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dma), 0, irq[AXIDMA_IRQ0]);
+    sysbus_connect_irq(SYS_BUS_DEVICE(dma), 1, irq[AXIDMA_IRQ1]);
 
     {
         SSIBus *spi;
diff --git a/include/hw/xilinx.h b/include/hw/xilinx.h
index 161f9ec..f06d913 100644
--- a/include/hw/xilinx.h
+++ b/include/hw/xilinx.h
@@ -7,37 +7,4 @@
 #include "hw/stream.h"
 #include "net/net.h"
 
-static inline void
-xilinx_axiethernet_init(DeviceState *dev, NICInfo *nd, StreamSlave *ds,
-                        StreamSlave *cs, hwaddr base, qemu_irq irq, int txmem,
-                        int rxmem)
-{
-    qdev_set_nic_properties(dev, nd);
-    qdev_prop_set_uint32(dev, "rxmem", rxmem);
-    qdev_prop_set_uint32(dev, "txmem", txmem);
-    object_property_set_link(OBJECT(dev), OBJECT(ds),
-                             "axistream-connected", &error_abort);
-    object_property_set_link(OBJECT(dev), OBJECT(cs),
-                             "axistream-control-connected", &error_abort);
-    qdev_init_nofail(dev);
-    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
-    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
-}
-
-static inline void
-xilinx_axidma_init(DeviceState *dev, StreamSlave *ds, StreamSlave *cs,
-                   hwaddr base, qemu_irq irq, qemu_irq irq2, int freqhz)
-{
-    qdev_prop_set_uint32(dev, "freqhz", freqhz);
-    object_property_set_link(OBJECT(dev), OBJECT(ds),
-                             "axistream-connected", &error_abort);
-    object_property_set_link(OBJECT(dev), OBJECT(cs),
-                             "axistream-control-connected", &error_abort);
-    qdev_init_nofail(dev);
-
-    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
-    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
-    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 1, irq2);
-}
-
 #endif
-- 
1.8.5.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH microblaze/ppc v2 8/8] xilinx: Delete hw/include/xilinx.h
  2014-02-12 23:21 [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (5 preceding siblings ...)
  2014-02-12 23:26 ` [Qemu-devel] [PATCH microblaze/ppc v2 7/8] xilinx: Inline usages of xilinx_axi*_init() Peter Crosthwaite
@ 2014-02-12 23:27 ` Peter Crosthwaite
  2014-02-25  8:46 ` [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
  7 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-12 23:27 UTC (permalink / raw)
  To: qemu-devel, edgar.iglesias; +Cc: agraf

This is now obsolete - remove the header and all its inclusions.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---

 hw/microblaze/petalogix_ml605_mmu.c      |  1 -
 hw/microblaze/petalogix_s3adsp1800_mmu.c |  1 -
 hw/ppc/virtex_ml507.c                    |  2 +-
 include/hw/xilinx.h                      | 10 ----------
 4 files changed, 1 insertion(+), 13 deletions(-)
 delete mode 100644 include/hw/xilinx.h

diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 347889f..40a9f5c 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -32,7 +32,6 @@
 #include "sysemu/sysemu.h"
 #include "hw/devices.h"
 #include "hw/boards.h"
-#include "hw/xilinx.h"
 #include "sysemu/blockdev.h"
 #include "hw/char/serial.h"
 #include "exec/address-spaces.h"
diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index 408e0a4..6c45e20 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -30,7 +30,6 @@
 #include "sysemu/sysemu.h"
 #include "hw/devices.h"
 #include "hw/boards.h"
-#include "hw/xilinx.h"
 #include "sysemu/blockdev.h"
 #include "exec/address-spaces.h"
 
diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index 4dffb96..85a0e53 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -40,7 +40,7 @@
 #include "ppc405.h"
 
 #include "sysemu/blockdev.h"
-#include "hw/xilinx.h"
+#include "qapi/qmp/qerror.h"
 
 #define EPAPR_MAGIC    (0x45504150)
 #define FLASH_SIZE     (16 * 1024 * 1024)
diff --git a/include/hw/xilinx.h b/include/hw/xilinx.h
deleted file mode 100644
index f06d913..0000000
--- a/include/hw/xilinx.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef HW_XILINX_H
-#define HW_XILINX_H 1
-
-
-#include "qemu-common.h"
-#include "qapi/qmp/qerror.h"
-#include "hw/stream.h"
-#include "net/net.h"
-
-#endif
-- 
1.8.5.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h
  2014-02-12 23:21 [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (6 preceding siblings ...)
  2014-02-12 23:27 ` [Qemu-devel] [PATCH microblaze/ppc v2 8/8] xilinx: Delete hw/include/xilinx.h Peter Crosthwaite
@ 2014-02-25  8:46 ` Peter Crosthwaite
  2014-02-25 23:24   ` Edgar E. Iglesias
  7 siblings, 1 reply; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-25  8:46 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers, Edgar E. Iglesias; +Cc: Alexander Graf

Ping!

On Thu, Feb 13, 2014 at 9:21 AM, Peter Crosthwaite
<peter.crosthwaite@xilinx.com> wrote:
> Hi Edgar,
>
> This file is written for a very old qdev style of machine description.
> Remove by inlining all usages of its functions (which is consistent with
> the modern preference that qdev_initery should be inline and not in
> cross-board helper functions).
>
> To avoid movement of magic numbers, Define macros for IRQ and memory
> maps as appropriate. This cleanup comes first, followed by the
> piecewise removal of xilinx.h.
>
> Regards,
> Peter
>
>
> Peter Crosthwaite (8):
>   microblaze/s3adsp_1800: Define macros for irq map
>   ppc/virtex_ml507: Define macros for irq/memory maps
>   microblaze/ml605: Define macros for irq/memory maps
>   xilinx: Inline usages of xilinx_intc_create()
>   xilinx: Inline usages of xilinx_timer_create()
>   xilinx: Inline usage of xilinx_ethlite_create()
>   xilinx: Inline usages of xilinx_axi*_init()
>   xilinx: Delete hw/include/xilinx.h
>
>  hw/microblaze/petalogix_ml605_mmu.c      | 55 ++++++++++++++-----
>  hw/microblaze/petalogix_s3adsp1800_mmu.c | 35 ++++++++++---
>  hw/ppc/virtex_ml507.c                    | 29 +++++++---
>  include/hw/xilinx.h                      | 90 --------------------------------
>  4 files changed, 95 insertions(+), 114 deletions(-)
>  delete mode 100644 include/hw/xilinx.h
>
> --
> 1.8.5.4
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h
  2014-02-25  8:46 ` [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
@ 2014-02-25 23:24   ` Edgar E. Iglesias
  0 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2014-02-25 23:24 UTC (permalink / raw)
  To: Peter Crosthwaite; +Cc: qemu-devel@nongnu.org Developers, Alexander Graf

On Tue, Feb 25, 2014 at 06:46:32PM +1000, Peter Crosthwaite wrote:
> Ping!
> 

Hi Peter,

Can you please repost path nr 3, it never reached me. I'll give it
a testrun and apply.

Thanks,
Edgar


> On Thu, Feb 13, 2014 at 9:21 AM, Peter Crosthwaite
> <peter.crosthwaite@xilinx.com> wrote:
> > Hi Edgar,
> >
> > This file is written for a very old qdev style of machine description.
> > Remove by inlining all usages of its functions (which is consistent with
> > the modern preference that qdev_initery should be inline and not in
> > cross-board helper functions).
> >
> > To avoid movement of magic numbers, Define macros for IRQ and memory
> > maps as appropriate. This cleanup comes first, followed by the
> > piecewise removal of xilinx.h.
> >
> > Regards,
> > Peter
> >
> >
> > Peter Crosthwaite (8):
> >   microblaze/s3adsp_1800: Define macros for irq map
> >   ppc/virtex_ml507: Define macros for irq/memory maps
> >   microblaze/ml605: Define macros for irq/memory maps
> >   xilinx: Inline usages of xilinx_intc_create()
> >   xilinx: Inline usages of xilinx_timer_create()
> >   xilinx: Inline usage of xilinx_ethlite_create()
> >   xilinx: Inline usages of xilinx_axi*_init()
> >   xilinx: Delete hw/include/xilinx.h
> >
> >  hw/microblaze/petalogix_ml605_mmu.c      | 55 ++++++++++++++-----
> >  hw/microblaze/petalogix_s3adsp1800_mmu.c | 35 ++++++++++---
> >  hw/ppc/virtex_ml507.c                    | 29 +++++++---
> >  include/hw/xilinx.h                      | 90 --------------------------------
> >  4 files changed, 95 insertions(+), 114 deletions(-)
> >  delete mode 100644 include/hw/xilinx.h
> >
> > --
> > 1.8.5.4
> >

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-02-25 23:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-12 23:21 [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
2014-02-12 23:22 ` [Qemu-devel] [PATCH microblaze/ppc v2 1/8] microblaze/s3adsp_1800: Define macros for irq map Peter Crosthwaite
2014-02-12 23:23 ` [Qemu-devel] [PATCH microblaze/ppc v2 2/8] ppc/virtex_ml507: Define macros for irq/memory maps Peter Crosthwaite
2014-02-12 23:24 ` [Qemu-devel] [PATCH microblaze/ppc v2 4/8] xilinx: Inline usages of xilinx_intc_create() Peter Crosthwaite
2014-02-12 23:25 ` [Qemu-devel] [PATCH microblaze/ppc v2 5/8] xilinx: Inline usages of xilinx_timer_create() Peter Crosthwaite
2014-02-12 23:25 ` [Qemu-devel] [PATCH microblaze/ppc v2 6/8] xilinx: Inline usage of xilinx_ethlite_create() Peter Crosthwaite
2014-02-12 23:26 ` [Qemu-devel] [PATCH microblaze/ppc v2 7/8] xilinx: Inline usages of xilinx_axi*_init() Peter Crosthwaite
2014-02-12 23:27 ` [Qemu-devel] [PATCH microblaze/ppc v2 8/8] xilinx: Delete hw/include/xilinx.h Peter Crosthwaite
2014-02-25  8:46 ` [Qemu-devel] [PATCH microblaze/ppc v2 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
2014-02-25 23:24   ` Edgar E. Iglesias

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.