Displaying 20 results from an estimated 31 matches for "config_ready".
2018 Sep 18
0
[RFC PATCH 1/2] virtio/s390: avoid race on vcdev->config
...;
I'm not sure that vcdev->lock is the right lock to use for this, but
I'm a bit unsure about what you're guarding against here.
> memcpy(vcdev->config, config_area, offset + len);
> - if (buf)
> - memcpy(buf, &vcdev->config[offset], len);
> if (vcdev->config_ready < offset + len)
> vcdev->config_ready = offset + len;
> + spin_unlock_irqrestore(&vcdev->lock, flags);
> + if (buf)
> + memcpy(buf, config_area + offset, len);
>
> out_free:
> kfree(config_area);
> @@ -864,6 +867,7 @@ static void virtio_ccw_set_config(s...
2018 Sep 19
0
[RFC PATCH 1/2] virtio/s390: avoid race on vcdev->config
...truct virtio_ccw_device so that at least one
> writes. I will continue with an example below.
Ok.
>
> >> memcpy(vcdev->config, config_area, offset + len);
> >> - if (buf)
> >> - memcpy(buf, &vcdev->config[offset], len);
> >> if (vcdev->config_ready < offset + len)
> >> vcdev->config_ready = offset + len;
> >> + spin_unlock_irqrestore(&vcdev->lock, flags);
> >> + if (buf)
> >> + memcpy(buf, config_area + offset, len);
> >>
> >> out_free:
> >> kfree(config_area...
2018 Sep 26
4
[PULL 0/2] virtio-ccw fixes
The following changes since commit 8c0f9f5b309d627182d5da72a69246f58bde1026:
Revert "uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name" (2018-09-25 13:28:58 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git tags/virtio-ccw-20180926
for you to fetch changes up to
2019 May 13
4
[PATCH 06/10] s390/cio: add basic protected virtualization support
...t a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c
> index 6d989c360f38..bb7a92316fc8 100644
> --- a/drivers/s390/virtio/virtio_ccw.c
> +++ b/drivers/s390/virtio/virtio_ccw.c
> @@ -66,7 +66,6 @@ struct virtio_ccw_device {
> bool device_lost;
> unsigned int config_ready;
> void *airq_info;
> - u64 dma_mask;
> };
>
> struct vq_info_block_legacy {
> @@ -1255,16 +1254,7 @@ static int virtio_ccw_online(struct ccw_device *cdev)
> ret = -ENOMEM;
> goto out_free;
> }
> -
> vcdev->vdev.dev.parent = &cdev->dev;
>...
2019 May 13
4
[PATCH 06/10] s390/cio: add basic protected virtualization support
...t a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c
> index 6d989c360f38..bb7a92316fc8 100644
> --- a/drivers/s390/virtio/virtio_ccw.c
> +++ b/drivers/s390/virtio/virtio_ccw.c
> @@ -66,7 +66,6 @@ struct virtio_ccw_device {
> bool device_lost;
> unsigned int config_ready;
> void *airq_info;
> - u64 dma_mask;
> };
>
> struct vq_info_block_legacy {
> @@ -1255,16 +1254,7 @@ static int virtio_ccw_online(struct ccw_device *cdev)
> ret = -ENOMEM;
> goto out_free;
> }
> -
> vcdev->vdev.dev.parent = &cdev->dev;
>...
2019 Apr 09
0
[RFC PATCH 02/12] virtio/s390: DMA support for virtio-ccw
...t a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c
> index edf4afe2d688..5956c9e820bb 100644
> --- a/drivers/s390/virtio/virtio_ccw.c
> +++ b/drivers/s390/virtio/virtio_ccw.c
> @@ -66,6 +66,7 @@ struct virtio_ccw_device {
> bool device_lost;
> unsigned int config_ready;
> void *airq_info;
> + __u64 dma_mask;
u64?
> };
>
> struct vq_info_block_legacy {
> @@ -536,8 +537,8 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev,
> info->info_block->s.desc = queue;
> info->info_block->s.index = i;
&...
2019 Apr 26
0
[PATCH 02/10] virtio/s390: DMA support for virtio-ccw
...+), 24 deletions(-)
diff --git a/drivers/s390/virtio/virtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c
index 2c66941ef3d0..42832a164546 100644
--- a/drivers/s390/virtio/virtio_ccw.c
+++ b/drivers/s390/virtio/virtio_ccw.c
@@ -66,6 +66,7 @@ struct virtio_ccw_device {
bool device_lost;
unsigned int config_ready;
void *airq_info;
+ u64 dma_mask;
};
struct vq_info_block_legacy {
@@ -539,8 +540,8 @@ static struct virtqueue *virtio_ccw_setup_vq(struct virtio_device *vdev,
info->info_block->s.desc = queue;
info->info_block->s.index = i;
info->info_block->s.num = info->num;
-...
2019 May 15
0
[PATCH 06/10] s390/cio: add basic protected virtualization support
...io/virtio_ccw.c
> >> index 6d989c360f38..bb7a92316fc8 100644
> >> --- a/drivers/s390/virtio/virtio_ccw.c
> >> +++ b/drivers/s390/virtio/virtio_ccw.c
> >> @@ -66,7 +66,6 @@ struct virtio_ccw_device {
> >> bool device_lost;
> >> unsigned int config_ready;
> >> void *airq_info;
> >> - u64 dma_mask;
> >> };
> >>
> >> struct vq_info_block_legacy {
> >> @@ -1255,16 +1254,7 @@ static int virtio_ccw_online(struct ccw_device *cdev)
> >> ret = -ENOMEM;
> >> goto out_f...
2019 May 14
1
[PATCH 06/10] s390/cio: add basic protected virtualization support
...rtio_ccw.c b/drivers/s390/virtio/virtio_ccw.c
>> index 6d989c360f38..bb7a92316fc8 100644
>> --- a/drivers/s390/virtio/virtio_ccw.c
>> +++ b/drivers/s390/virtio/virtio_ccw.c
>> @@ -66,7 +66,6 @@ struct virtio_ccw_device {
>> bool device_lost;
>> unsigned int config_ready;
>> void *airq_info;
>> - u64 dma_mask;
>> };
>>
>> struct vq_info_block_legacy {
>> @@ -1255,16 +1254,7 @@ static int virtio_ccw_online(struct ccw_device *cdev)
>> ret = -ENOMEM;
>> goto out_free;
>> }
>> -
>>...
2019 May 15
0
[PATCH 06/10] s390/cio: add basic protected virtualization support
..._ccw.c b/drivers/s390/virtio/virtio_ccw.c
> > index 6d989c360f38..bb7a92316fc8 100644
> > --- a/drivers/s390/virtio/virtio_ccw.c
> > +++ b/drivers/s390/virtio/virtio_ccw.c
> > @@ -66,7 +66,6 @@ struct virtio_ccw_device {
> > bool device_lost;
> > unsigned int config_ready;
> > void *airq_info;
> > - u64 dma_mask;
> > };
> >
> > struct vq_info_block_legacy {
> > @@ -1255,16 +1254,7 @@ static int virtio_ccw_online(struct ccw_device *cdev)
> > ret = -ENOMEM;
> > goto out_free;
> > }
> > -
> &g...
2019 May 08
2
[PATCH 09/10] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...struct mutex io_lock; /* Serializes I/O requests */
> struct list_head virtqueues;
> - unsigned long indicators;
> - unsigned long indicators2;
> - struct vq_config_block *config_block;
> bool is_thinint;
> bool going_away;
> bool device_lost;
> unsigned int config_ready;
> void *airq_info;
> + struct vcdev_dma_area *dma_area;
> };
>
> static inline unsigned long *indicators(struct virtio_ccw_device *vcdev)
> {
> - return &vcdev->indicators;
> + return &vcdev->dma_area->indicators;
> }
>
> static...
2019 May 08
2
[PATCH 09/10] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...struct mutex io_lock; /* Serializes I/O requests */
> struct list_head virtqueues;
> - unsigned long indicators;
> - unsigned long indicators2;
> - struct vq_config_block *config_block;
> bool is_thinint;
> bool going_away;
> bool device_lost;
> unsigned int config_ready;
> void *airq_info;
> + struct vcdev_dma_area *dma_area;
> };
>
> static inline unsigned long *indicators(struct virtio_ccw_device *vcdev)
> {
> - return &vcdev->indicators;
> + return &vcdev->dma_area->indicators;
> }
>
> static...
2019 Apr 26
0
[PATCH 09/10] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...truct virtio_ccw_device {
spinlock_t lock;
struct mutex io_lock; /* Serializes I/O requests */
struct list_head virtqueues;
- unsigned long indicators;
- unsigned long indicators2;
- struct vq_config_block *config_block;
bool is_thinint;
bool going_away;
bool device_lost;
unsigned int config_ready;
void *airq_info;
+ struct vcdev_dma_area *dma_area;
};
static inline unsigned long *indicators(struct virtio_ccw_device *vcdev)
{
- return &vcdev->indicators;
+ return &vcdev->dma_area->indicators;
}
static inline unsigned long *indicators2(struct virtio_ccw_device *vcd...
2019 May 23
0
[PATCH v2 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...truct virtio_ccw_device {
spinlock_t lock;
struct mutex io_lock; /* Serializes I/O requests */
struct list_head virtqueues;
- unsigned long indicators;
- unsigned long indicators2;
- struct vq_config_block *config_block;
bool is_thinint;
bool going_away;
bool device_lost;
unsigned int config_ready;
void *airq_info;
+ struct vcdev_dma_area *dma_area;
};
static inline unsigned long *indicators(struct virtio_ccw_device *vcdev)
{
- return &vcdev->indicators;
+ return &vcdev->dma_area->indicators;
}
static inline unsigned long *indicators2(struct virtio_ccw_device *vcd...
2019 May 29
0
[PATCH v3 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...truct virtio_ccw_device {
spinlock_t lock;
struct mutex io_lock; /* Serializes I/O requests */
struct list_head virtqueues;
- unsigned long indicators;
- unsigned long indicators2;
- struct vq_config_block *config_block;
bool is_thinint;
bool going_away;
bool device_lost;
unsigned int config_ready;
void *airq_info;
+ struct vcdev_dma_area *dma_area;
};
static inline unsigned long *indicators(struct virtio_ccw_device *vcdev)
{
- return &vcdev->indicators;
+ return &vcdev->dma_area->indicators;
}
static inline unsigned long *indicators2(struct virtio_ccw_device *vcd...
2019 Jun 06
0
[PATCH v4 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...truct virtio_ccw_device {
spinlock_t lock;
struct mutex io_lock; /* Serializes I/O requests */
struct list_head virtqueues;
- unsigned long indicators;
- unsigned long indicators2;
- struct vq_config_block *config_block;
bool is_thinint;
bool going_away;
bool device_lost;
unsigned int config_ready;
void *airq_info;
+ struct vcdev_dma_area *dma_area;
};
static inline unsigned long *indicators(struct virtio_ccw_device *vcdev)
{
- return &vcdev->indicators;
+ return &vcdev->dma_area->indicators;
}
static inline unsigned long *indicators2(struct virtio_ccw_device *vcd...
2019 Jun 12
0
[PATCH v5 7/8] virtio/s390: use DMA memory for ccw I/O and classic notifiers
...truct virtio_ccw_device {
spinlock_t lock;
struct mutex io_lock; /* Serializes I/O requests */
struct list_head virtqueues;
- unsigned long indicators;
- unsigned long indicators2;
- struct vq_config_block *config_block;
bool is_thinint;
bool going_away;
bool device_lost;
unsigned int config_ready;
void *airq_info;
+ struct vcdev_dma_area *dma_area;
};
static inline unsigned long *indicators(struct virtio_ccw_device *vcdev)
{
- return &vcdev->indicators;
+ return &vcdev->dma_area->indicators;
}
static inline unsigned long *indicators2(struct virtio_ccw_device *vcd...
2019 May 16
2
[PATCH 06/10] s390/cio: add basic protected virtualization support
...irtio_ccw.c
> > > index 6d989c360f38..bb7a92316fc8 100644
> > > --- a/drivers/s390/virtio/virtio_ccw.c
> > > +++ b/drivers/s390/virtio/virtio_ccw.c
> > > @@ -66,7 +66,6 @@ struct virtio_ccw_device {
> > > bool device_lost;
> > > unsigned int config_ready;
> > > void *airq_info;
> > > - u64 dma_mask;
> > > };
> > >
> > > struct vq_info_block_legacy {
> > > @@ -1255,16 +1254,7 @@ static int virtio_ccw_online(struct ccw_device *cdev)
> > > ret = -ENOMEM;
> > > goto out...
2019 May 16
2
[PATCH 06/10] s390/cio: add basic protected virtualization support
...irtio_ccw.c
> > > index 6d989c360f38..bb7a92316fc8 100644
> > > --- a/drivers/s390/virtio/virtio_ccw.c
> > > +++ b/drivers/s390/virtio/virtio_ccw.c
> > > @@ -66,7 +66,6 @@ struct virtio_ccw_device {
> > > bool device_lost;
> > > unsigned int config_ready;
> > > void *airq_info;
> > > - u64 dma_mask;
> > > };
> > >
> > > struct vq_info_block_legacy {
> > > @@ -1255,16 +1254,7 @@ static int virtio_ccw_online(struct ccw_device *cdev)
> > > ret = -ENOMEM;
> > > goto out...
2019 Apr 26
33
[PATCH 00/10] s390: virtio: support protected virtualization
Enhanced virtualization protection technology may require the use of
bounce buffers for I/O. While support for this was built into the virtio
core, virtio-ccw wasn't changed accordingly.
Some background on technology (not part of this series) and the
terminology used.
* Protected Virtualization (PV):
Protected Virtualization guarantees, that non-shared memory of a guest
that operates in PV