mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
tools/lguest: give virtqueues names for better error messages
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
d39a6785f4
commit
17c56d6de8
@ -200,6 +200,9 @@ struct virtqueue {
|
|||||||
/* Which device owns me. */
|
/* Which device owns me. */
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
|
|
||||||
|
/* Name for printing errors. */
|
||||||
|
const char *name;
|
||||||
|
|
||||||
/* The actual ring of buffers. */
|
/* The actual ring of buffers. */
|
||||||
struct vring vring;
|
struct vring vring;
|
||||||
|
|
||||||
@ -2366,7 +2369,8 @@ static void emulate_mmio(unsigned long paddr, const u8 *insn)
|
|||||||
* routines to allocate and manage them.
|
* routines to allocate and manage them.
|
||||||
*/
|
*/
|
||||||
static void add_pci_virtqueue(struct device *dev,
|
static void add_pci_virtqueue(struct device *dev,
|
||||||
void (*service)(struct virtqueue *))
|
void (*service)(struct virtqueue *),
|
||||||
|
const char *name)
|
||||||
{
|
{
|
||||||
struct virtqueue **i, *vq = malloc(sizeof(*vq));
|
struct virtqueue **i, *vq = malloc(sizeof(*vq));
|
||||||
|
|
||||||
@ -2374,6 +2378,7 @@ static void add_pci_virtqueue(struct device *dev,
|
|||||||
vq->next = NULL;
|
vq->next = NULL;
|
||||||
vq->last_avail_idx = 0;
|
vq->last_avail_idx = 0;
|
||||||
vq->dev = dev;
|
vq->dev = dev;
|
||||||
|
vq->name = name;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is the routine the service thread will run, and its Process ID
|
* This is the routine the service thread will run, and its Process ID
|
||||||
@ -2666,8 +2671,8 @@ static void setup_console(void)
|
|||||||
* stdin. When they put something in the output queue, we write it to
|
* stdin. When they put something in the output queue, we write it to
|
||||||
* stdout.
|
* stdout.
|
||||||
*/
|
*/
|
||||||
add_pci_virtqueue(dev, console_input);
|
add_pci_virtqueue(dev, console_input, "input");
|
||||||
add_pci_virtqueue(dev, console_output);
|
add_pci_virtqueue(dev, console_output, "output");
|
||||||
|
|
||||||
/* We need a configuration area for the emerg_wr early writes. */
|
/* We need a configuration area for the emerg_wr early writes. */
|
||||||
add_pci_feature(dev, VIRTIO_CONSOLE_F_EMERG_WRITE);
|
add_pci_feature(dev, VIRTIO_CONSOLE_F_EMERG_WRITE);
|
||||||
@ -2838,8 +2843,8 @@ static void setup_tun_net(char *arg)
|
|||||||
dev->priv = net_info;
|
dev->priv = net_info;
|
||||||
|
|
||||||
/* Network devices need a recv and a send queue, just like console. */
|
/* Network devices need a recv and a send queue, just like console. */
|
||||||
add_pci_virtqueue(dev, net_input);
|
add_pci_virtqueue(dev, net_input, "rx");
|
||||||
add_pci_virtqueue(dev, net_output);
|
add_pci_virtqueue(dev, net_output, "tx");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We need a socket to perform the magic network ioctls to bring up the
|
* We need a socket to perform the magic network ioctls to bring up the
|
||||||
@ -3026,7 +3031,7 @@ static void setup_block_file(const char *filename)
|
|||||||
dev = new_pci_device("block", VIRTIO_ID_BLOCK, 0x01, 0x80);
|
dev = new_pci_device("block", VIRTIO_ID_BLOCK, 0x01, 0x80);
|
||||||
|
|
||||||
/* The device has one virtqueue, where the Guest places requests. */
|
/* The device has one virtqueue, where the Guest places requests. */
|
||||||
add_pci_virtqueue(dev, blk_request);
|
add_pci_virtqueue(dev, blk_request, "request");
|
||||||
|
|
||||||
/* Allocate the room for our own bookkeeping */
|
/* Allocate the room for our own bookkeeping */
|
||||||
vblk = dev->priv = malloc(sizeof(*vblk));
|
vblk = dev->priv = malloc(sizeof(*vblk));
|
||||||
@ -3107,7 +3112,7 @@ static void setup_rng(void)
|
|||||||
dev->priv = rng_info;
|
dev->priv = rng_info;
|
||||||
|
|
||||||
/* The device has one virtqueue, where the Guest places inbufs. */
|
/* The device has one virtqueue, where the Guest places inbufs. */
|
||||||
add_pci_virtqueue(dev, rng_input);
|
add_pci_virtqueue(dev, rng_input, "input");
|
||||||
|
|
||||||
/* We don't have any configuration space */
|
/* We don't have any configuration space */
|
||||||
no_device_config(dev);
|
no_device_config(dev);
|
||||||
|
Loading…
Reference in New Issue
Block a user