search for: virtio_pstore_req

Displaying 20 results from an estimated 35 matches for "virtio_pstore_req".

2016 Aug 31
4
[RFC/PATCHSET 0/3] virtio: Implement virtio pstore device (v4)
...sual. While this patchset only implements dumping kernel log buffer, it can be extended to have ftrace buffer and probably some more.. The patch 0001 implements virtio pstore driver. It has two virt queue for (sync) read and (async) write, pstore buffer and io request and response structure. The virtio_pstore_req struct is to give information about the current pstore operation. The result will be written to the virtio_pstore_res struct. For read operation it also uses virtio_pstore_fileinfo struct. The patch 0002 and 0003 implement virtio-pstore legacy PCI device on qemu-kvm and kvmtool respectively. I...
2016 Aug 31
4
[RFC/PATCHSET 0/3] virtio: Implement virtio pstore device (v4)
...sual. While this patchset only implements dumping kernel log buffer, it can be extended to have ftrace buffer and probably some more.. The patch 0001 implements virtio pstore driver. It has two virt queue for (sync) read and (async) write, pstore buffer and io request and response structure. The virtio_pstore_req struct is to give information about the current pstore operation. The result will be written to the virtio_pstore_res struct. For read operation it also uses virtio_pstore_fileinfo struct. The patch 0002 and 0003 implement virtio-pstore legacy PCI device on qemu-kvm and kvmtool respectively. I...
2016 Aug 20
0
[PATCH 1/3] virtio: Basic implementation of virtio pstore driver
...+#include <uapi/linux/virtio_pstore.h> + +#define VIRT_PSTORE_ORDER 2 +#define VIRT_PSTORE_BUFSIZE (4096 << VIRT_PSTORE_ORDER) +#define VIRT_PSTORE_NR_REQ 128 + +struct virtio_pstore { + struct virtio_device *vdev; + struct virtqueue *vq[2]; + struct pstore_info pstore; + struct virtio_pstore_req req[VIRT_PSTORE_NR_REQ]; + struct virtio_pstore_res res[VIRT_PSTORE_NR_REQ]; + unsigned int req_id; + + /* Waiting for host to ack */ + wait_queue_head_t acked; + int failed; +}; + +#define TYPE_TABLE_ENTRY(_entry) \ + { PSTORE_TYPE_##_entry, VIRTIO_PSTORE_TYPE_##_entry } + +struct type_tabl...
2016 Nov 10
2
[PATCH 1/3] virtio: Basic implementation of virtio pstore driver
..._ORDER) > +#define VIRT_PSTORE_NR_REQ 128 > + > +struct virtio_pstore { > + struct virtio_device *vdev; > + struct virtqueue *vq[2]; I'd add named fields instead of an array here, vq[0] vq[1] all over the place is hard to read. > + struct pstore_info pstore; > + struct virtio_pstore_req req[VIRT_PSTORE_NR_REQ]; > + struct virtio_pstore_res res[VIRT_PSTORE_NR_REQ]; > + unsigned int req_id; > + > + /* Waiting for host to ack */ > + wait_queue_head_t acked; > + int failed; > +}; > + > +#define TYPE_TABLE_ENTRY(_entry) \ > + { PSTORE_TYPE_##_entry,...
2016 Nov 10
2
[PATCH 1/3] virtio: Basic implementation of virtio pstore driver
..._ORDER) > +#define VIRT_PSTORE_NR_REQ 128 > + > +struct virtio_pstore { > + struct virtio_device *vdev; > + struct virtqueue *vq[2]; I'd add named fields instead of an array here, vq[0] vq[1] all over the place is hard to read. > + struct pstore_info pstore; > + struct virtio_pstore_req req[VIRT_PSTORE_NR_REQ]; > + struct virtio_pstore_res res[VIRT_PSTORE_NR_REQ]; > + unsigned int req_id; > + > + /* Waiting for host to ack */ > + wait_queue_head_t acked; > + int failed; > +}; > + > +#define TYPE_TABLE_ENTRY(_entry) \ > + { PSTORE_TYPE_##_entry,...
2016 Aug 31
0
[PATCH 1/3] virtio: Basic implementation of virtio pstore driver
...+#include <uapi/linux/virtio_pstore.h> + +#define VIRT_PSTORE_ORDER 2 +#define VIRT_PSTORE_BUFSIZE (4096 << VIRT_PSTORE_ORDER) +#define VIRT_PSTORE_NR_REQ 128 + +struct virtio_pstore { + struct virtio_device *vdev; + struct virtqueue *vq[2]; + struct pstore_info pstore; + struct virtio_pstore_req req[VIRT_PSTORE_NR_REQ]; + struct virtio_pstore_res res[VIRT_PSTORE_NR_REQ]; + unsigned int req_id; + + /* Waiting for host to ack */ + wait_queue_head_t acked; + int failed; +}; + +#define TYPE_TABLE_ENTRY(_entry) \ + { PSTORE_TYPE_##_entry, VIRTIO_PSTORE_TYPE_##_entry } + +struct type_tabl...
2016 Aug 31
1
[PATCH 1/3] virtio: Basic implementation of virtio pstore driver
...+ > +#define VIRT_PSTORE_ORDER 2 > +#define VIRT_PSTORE_BUFSIZE (4096 << VIRT_PSTORE_ORDER) > +#define VIRT_PSTORE_NR_REQ 128 > + > +struct virtio_pstore { > + struct virtio_device *vdev; > + struct virtqueue *vq[2]; > + struct pstore_info pstore; > + struct virtio_pstore_req req[VIRT_PSTORE_NR_REQ]; > + struct virtio_pstore_res res[VIRT_PSTORE_NR_REQ]; > + unsigned int req_id; > + > + /* Waiting for host to ack */ > + wait_queue_head_t acked; > + int failed; > +}; > + > +#define TYPE_TABLE_ENTRY(_entry) \ > + { PSTORE_TYPE_##_entry,...
2016 Aug 31
1
[PATCH 1/3] virtio: Basic implementation of virtio pstore driver
...+ > +#define VIRT_PSTORE_ORDER 2 > +#define VIRT_PSTORE_BUFSIZE (4096 << VIRT_PSTORE_ORDER) > +#define VIRT_PSTORE_NR_REQ 128 > + > +struct virtio_pstore { > + struct virtio_device *vdev; > + struct virtqueue *vq[2]; > + struct pstore_info pstore; > + struct virtio_pstore_req req[VIRT_PSTORE_NR_REQ]; > + struct virtio_pstore_res res[VIRT_PSTORE_NR_REQ]; > + unsigned int req_id; > + > + /* Waiting for host to ack */ > + wait_queue_head_t acked; > + int failed; > +}; > + > +#define TYPE_TABLE_ENTRY(_entry) \ > + { PSTORE_TYPE_##_entry,...
2016 Aug 20
7
[RFC/PATCHSET 0/3] virtio: Implement virtio pstore device (v3)
...sual. While this patchset only implements dumping kernel log buffer, it can be extended to have ftrace buffer and probably some more.. The patch 0001 implements virtio pstore driver. It has two virt queue for (sync) read and (async) write, pstore buffer and io request and response structure. The virtio_pstore_req struct is to give information about the current pstore operation. The result will be written to the virtio_pstore_res struct. For read operation it also uses virtio_pstore_fileinfo struct. The patch 0002 and 0003 implement virtio-pstore legacy PCI device on qemu-kvm and kvmtool respectively. I...
2016 Aug 20
7
[RFC/PATCHSET 0/3] virtio: Implement virtio pstore device (v3)
...sual. While this patchset only implements dumping kernel log buffer, it can be extended to have ftrace buffer and probably some more.. The patch 0001 implements virtio pstore driver. It has two virt queue for (sync) read and (async) write, pstore buffer and io request and response structure. The virtio_pstore_req struct is to give information about the current pstore operation. The result will be written to the virtio_pstore_res struct. For read operation it also uses virtio_pstore_fileinfo struct. The patch 0002 and 0003 implement virtio-pstore legacy PCI device on qemu-kvm and kvmtool respectively. I...
2016 Jul 27
11
[RFC/PATCHSET 0/7] virtio: Implement virtio pstore device (v2)
...e buffer and probably some more.. The patch 0001-0003 are preparation for pstore to support virtio device which requires async write. The patch 0004 implements virtio pstore driver. It has two virt queue for (sync) read and (async) write, pstore buffer and io request and response structure. The virtio_pstore_req struct is to give information about the current pstore operation. The result will be written to the virtio_pstore_res struct. For read operation it also uses virtio_pstore_fileinfo struct. The patch 0005 adds support for PSTORE_TYPE_CONSOLE which was requested by Kees. The console data is appen...
2016 Jul 27
11
[RFC/PATCHSET 0/7] virtio: Implement virtio pstore device (v2)
...e buffer and probably some more.. The patch 0001-0003 are preparation for pstore to support virtio device which requires async write. The patch 0004 implements virtio pstore driver. It has two virt queue for (sync) read and (async) write, pstore buffer and io request and response structure. The virtio_pstore_req struct is to give information about the current pstore operation. The result will be written to the virtio_pstore_res struct. For read operation it also uses virtio_pstore_fileinfo struct. The patch 0005 adds support for PSTORE_TYPE_CONSOLE which was requested by Kees. The console data is appen...
2016 Jul 28
3
[PATCH 6/7] qemu: Implement virtio-pstore device
...+#include "hw/virtio/virtio-bus.h" > +#include "hw/virtio/virtio-access.h" > +#include "hw/virtio/virtio-pstore.h" > + > + > +static void virtio_pstore_to_filename(VirtIOPstore *s, char *buf, size_t sz, > + struct virtio_pstore_req *req) > +{ > + const char *basename; > + unsigned long long id = 0; > + unsigned int flags = le32_to_cpu(req->flags); > + > + switch (le16_to_cpu(req->type)) { > + case VIRTIO_PSTORE_TYPE_DMESG: > + basename = "dmesg"; > + id =...
2016 Jul 28
3
[PATCH 6/7] qemu: Implement virtio-pstore device
...+#include "hw/virtio/virtio-bus.h" > +#include "hw/virtio/virtio-access.h" > +#include "hw/virtio/virtio-pstore.h" > + > + > +static void virtio_pstore_to_filename(VirtIOPstore *s, char *buf, size_t sz, > + struct virtio_pstore_req *req) > +{ > + const char *basename; > + unsigned long long id = 0; > + unsigned int flags = le32_to_cpu(req->flags); > + > + switch (le16_to_cpu(req->type)) { > + case VIRTIO_PSTORE_TYPE_DMESG: > + basename = "dmesg"; > + id =...
2016 Jul 28
0
[PATCH 6/7] qemu: Implement virtio-pstore device
...tio-bus.h" > > +#include "hw/virtio/virtio-access.h" > > +#include "hw/virtio/virtio-pstore.h" > > + > > + > > +static void virtio_pstore_to_filename(VirtIOPstore *s, char *buf, size_t sz, > > + struct virtio_pstore_req *req) > > +{ > > + const char *basename; > > + unsigned long long id = 0; > > + unsigned int flags = le32_to_cpu(req->flags); > > + > > + switch (le16_to_cpu(req->type)) { > > + case VIRTIO_PSTORE_TYPE_DMESG: > > + basename...
2016 Jul 28
2
[PATCH 6/7] qemu: Implement virtio-pstore device
...t; > On Thu, Jul 28, 2016 at 12:08:30AM +0900, Namhyung Kim wrote: > > > +static ssize_t virtio_pstore_do_write(VirtIOPstore *s, struct iovec *out_sg, > > > + unsigned int out_num, > > > + struct virtio_pstore_req *req) > > > +{ > > > + char path[PATH_MAX]; > > > + int fd; > > > + ssize_t len; > > > + unsigned short type; > > > + int flags = O_WRONLY | O_CREAT; > > > + > > > + /* we already consume the req */ > >...
2016 Jul 28
2
[PATCH 6/7] qemu: Implement virtio-pstore device
...t; > On Thu, Jul 28, 2016 at 12:08:30AM +0900, Namhyung Kim wrote: > > > +static ssize_t virtio_pstore_do_write(VirtIOPstore *s, struct iovec *out_sg, > > > + unsigned int out_num, > > > + struct virtio_pstore_req *req) > > > +{ > > > + char path[PATH_MAX]; > > > + int fd; > > > + ssize_t len; > > > + unsigned short type; > > > + int flags = O_WRONLY | O_CREAT; > > > + > > > + /* we already consume the req */ > >...
2016 Aug 24
2
[PATCH 2/3] qemu: Implement virtio-pstore device
...nst char *virtio_pstore_file_prefix[] = { > + "unknown-", /* VIRTIO_PSTORE_TYPE_UNKNOWN */ > + "dmesg-", /* VIRTIO_PSTORE_TYPE_DMESG */ > +}; > + > +static char *virtio_pstore_to_filename(VirtIOPstore *s, > + struct virtio_pstore_req *req) > +{ > + const char *basename; > + unsigned long long id; > + unsigned int type = le16_to_cpu(req->type); > + unsigned int flags = le32_to_cpu(req->flags); > + > + if (type < ARRAY_SIZE(virtio_pstore_file_prefix)) { > + basename = virtio_...
2016 Aug 24
2
[PATCH 2/3] qemu: Implement virtio-pstore device
...nst char *virtio_pstore_file_prefix[] = { > + "unknown-", /* VIRTIO_PSTORE_TYPE_UNKNOWN */ > + "dmesg-", /* VIRTIO_PSTORE_TYPE_DMESG */ > +}; > + > +static char *virtio_pstore_to_filename(VirtIOPstore *s, > + struct virtio_pstore_req *req) > +{ > + const char *basename; > + unsigned long long id; > + unsigned int type = le16_to_cpu(req->type); > + unsigned int flags = le32_to_cpu(req->flags); > + > + if (type < ARRAY_SIZE(virtio_pstore_file_prefix)) { > + basename = virtio_...
2016 Nov 15
4
[PATCH 1/3] virtio: Basic implementation of virtio pstore driver
...tio_device *vdev; > > > + struct virtqueue *vq[2]; > > > > I'd add named fields instead of an array here, vq[0] > > vq[1] all over the place is hard to read. > > Will change. > > > > > > + struct pstore_info pstore; > > > + struct virtio_pstore_req req[VIRT_PSTORE_NR_REQ]; > > > + struct virtio_pstore_res res[VIRT_PSTORE_NR_REQ]; > > > + unsigned int req_id; > > > + > > > + /* Waiting for host to ack */ > > > + wait_queue_head_t acked; > > > + int failed; > > > +}; > > &...