All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h
@ 2014-02-26  0:37 Peter Crosthwaite
  2014-02-26  0:38 ` [Qemu-devel] [PATCH microblaze/ppc v3 1/8] microblaze/s3adsp_1800: Define macros for irq map Peter Crosthwaite
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-26  0:37 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.9.0.1.g4196000

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

* [Qemu-devel] [PATCH microblaze/ppc v3 1/8] microblaze/s3adsp_1800: Define macros for irq map
  2014-02-26  0:37 [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
@ 2014-02-26  0:38 ` Peter Crosthwaite
  2014-02-26  0:38 ` [Qemu-devel] [PATCH microblaze/ppc v3 2/8] ppc/virtex_ml507: Define macros for irq/memory maps Peter Crosthwaite
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-26  0:38 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.9.0.1.g4196000

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

* [Qemu-devel] [PATCH microblaze/ppc v3 2/8] ppc/virtex_ml507: Define macros for irq/memory maps
  2014-02-26  0:37 [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
  2014-02-26  0:38 ` [Qemu-devel] [PATCH microblaze/ppc v3 1/8] microblaze/s3adsp_1800: Define macros for irq map Peter Crosthwaite
@ 2014-02-26  0:38 ` Peter Crosthwaite
  2014-02-26  0:39 ` [Qemu-devel] [PATCH microblaze/ppc v3 3/8] microblaze/ml605: " Peter Crosthwaite
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-26  0:38 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.9.0.1.g4196000

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

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

Define (missing) 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/microblaze/petalogix_ml605_mmu.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 37cbbfd..48a0a3e 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -49,6 +49,7 @@
 
 #define NUM_SPI_FLASHES 4
 
+#define SPI_BASEADDR 0x40a00000
 #define MEMORY_BASEADDR 0x50000000
 #define FLASH_BASEADDR 0x86000000
 #define INTC_BASEADDR 0x81800000
@@ -57,6 +58,13 @@
 #define AXIENET_BASEADDR 0x82780000
 #define AXIDMA_BASEADDR 0x84600000
 
+#define AXIDMA_IRQ1         0
+#define AXIDMA_IRQ0         1
+#define TIMER_IRQ           2
+#define AXIENET_IRQ         3
+#define SPI_IRQ             4
+#define UART16550_IRQ       5
+
 static void machine_cpu_reset(MicroBlazeCPU *cpu)
 {
     CPUMBState *env = &cpu->env;
@@ -118,7 +126,8 @@ petalogix_ml605_init(QEMUMachineInitArgs *args)
     }
 
     serial_mm_init(address_space_mem, UART16550_BASEADDR + 0x1000, 2,
-                   irq[5], 115200, serial_hds[0], DEVICE_LITTLE_ENDIAN);
+                   irq[UART16550_IRQ], 115200, serial_hds[0],
+                   DEVICE_LITTLE_ENDIAN);
 
     /* 2 timers at irq 2 @ 100 Mhz.  */
     xilinx_timer_create(TIMER_BASEADDR, irq[2], 0, 100 * 1000000);
@@ -156,8 +165,8 @@ petalogix_ml605_init(QEMUMachineInitArgs *args)
         qdev_prop_set_uint8(dev, "num-ss-bits", NUM_SPI_FLASHES);
         qdev_init_nofail(dev);
         busdev = SYS_BUS_DEVICE(dev);
-        sysbus_mmio_map(busdev, 0, 0x40a00000);
-        sysbus_connect_irq(busdev, 0, irq[4]);
+        sysbus_mmio_map(busdev, 0, SPI_BASEADDR);
+        sysbus_connect_irq(busdev, 0, irq[SPI_IRQ]);
 
         spi = (SSIBus *)qdev_get_child_bus(dev, "spi");
 
-- 
1.9.0.1.g4196000

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

