Displaying 20 results from an estimated 38 matches for "virtio_console_port_open".
2012 Apr 25
1
[PATCH 1/1] virtio: console: tell host of open ports after resume from s3/s4
...dev)
/* Get port open/close status on the host */
send_control_msg(port, VIRTIO_CONSOLE_PORT_READY, 1);
+
+ /*
+ * If a port was open at the time of suspending, we
+ * have to let the host know that it's still open.
+ */
+ if (port->guest_connected)
+ send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 1);
}
return 0;
}
--
1.7.7.6
2012 Apr 25
1
[PATCH 1/1] virtio: console: tell host of open ports after resume from s3/s4
...dev)
/* Get port open/close status on the host */
send_control_msg(port, VIRTIO_CONSOLE_PORT_READY, 1);
+
+ /*
+ * If a port was open at the time of suspending, we
+ * have to let the host know that it's still open.
+ */
+ if (port->guest_connected)
+ send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 1);
}
return 0;
}
--
1.7.7.6
2010 May 27
3
[PATCH 1/2] virtio: console: Fix crash when hot-unplugging a port and read is blocked
...r/virtio_console.c
@@ -1099,6 +1099,13 @@ static int remove_port(struct port *port)
{
struct port_buffer *buf;
+ if (port->guest_connected) {
+ port->guest_connected = false;
+ port->host_connected = false;
+ wake_up_interruptible(&port->waitqueue);
+ send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 0);
+ }
+
spin_lock_irq(&port->portdev->ports_lock);
list_del(&port->list);
spin_unlock_irq(&port->portdev->ports_lock);
@@ -1120,9 +1127,6 @@ static int remove_port(struct port *port)
hvc_remove(port->cons.hvc);
#endif
}
- if (port->guest_connected)
-...
2010 May 27
3
[PATCH 1/2] virtio: console: Fix crash when hot-unplugging a port and read is blocked
...r/virtio_console.c
@@ -1099,6 +1099,13 @@ static int remove_port(struct port *port)
{
struct port_buffer *buf;
+ if (port->guest_connected) {
+ port->guest_connected = false;
+ port->host_connected = false;
+ wake_up_interruptible(&port->waitqueue);
+ send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 0);
+ }
+
spin_lock_irq(&port->portdev->ports_lock);
list_del(&port->list);
spin_unlock_irq(&port->portdev->ports_lock);
@@ -1120,9 +1127,6 @@ static int remove_port(struct port *port)
hvc_remove(port->cons.hvc);
#endif
}
- if (port->guest_connected)
-...
2010 Apr 08
3
[PATCH 00/11] (v6) virtio: console: Fixes, new way of discovering ports
Hello,
This series reworks the ABI to allow port discovery (only) via the
control queue and enable multiport again.
In addition, it adds support for non-blocking write() support, which
means no spinning. This works fine with the recent patches that are on
qemu-devel.
Also included is removal of hvc_remove() as removing one such console
port causes other console ports (registered with hvc) to
2010 Apr 08
3
[PATCH 00/11] (v6) virtio: console: Fixes, new way of discovering ports
Hello,
This series reworks the ABI to allow port discovery (only) via the
control queue and enable multiport again.
In addition, it adds support for non-blocking write() support, which
means no spinning. This works fine with the recent patches that are on
qemu-devel.
Also included is removal of hvc_remove() as removing one such console
port causes other console ports (registered with hvc) to
2010 Mar 30
3
[PATCH 4/4] virtio: disable multiport console support.
...nit_port_console(port);
- /*
- * Could remove the port here in case init fails - but
- * have to notify the host first.
- */
- break;
- case VIRTIO_CONSOLE_RESIZE:
- if (!is_console_port(port))
- break;
- port->cons.hvc->irq_requested = 1;
- resize_console(port);
- break;
- case VIRTIO_CONSOLE_PORT_OPEN:
- port->host_connected = cpkt->value;
- wake_up_interruptible(&port->waitqueue);
- break;
- case VIRTIO_CONSOLE_PORT_NAME:
- /*
- * Skip the size of the header and the cpkt to get the size
- * of the name that was sent
- */
- name_size = buf->len - buf->offset - sizeo...
2010 Mar 30
3
[PATCH 4/4] virtio: disable multiport console support.
...nit_port_console(port);
- /*
- * Could remove the port here in case init fails - but
- * have to notify the host first.
- */
- break;
- case VIRTIO_CONSOLE_RESIZE:
- if (!is_console_port(port))
- break;
- port->cons.hvc->irq_requested = 1;
- resize_console(port);
- break;
- case VIRTIO_CONSOLE_PORT_OPEN:
- port->host_connected = cpkt->value;
- wake_up_interruptible(&port->waitqueue);
- break;
- case VIRTIO_CONSOLE_PORT_NAME:
- /*
- * Skip the size of the header and the cpkt to get the size
- * of the name that was sent
- */
- name_size = buf->len - buf->offset - sizeo...
2010 Apr 16
0
Update virtio spec with new virtio console ABI information
...out Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_CONSOLE_PORT 1
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_RESIZE 2
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_PORT_OPEN 3
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_PORT_NAME 4
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_PORT_REMOVE 5
+\change_inserted 0 1271400378
+
+\end_layout
+
+\...
2010 Apr 16
0
Update virtio spec with new virtio console ABI information
...out Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_CONSOLE_PORT 1
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_RESIZE 2
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_PORT_OPEN 3
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_PORT_NAME 4
\end_layout
\begin_layout Plain Layout
+\change_deleted 0 1271400377
+
#define VIRTIO_CONSOLE_PORT_REMOVE 5
+\change_inserted 0 1271400378
+
+\end_layout
+
+\...
2009 Aug 25
3
Extending virtio_console to support multiple ports
Hello all,
Here is a new iteration of the patch series that implements a
transport for guest and host communications.
The code has been updated to reuse the virtio-console device instead
of creating a new virtio-serial device.
I've tested for compatibility (old qemu & new kernel, new qemu & old
kernel, new qemu & new kernel) and it all works fine.
There are a few items on my
2009 Aug 25
3
Extending virtio_console to support multiple ports
Hello all,
Here is a new iteration of the patch series that implements a
transport for guest and host communications.
The code has been updated to reuse the virtio-console device instead
of creating a new virtio-serial device.
I've tested for compatibility (old qemu & new kernel, new qemu & old
kernel, new qemu & new kernel) and it all works fine.
There are a few items on my
2010 Mar 23
0
[PATCH 09/11] virtio: console: Don't always create a port 0 if using multiport
...t *port)
spin_unlock_irq(&pdrvdata_lock);
port->guest_connected = true;
+ /*
+ * Start using the new console output if this is the first
+ * console to come up.
+ */
+ if (early_put_chars)
+ early_put_chars = NULL;
+
/* Notify host of port being opened */
send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 1);
@@ -1056,14 +1063,8 @@ static void handle_control_message(struct ports_device *portdev,
switch (cpkt->event) {
case VIRTIO_CONSOLE_PORT_ADD:
if (port) {
- /*
- * This can happen for port 0: we have to
- * create a console port during probe() as was
- * the behaviour befo...
2010 Mar 23
0
[PATCH 09/11] virtio: console: Don't always create a port 0 if using multiport
...t *port)
spin_unlock_irq(&pdrvdata_lock);
port->guest_connected = true;
+ /*
+ * Start using the new console output if this is the first
+ * console to come up.
+ */
+ if (early_put_chars)
+ early_put_chars = NULL;
+
/* Notify host of port being opened */
send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 1);
@@ -1056,14 +1063,8 @@ static void handle_control_message(struct ports_device *portdev,
switch (cpkt->event) {
case VIRTIO_CONSOLE_PORT_ADD:
if (port) {
- /*
- * This can happen for port 0: we have to
- * create a console port during probe() as was
- * the behaviour befo...
2010 Sep 16
2
[PATCH 1/2] virtio: console: Fix poll blocking even though there is data to read
From: Hans de Goede <hdegoede at redhat.com>
I found this while working on a Linux agent for spice, the symptom I was
seeing was select blocking on the spice vdagent virtio serial port even
though there were messages queued up there.
virtio_console's port_fops_poll checks port->inbuf != NULL to determine
if read won't block. However if an application reads enough bytes from
2010 Sep 16
2
[PATCH 1/2] virtio: console: Fix poll blocking even though there is data to read
From: Hans de Goede <hdegoede at redhat.com>
I found this while working on a Linux agent for spice, the symptom I was
seeing was select blocking on the spice vdagent virtio serial port even
though there were messages queued up there.
virtio_console's port_fops_poll checks port->inbuf != NULL to determine
if read won't block. However if an application reads enough bytes from
2014 Dec 01
0
[PATCH v8 47/50] virtio_console: virtio 1.0 support
..._nr_ports - 1);
break;
}
- add_port(portdev, cpkt->id);
+ add_port(portdev, virtio32_to_cpu(vdev, cpkt->id));
break;
case VIRTIO_CONSOLE_PORT_REMOVE:
unplug_port(port);
@@ -1670,7 +1674,7 @@ static void handle_control_message(struct ports_device *portdev,
break;
}
case VIRTIO_CONSOLE_PORT_OPEN:
- port->host_connected = cpkt->value;
+ port->host_connected = virtio16_to_cpu(vdev, cpkt->value);
wake_up_interruptible(&port->waitqueue);
/*
* If the host port got closed and the host had any
@@ -1752,7 +1756,7 @@ static void control_work_handler(struct work_struct...
2014 Dec 01
0
[PATCH v8 47/50] virtio_console: virtio 1.0 support
..._nr_ports - 1);
break;
}
- add_port(portdev, cpkt->id);
+ add_port(portdev, virtio32_to_cpu(vdev, cpkt->id));
break;
case VIRTIO_CONSOLE_PORT_REMOVE:
unplug_port(port);
@@ -1670,7 +1674,7 @@ static void handle_control_message(struct ports_device *portdev,
break;
}
case VIRTIO_CONSOLE_PORT_OPEN:
- port->host_connected = cpkt->value;
+ port->host_connected = virtio16_to_cpu(vdev, cpkt->value);
wake_up_interruptible(&port->waitqueue);
/*
* If the host port got closed and the host had any
@@ -1752,7 +1756,7 @@ static void control_work_handler(struct work_struct...
2009 Sep 11
1
Multiple ports support for virtio_console; major number for dev
Hello,
This is the patch that I have for adding support for multiple ports to
virtio_console. It's pretty stable in my testing so far and the memory
corruption that I had earlier has been resolved in linux-next so I'm
proposing this for inclusion.
This currently uses device major number 60 from the experimental range;
Alan could you please reserve a new major number for virtio_console?
2009 Sep 11
1
Multiple ports support for virtio_console; major number for dev
Hello,
This is the patch that I have for adding support for multiple ports to
virtio_console. It's pretty stable in my testing so far and the memory
corruption that I had earlier has been resolved in linux-next so I'm
proposing this for inclusion.
This currently uses device major number 60 from the experimental range;
Alan could you please reserve a new major number for virtio_console?