On 5 April 2017 at 00:40, Alistair Francis <alistair.fran...@xilinx.com> wrote: > Expose the Cadence GEM revision as a property. > > Signed-off-by: Alistair Francis <alistair.fran...@xilinx.com> > --- > > hw/net/cadence_gem.c | 6 +++++- > include/hw/net/cadence_gem.h | 1 + > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c > index b9eaed4..7047e02 100644 > --- a/hw/net/cadence_gem.c > +++ b/hw/net/cadence_gem.c > @@ -300,6 +300,8 @@ > #define DESC_1_RX_SOF 0x00004000 > #define DESC_1_RX_EOF 0x00008000 > > +#define GEM_MODID_VALUE 0x00020118 > + > static inline unsigned tx_desc_get_buffer(unsigned *desc) > { > return desc[0]; > @@ -1213,7 +1215,7 @@ static void gem_reset(DeviceState *d) > s->regs[GEM_TXPAUSE] = 0x0000ffff; > s->regs[GEM_TXPARTIALSF] = 0x000003ff; > s->regs[GEM_RXPARTIALSF] = 0x000003ff; > - s->regs[GEM_MODID] = 0x00020118; > + s->regs[GEM_MODID] = s->revision; > s->regs[GEM_DESCONF] = 0x02500111; > s->regs[GEM_DESCONF2] = 0x2ab13fff; > s->regs[GEM_DESCONF5] = 0x002f2145; > @@ -1512,6 +1514,8 @@ static const VMStateDescription vmstate_cadence_gem = { > > static Property gem_properties[] = { > DEFINE_NIC_PROPERTIES(CadenceGEMState, conf), > + DEFINE_PROP_UINT32("revision", CadenceGEMState, revision, > + GEM_MODID_VALUE), > DEFINE_PROP_UINT8("num-priority-queues", CadenceGEMState, > num_priority_queues, 1), > DEFINE_PROP_UINT8("num-type1-screeners", CadenceGEMState, > diff --git a/include/hw/net/cadence_gem.h b/include/hw/net/cadence_gem.h > index c469ffe..35de622 100644 > --- a/include/hw/net/cadence_gem.h > +++ b/include/hw/net/cadence_gem.h > @@ -50,6 +50,7 @@ typedef struct CadenceGEMState { > uint8_t num_priority_queues; > uint8_t num_type1_screeners; > uint8_t num_type2_screeners; > + uint32_t revision; > > /* GEM registers backing store */ > uint32_t regs[CADENCE_GEM_MAXREG]; > -- > 2.9.3 > >
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM