[PATCH 14/17] xen: pvblock: Read XenStore configuration and initialize

Anastasiia Lukianenko Anastasiia_Lukianenko at epam.com
Mon Jul 6 11:08:05 CEST 2020


On Thu, 2020-07-02 at 21:50 -0600, Simon Glass wrote:
> Hi Anastasiia,
> 
> On Wed, 1 Jul 2020 at 10:30, Anastasiia Lukianenko <
> vicooodin at gmail.com> wrote:
> > 
> > From: Anastasiia Lukianenko <anastasiia_lukianenko at epam.com>
> > 
> > Read essential virtual block device configuration data from
> > XenStore,
> > initialize front ring and event channel.
> > Update block device description with actual block size.
> > 
> > Use code for XenStore from mini-os.
> > 
> > Signed-off-by: Oleksandr Andrushchenko <
> > oleksandr_andrushchenko at epam.com>
> > Signed-off-by: Anastasiia Lukianenko <
> > anastasiia_lukianenko at epam.com>
> > ---
> >  drivers/xen/pvblock.c | 272
> > +++++++++++++++++++++++++++++++++++++++++-
> >  1 file changed, 271 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/xen/pvblock.c b/drivers/xen/pvblock.c
> > index 6ce0ae97c3..9ed18be633 100644
> > --- a/drivers/xen/pvblock.c
> > +++ b/drivers/xen/pvblock.c
> > @@ -1,6 +1,7 @@
> >  /*
> >   * SPDX-License-Identifier:    GPL-2.0+
> >   *
> > + * (C) 2007-2008 Samuel Thibault.
> >   * (C) Copyright 2020 EPAM Systems Inc.
> >   */
> >  #include <blk.h>
> > @@ -10,26 +11,289 @@
> >  #include <malloc.h>
> >  #include <part.h>
> > 
> > +#include <asm/armv8/mmu.h>
> > +#include <asm/io.h>
> > +#include <asm/xen/system.h>
> > +
> > +#include <linux/compat.h>
> > +
> > +#include <xen/events.h>
> > +#include <xen/gnttab.h>
> > +#include <xen/hvm.h>
> >  #include <xen/xenbus.h>
> > 
> > +#include <xen/interface/io/ring.h>
> > +#include <xen/interface/io/blkif.h>
> > +#include <xen/interface/io/protocols.h>
> > +
> >  #define DRV_NAME       "pvblock"
> >  #define DRV_NAME_BLK   "pvblock_blk"
> > 
> > +#define O_RDONLY       00
> > +#define O_RDWR         02
> > +
> > +struct blkfront_info {
> > +       u64 sectors;
> > +       unsigned int sector_size;
> > +       int mode;
> > +       int info;
> > +       int barrier;
> > +       int flush;
> > +};
> > +
> >  struct blkfront_dev {
> > -       char dummy;
> > +       domid_t dom;
> > +
> > +       struct blkif_front_ring ring;
> > +       grant_ref_t ring_ref;
> > +       evtchn_port_t evtchn;
> > +       blkif_vdev_t handle;
> > +
> > +       char *nodename;
> > +       char *backend;
> > +       struct blkfront_info info;
> > +       unsigned int devid;
> 
> How about some comments?
> 

Ok, will add.

> Regards,
> Simon

Regards,
Anastasiia


More information about the U-Boot mailing list