[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC 02/15] xen/arm: move a few guest related #defines to public/arch-arm.h



On Thu, 14 Jun 2018, Julien Grall wrote:
> Hi Stefano,
> 
> On 13/06/18 23:15, Stefano Stabellini wrote:
> > Move a few constants defined by libxl_arm.c to
> > xen/include/public/arch-arm.h, so that they are together with the other
> > guest related #defines such as GUEST_GICD_BASE and GUEST_VPL011_SPI.
> > Also, this way they can be reused by hypervisor code.
> 
> All variables moved to arch-arm.h should be prefixed with GUEST_* to avoid
> clash with the rest of Xen.

I'll do.

> > 
> > Signed-off-by: Stefano Stabellini <stefanos@xxxxxxxxxx>
> > CC: wei.liu2@xxxxxxxxxx
> > CC: ian.jackson@xxxxxxxxxxxxx
> > ---
> >   tools/libxl/libxl_arm.c       | 26 --------------------------
> >   xen/include/public/arch-arm.h | 26 ++++++++++++++++++++++++++
> >   2 files changed, 26 insertions(+), 26 deletions(-)
> > 
> > diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c
> > index 8af9f6f..89a417f 100644
> > --- a/tools/libxl/libxl_arm.c
> > +++ b/tools/libxl/libxl_arm.c
> > @@ -8,23 +8,6 @@
> >   #include <libfdt.h>
> >   #include <assert.h>
> >   -/**
> > - * IRQ line type.
> > - * DT_IRQ_TYPE_NONE            - default, unspecified type
> > - * DT_IRQ_TYPE_EDGE_RISING     - rising edge triggered
> > - * DT_IRQ_TYPE_EDGE_FALLING    - falling edge triggered
> > - * DT_IRQ_TYPE_EDGE_BOTH       - rising and falling edge triggered
> > - * DT_IRQ_TYPE_LEVEL_HIGH      - high level triggered
> > - * DT_IRQ_TYPE_LEVEL_LOW       - low level triggered
> > - */
> > -#define DT_IRQ_TYPE_NONE           0x00000000
> > -#define DT_IRQ_TYPE_EDGE_RISING    0x00000001
> > -#define DT_IRQ_TYPE_EDGE_FALLING   0x00000002
> > -#define DT_IRQ_TYPE_EDGE_BOTH                           \
> > -    (DT_IRQ_TYPE_EDGE_FALLING | DT_IRQ_TYPE_EDGE_RISING)
> > -#define DT_IRQ_TYPE_LEVEL_HIGH     0x00000004
> > -#define DT_IRQ_TYPE_LEVEL_LOW      0x00000008
> > -
> 
> Those defines have nothing to do with the guest itself. They are currently
> define in Xen without the DT_ prefix.

Sounds like we want to get rid of the DT_IRQ_TYPE_* definitions
completely, move the IRQ_TYPE_* definitions from device_tree.h to here,
and start using them in tools/libxl/libxl_arm.c (which involves a
renaming s/DT_IRQ_TYPE/IRQ_TYPE/g).

Is that what you had in mind?


> >   static const char *gicv_to_string(libxl_gic_version gic_version)
> >   {
> >       switch (gic_version) {
> > @@ -165,18 +148,9 @@ static struct arch_info {
> >       {"xen-3.0-aarch64", "arm,armv8-timer", "arm,armv8" },
> >   };
> >   -/*
> > - * The device tree compiler (DTC) is allocating the phandle from 1 to
> > - * onwards. Reserve a high value for the GIC phandle.
> > - */
> > -#define PHANDLE_GIC (65000)
> > -
> >   typedef uint32_t be32;
> >   typedef be32 gic_interrupt[3];
> >   -#define ROOT_ADDRESS_CELLS 2
> > -#define ROOT_SIZE_CELLS 2
> > -
> >   #define PROP_INITRD_START "linux,initrd-start"
> >   #define PROP_INITRD_END "linux,initrd-end"
> >   diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> > index eb424e8..cb88168 100644
> > --- a/xen/include/public/arch-arm.h
> > +++ b/xen/include/public/arch-arm.h
> > @@ -456,6 +456,32 @@ typedef uint64_t xen_callback_t;
> >   #define PSCI_cpu_on      2
> >   #define PSCI_migrate     3
> >   +/*
> > + * The device tree compiler (DTC) is allocating the phandle from 1 to
> > + * onwards. Reserve a high value for the GIC phandle.
> > + */
> > +#define PHANDLE_GIC (65000)
> > +
> > +#define ROOT_ADDRESS_CELLS 2
> > +#define ROOT_SIZE_CELLS 2
> > +
> > +/**
> > + * IRQ line type.
> > + * DT_IRQ_TYPE_NONE            - default, unspecified type
> > + * DT_IRQ_TYPE_EDGE_RISING     - rising edge triggered
> > + * DT_IRQ_TYPE_EDGE_FALLING    - falling edge triggered
> > + * DT_IRQ_TYPE_EDGE_BOTH       - rising and falling edge triggered
> > + * DT_IRQ_TYPE_LEVEL_HIGH      - high level triggered
> > + * DT_IRQ_TYPE_LEVEL_LOW       - low level triggered
> > + */
> > +#define DT_IRQ_TYPE_NONE           0x00000000
> > +#define DT_IRQ_TYPE_EDGE_RISING    0x00000001
> > +#define DT_IRQ_TYPE_EDGE_FALLING   0x00000002
> > +#define DT_IRQ_TYPE_EDGE_BOTH                           \
> > +    (DT_IRQ_TYPE_EDGE_FALLING | DT_IRQ_TYPE_EDGE_RISING)
> > +#define DT_IRQ_TYPE_LEVEL_HIGH     0x00000004
> > +#define DT_IRQ_TYPE_LEVEL_LOW      0x00000008
> > +
> >   #endif
> >     #ifndef __ASSEMBLY__
> > 
> 
> Cheers,
> 
> -- 
> Julien Grall
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.