diff mbox

[target-arm,v3,12/15] arm: Add xlnx-ep108 machine

Message ID 3039f1796fd458907dd197e88a3870d9cdbc73ce.1426507460.git.peter.crosthwaite@xilinx.com
State New
Headers show

Commit Message

Peter Crosthwaite March 16, 2015, 12:12 p.m. UTC
Add a machine model for the Xilinx ZynqMP SoC EP108 board.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
---
Chaned since v1:
Change board name to ep108

 hw/arm/Makefile.objs |  2 +-
 hw/arm/xlnx-ep108.c  | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+), 1 deletion(-)
 create mode 100644 hw/arm/xlnx-ep108.c

Comments

Alistair Francis March 18, 2015, 5:18 a.m. UTC | #1
On Mon, Mar 16, 2015 at 10:12 PM, Peter Crosthwaite
<peter.crosthwaite@xilinx.com> wrote:
> Add a machine model for the Xilinx ZynqMP SoC EP108 board.
>
> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
> ---
> Chaned since v1:
> Change board name to ep108
>
>  hw/arm/Makefile.objs |  2 +-
>  hw/arm/xlnx-ep108.c  | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 53 insertions(+), 1 deletion(-)
>  create mode 100644 hw/arm/xlnx-ep108.c
>
> diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
> index d7cd5f4..a75a182 100644
> --- a/hw/arm/Makefile.objs
> +++ b/hw/arm/Makefile.objs
> @@ -10,4 +10,4 @@ obj-$(CONFIG_DIGIC) += digic.o
>  obj-y += omap1.o omap2.o strongarm.o
>  obj-$(CONFIG_ALLWINNER_A10) += allwinner-a10.o cubieboard.o
>  obj-$(CONFIG_STM32F205_SOC) += stm32f205_soc.o
> -obj-$(CONFIG_XLNX_ZYNQMP) += xlnx-zynqmp.o
> +obj-$(CONFIG_XLNX_ZYNQMP) += xlnx-zynqmp.o xlnx-ep108.o
> diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c
> new file mode 100644
> index 0000000..eec3e94
> --- /dev/null
> +++ b/hw/arm/xlnx-ep108.c
> @@ -0,0 +1,52 @@
> +/*
> + * Xilinx ZynqMP SoC EP108 board

Hey Peter,

Shouldn't it just be 'Xilinx ZynqMP EP108 board'?

> + *
> + * Copyright (C) 2015 Xilinx Inc
> + * Written by Peter Crosthwaite <peter.crosthwaite@xilinx.com>
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful, but WITHOUT
> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
> + * for more details.
> + */
> +
> +#include "hw/arm/xlnx-zynqmp.h"
> +#include "hw/boards.h"
> +#include "qemu/error-report.h"
> +
> +typedef struct XlnxEP108 {
> +    XlnxZynqMPState soc;
> +} XlnxEP108;
> +
> +static void xlnx_ep108_init(MachineState *machine)
> +{
> +    XlnxEP108 *s = g_new0(XlnxEP108, 1);
> +    Error *err = NULL;
> +
> +    object_initialize(&s->soc, sizeof(s->soc), TYPE_XLNX_ZYNQMP);
> +    object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc), NULL);

I think this is the only error property that isn't being use. There
should probably be one here.