* [Qemu-devel] [PATCH microblaze/ppc v3 4/8] xilinx: Inline usages of xilinx_intc_create()
  2014-02-26  0:37 [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (2 preceding siblings ...)
  2014-02-26  0:39 ` [Qemu-devel] [PATCH microblaze/ppc v3 3/8] microblaze/ml605: " Peter Crosthwaite
@ 2014-02-26  0:40 ` Peter Crosthwaite
  2014-02-26  0:40 ` [Qemu-devel] [PATCH microblaze/ppc v3 5/8] xilinx: Inline usages of xilinx_timer_create() Peter Crosthwaite
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-26  0:40 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.9.0.1.g4196000

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

* [Qemu-devel] [PATCH microblaze/ppc v3 5/8] xilinx: Inline usages of xilinx_timer_create()
  2014-02-26  0:37 [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (3 preceding siblings ...)
  2014-02-26  0:40 ` [Qemu-devel] [PATCH microblaze/ppc v3 4/8] xilinx: Inline usages of xilinx_intc_create() Peter Crosthwaite
@ 2014-02-26  0:40 ` Peter Crosthwaite
  2014-02-26  0:41 ` [Qemu-devel] [PATCH microblaze/ppc v3 6/8] xilinx: Inline usage of xilinx_ethlite_create() Peter Crosthwaite
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-26  0:40 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.9.0.1.g4196000

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

* [Qemu-devel] [PATCH microblaze/ppc v3 6/8] xilinx: Inline usage of xilinx_ethlite_create()
  2014-02-26  0:37 [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (4 preceding siblings ...)
  2014-02-26  0:40 ` [Qemu-devel] [PATCH microblaze/ppc v3 5/8] xilinx: Inline usages of xilinx_timer_create() Peter Crosthwaite
@ 2014-02-26  0:41 ` Peter Crosthwaite
  2014-02-26  0:41 ` [Qemu-devel] [PATCH microblaze/ppc v3 7/8] xilinx: Inline usages of xilinx_axi*_init() Peter Crosthwaite
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-26  0:41 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.9.0.1.g4196000

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

* [Qemu-devel] [PATCH microblaze/ppc v3 7/8] xilinx: Inline usages of xilinx_axi*_init()
  2014-02-26  0:37 [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (5 preceding siblings ...)
  2014-02-26  0:41 ` [Qemu-devel] [PATCH microblaze/ppc v3 6/8] xilinx: Inline usage of xilinx_ethlite_create() Peter Crosthwaite
@ 2014-02-26  0:41 ` Peter Crosthwaite
  2014-02-26  0:42 ` [Qemu-devel] [PATCH microblaze/ppc v3 8/8] xilinx: Delete hw/include/xilinx.h Peter Crosthwaite
  2014-02-26  5:15 ` [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Edgar E. Iglesias
  8 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-26  0:41 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.9.0.1.g4196000

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

* [Qemu-devel] [PATCH microblaze/ppc v3 8/8] xilinx: Delete hw/include/xilinx.h
  2014-02-26  0:37 [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (6 preceding siblings ...)
  2014-02-26  0:41 ` [Qemu-devel] [PATCH microblaze/ppc v3 7/8] xilinx: Inline usages of xilinx_axi*_init() Peter Crosthwaite
@ 2014-02-26  0:42 ` Peter Crosthwaite
  2014-02-26  5:15 ` [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Edgar E. Iglesias
  8 siblings, 0 replies; 10+ messages in thread
From: Peter Crosthwaite @ 2014-02-26  0:42 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.9.0.1.g4196000

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

* Re: [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h
  2014-02-26  0:37 [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
                   ` (7 preceding siblings ...)
  2014-02-26  0:42 ` [Qemu-devel] [PATCH microblaze/ppc v3 8/8] xilinx: Delete hw/include/xilinx.h Peter Crosthwaite
@ 2014-02-26  5:15 ` Edgar E. Iglesias
  8 siblings, 0 replies; 10+ messages in thread
From: Edgar E. Iglesias @ 2014-02-26  5:15 UTC (permalink / raw)
  To: Peter Crosthwaite; +Cc: qemu-devel, agraf

On Tue, Feb 25, 2014 at 04:37:43PM -0800, Peter Crosthwaite 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.


Applied, thanks Peter.

Cheers,
Edgar



> 
> 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.9.0.1.g4196000
> 

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

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

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-26  0:37 [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h Peter Crosthwaite
2014-02-26  0:38 ` [Qemu-devel] [PATCH microblaze/ppc v3 1/8] microblaze/s3adsp_1800: Define macros for irq map Peter Crosthwaite
2014-02-26  0:38 ` [Qemu-devel] [PATCH microblaze/ppc v3 2/8] ppc/virtex_ml507: Define macros for irq/memory maps Peter Crosthwaite
2014-02-26  0:39 ` [Qemu-devel] [PATCH microblaze/ppc v3 3/8] microblaze/ml605: " Peter Crosthwaite
2014-02-26  0:40 ` [Qemu-devel] [PATCH microblaze/ppc v3 4/8] xilinx: Inline usages of xilinx_intc_create() Peter Crosthwaite
2014-02-26  0:40 ` [Qemu-devel] [PATCH microblaze/ppc v3 5/8] xilinx: Inline usages of xilinx_timer_create() Peter Crosthwaite
2014-02-26  0:41 ` [Qemu-devel] [PATCH microblaze/ppc v3 6/8] xilinx: Inline usage of xilinx_ethlite_create() Peter Crosthwaite
2014-02-26  0:41 ` [Qemu-devel] [PATCH microblaze/ppc v3 7/8] xilinx: Inline usages of xilinx_axi*_init() Peter Crosthwaite
2014-02-26  0:42 ` [Qemu-devel] [PATCH microblaze/ppc v3 8/8] xilinx: Delete hw/include/xilinx.h Peter Crosthwaite
2014-02-26  5:15 ` [Qemu-devel] [PATCH microblaze/ppc v3 0/8] Remove include/hw/xilinx.h 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.