* [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