> +
> +    object_property_set_bool(OBJECT(&s->soc), true, "realized", &err);
> +    if (err) {
> +        error_report("%s", error_get_pretty(err));
> +        exit(1);
> +    }
> +}
> +
> +static QEMUMachine xlnx_ep108_machine = {
> +    .name = "xlnx-ep108",
> +    .desc = "Xilinx ZynqMP SoC EP108 board",

Same as above. This is the board and we don't call it ZynqMP SoC
anywhere else that I know of (outside of QEMU).

Thanks,

Alistair

> +    .init = xlnx_ep108_init,
> +};
> +
> +static void xlnx_ep108_machine_init(void)
> +{
> +    qemu_register_machine(&xlnx_ep108_machine);
> +}
> +
> +machine_init(xlnx_ep108_machine_init);
> --
> 2.3.1.2.g90df61e.dirty
>
>
Peter Crosthwaite March 23, 2015, 10:53 a.m. UTC | #2
On Wed, Mar 18, 2015 at 10:48 AM, Alistair Francis
<alistair.francis@xilinx.com> wrote:
> On Mon, Mar 16, 2015 at 10:12 PM, Peter Crosthwaite
> <peter.crosthwaite@xilinx.com> wrote:
>> Add a machine model for the Xilinx ZynqMP SoC EP108 board.
>>
>> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
>> ---
>> Chaned since v1:
>> Change board name to ep108
>>
>>  hw/arm/Makefile.objs |  2 +-
>>  hw/arm/xlnx-ep108.c  | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>>  2 files changed, 53 insertions(+), 1 deletion(-)
>>  create mode 100644 hw/arm/xlnx-ep108.c
>>
>> diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
>> index d7cd5f4..a75a182 100644
>> --- a/hw/arm/Makefile.objs
>> +++ b/hw/arm/Makefile.objs
>> @@ -10,4 +10,4 @@ obj-$(CONFIG_DIGIC) += digic.o
>>  obj-y += omap1.o omap2.o strongarm.o
>>  obj-$(CONFIG_ALLWINNER_A10) += allwinner-a10.o cubieboard.o
>>  obj-$(CONFIG_STM32F205_SOC) += stm32f205_soc.o
>> -obj-$(CONFIG_XLNX_ZYNQMP) += xlnx-zynqmp.o
>> +obj-$(CONFIG_XLNX_ZYNQMP) += xlnx-zynqmp.o xlnx-ep108.o
>> diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c
>> new file mode 100644
>> index 0000000..eec3e94
>> --- /dev/null
>> +++ b/hw/arm/xlnx-ep108.c
>> @@ -0,0 +1,52 @@
>> +/*
>> + * Xilinx ZynqMP SoC EP108 board
>
> Hey Peter,
>
> Shouldn't it just be 'Xilinx ZynqMP EP108 board'?
>

Fixed.

>> + *
>> + * Copyright (C) 2015 Xilinx Inc
>> + * Written by Peter Crosthwaite <peter.crosthwaite@xilinx.com>
>> + *
>> + * This program is free software; you can redistribute it and/or modify it
>> + * under the terms of the GNU General Public License as published by the
>> + * Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful, but WITHOUT
>> + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> + * for more details.
>> + */
>> +
>> +#include "hw/arm/xlnx-zynqmp.h"
>> +#include "hw/boards.h"
>> +#include "qemu/error-report.h"
>> +
>> +typedef struct XlnxEP108 {
>> +    XlnxZynqMPState soc;
>> +} XlnxEP108;
>> +
>> +static void xlnx_ep108_init(MachineState *machine)
>> +{
>> +    XlnxEP108 *s = g_new0(XlnxEP108, 1);
>> +    Error *err = NULL;
>> +
>> +    object_initialize(&s->soc, sizeof(s->soc), TYPE_XLNX_ZYNQMP);
>> +    object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc), NULL);
>
> I think this is the only error property that isn't being use. There
> should probably be one here.
>

Fixed with &error_abort.

>> +
>> +    object_property_set_bool(OBJECT(&s->soc), true, "realized", &err);
>> +    if (err) {
>> +        error_report("%s", error_get_pretty(err));
>> +        exit(1);
>> +    }
>> +}
>> +
>> +static QEMUMachine xlnx_ep108_machine = {
>> +    .name = "xlnx-ep108",
>> +    .desc = "Xilinx ZynqMP SoC EP108 board",
>
> Same as above. This is the board and we don't call it ZynqMP SoC
> anywhere else that I know of (outside of QEMU).
>

Fixed.

Regards,
Peter

> Thanks,
>
> Alistair
>
>> +    .init = xlnx_ep108_init,
>> +};
>> +
>> +static void xlnx_ep108_machine_init(void)
>> +{
>> +    qemu_register_machine(&xlnx_ep108_machine);
>> +}
>> +
>> +machine_init(xlnx_ep108_machine_init);
>> --
>> 2.3.1.2.g90df61e.dirty
>>
>>
>
diff mbox

Patch

diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index d7cd5f4..a75a182 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -10,4 +10,4 @@  obj-$(CONFIG_DIGIC) += digic.o
 obj-y += omap1.o omap2.o strongarm.o
 obj-$(CONFIG_ALLWINNER_A10) += allwinner-a10.o cubieboard.o
 obj-$(CONFIG_STM32F205_SOC) += stm32f205_soc.o
-obj-$(CONFIG_XLNX_ZYNQMP) += xlnx-zynqmp.o
+obj-$(CONFIG_XLNX_ZYNQMP) += xlnx-zynqmp.o xlnx-ep108.o
diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c
new file mode 100644
index 0000000..eec3e94
--- /dev/null
+++ b/hw/arm/xlnx-ep108.c
@@ -0,0 +1,52 @@ 
+/*
+ * Xilinx ZynqMP SoC EP108 board
+ *
+ * Copyright (C) 2015 Xilinx Inc
+ * Written by Peter Crosthwaite <peter.crosthwaite@xilinx.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ */
+
+#include "hw/arm/xlnx-zynqmp.h"
+#include "hw/boards.h"
+#include "qemu/error-report.h"
+
+typedef struct XlnxEP108 {
+    XlnxZynqMPState soc;
+} XlnxEP108;
+
+static void xlnx_ep108_init(MachineState *machine)
+{
+    XlnxEP108 *s = g_new0(XlnxEP108, 1);
+    Error *err = NULL;
+
+    object_initialize(&s->soc, sizeof(s->soc), TYPE_XLNX_ZYNQMP);
+    object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc), NULL);
+
+    object_property_set_bool(OBJECT(&s->soc), true, "realized", &err);
+    if (err) {
+        error_report("%s", error_get_pretty(err));
+        exit(1);
+    }
+}
+
+static QEMUMachine xlnx_ep108_machine = {
+    .name = "xlnx-ep108",
+    .desc = "Xilinx ZynqMP SoC EP108 board",
+    .init = xlnx_ep108_init,
+};
+
+static void xlnx_ep108_machine_init(void)
+{
+    qemu_register_machine(&xlnx_ep108_machine);
+}
+
+machine_init(xlnx_ep108_machine_init);