Message ID | 1469456683-25891-2-git-send-email-clg@kaod.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jul 25, 2016 at 04:24:41PM +0200, Cédric Le Goater wrote: > spapr_pci would also be a good candidate but the macro _FDT is > slightly different. It returns and does not exit. > > Signed-off-by: Cédric Le Goater <clg@kaod.org> Ugh, I so want to get rid of that ugly macro. It may be a while before I have time to revisit my qdt cleanups though, so in the mentime we might as well have only one definition of the thing. Applied to ppc-for-2.8. > --- > hw/ppc/spapr.c | 11 +---------- > hw/ppc/spapr_events.c | 11 +---------- > include/hw/ppc/fdt.h | 23 +++++++++++++++++++++++ > 3 files changed, 25 insertions(+), 20 deletions(-) > create mode 100644 include/hw/ppc/fdt.h > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index 9193ac2c122b..538ff5a46768 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -47,6 +47,7 @@ > #include "hw/ppc/ppc.h" > #include "hw/loader.h" > > +#include "hw/ppc/fdt.h" > #include "hw/ppc/spapr.h" > #include "hw/ppc/spapr_vio.h" > #include "hw/pci-host/spapr.h" > @@ -299,16 +300,6 @@ static hwaddr spapr_node0_size(void) > return machine->ram_size; > } > > -#define _FDT(exp) \ > - do { \ > - int ret = (exp); \ > - if (ret < 0) { \ > - fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \ > - #exp, fdt_strerror(ret)); \ > - exit(1); \ > - } \ > - } while (0) > - > static void add_str(GString *s, const gchar *s1) > { > g_string_append_len(s, s1, strlen(s1) + 1); > diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c > index b0668b34a927..4c7b6aeab630 100644 > --- a/hw/ppc/spapr_events.c > +++ b/hw/ppc/spapr_events.c > @@ -32,6 +32,7 @@ > #include "hw/qdev.h" > #include "sysemu/device_tree.h" > > +#include "hw/ppc/fdt.h" > #include "hw/ppc/spapr.h" > #include "hw/ppc/spapr_vio.h" > #include "hw/pci/pci.h" > @@ -210,16 +211,6 @@ struct hp_log_full { > #define EVENT_MASK_HOTPLUG 0x10000000 > #define EVENT_MASK_IO 0x08000000 > > -#define _FDT(exp) \ > - do { \ > - int ret = (exp); \ > - if (ret < 0) { \ > - fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \ > - #exp, fdt_strerror(ret)); \ > - exit(1); \ > - } \ > - } while (0) > - > void spapr_events_fdt_skel(void *fdt, uint32_t check_exception_irq) > { > uint32_t irq_ranges[] = {cpu_to_be32(check_exception_irq), cpu_to_be32(1)}; > diff --git a/include/hw/ppc/fdt.h b/include/hw/ppc/fdt.h > new file mode 100644 > index 000000000000..fff3e1b57763 > --- /dev/null > +++ b/include/hw/ppc/fdt.h > @@ -0,0 +1,23 @@ > +/* > + * QEMU PowerPC helper routines for the device tree. > + * > + * Copyright (C) 2016 IBM Corp. > + * > + * This code is licensed under the GPL version 2 or later. See the > + * COPYING file in the top-level directory. > + */ > + > +#ifndef PPC_FDT_H > +#define PPC_FDT_H > + > +#define _FDT(exp) \ > + do { \ > + int ret = (exp); \ > + if (ret < 0) { \ > + fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \ > + #exp, fdt_strerror(ret)); \ > + exit(1); \ > + } \ > + } while (0) > + > +#endif /* PPC_FDT_H */
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 9193ac2c122b..538ff5a46768 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -47,6 +47,7 @@ #include "hw/ppc/ppc.h" #include "hw/loader.h" +#include "hw/ppc/fdt.h" #include "hw/ppc/spapr.h" #include "hw/ppc/spapr_vio.h" #include "hw/pci-host/spapr.h" @@ -299,16 +300,6 @@ static hwaddr spapr_node0_size(void) return machine->ram_size; } -#define _FDT(exp) \ - do { \ - int ret = (exp); \ - if (ret < 0) { \ - fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \ - #exp, fdt_strerror(ret)); \ - exit(1); \ - } \ - } while (0) - static void add_str(GString *s, const gchar *s1) { g_string_append_len(s, s1, strlen(s1) + 1); diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c index b0668b34a927..4c7b6aeab630 100644 --- a/hw/ppc/spapr_events.c +++ b/hw/ppc/spapr_events.c @@ -32,6 +32,7 @@ #include "hw/qdev.h" #include "sysemu/device_tree.h" +#include "hw/ppc/fdt.h" #include "hw/ppc/spapr.h" #include "hw/ppc/spapr_vio.h" #include "hw/pci/pci.h" @@ -210,16 +211,6 @@ struct hp_log_full { #define EVENT_MASK_HOTPLUG 0x10000000 #define EVENT_MASK_IO 0x08000000 -#define _FDT(exp) \ - do { \ - int ret = (exp); \ - if (ret < 0) { \ - fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \ - #exp, fdt_strerror(ret)); \ - exit(1); \ - } \ - } while (0) - void spapr_events_fdt_skel(void *fdt, uint32_t check_exception_irq) { uint32_t irq_ranges[] = {cpu_to_be32(check_exception_irq), cpu_to_be32(1)}; diff --git a/include/hw/ppc/fdt.h b/include/hw/ppc/fdt.h new file mode 100644 index 000000000000..fff3e1b57763 --- /dev/null +++ b/include/hw/ppc/fdt.h @@ -0,0 +1,23 @@ +/* + * QEMU PowerPC helper routines for the device tree. + * + * Copyright (C) 2016 IBM Corp. + * + * This code is licensed under the GPL version 2 or later. See the + * COPYING file in the top-level directory. + */ + +#ifndef PPC_FDT_H +#define PPC_FDT_H + +#define _FDT(exp) \ + do { \ + int ret = (exp); \ + if (ret < 0) { \ + fprintf(stderr, "qemu: error creating device tree: %s: %s\n", \ + #exp, fdt_strerror(ret)); \ + exit(1); \ + } \ + } while (0) + +#endif /* PPC_FDT_H */
spapr_pci would also be a good candidate but the macro _FDT is slightly different. It returns and does not exit. Signed-off-by: Cédric Le Goater <clg@kaod.org> --- hw/ppc/spapr.c | 11 +---------- hw/ppc/spapr_events.c | 11 +---------- include/hw/ppc/fdt.h | 23 +++++++++++++++++++++++ 3 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 include/hw/ppc/fdt.h