{
VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port);
- port->is_console = true;
+ port->is_console_dummy = true;
return generic_port_init(vcon, port);
}
static VirtIOSerialPortInfo virtconsole_info = {
.qdev.name = "virtconsole",
.qdev.size = sizeof(VirtConsole),
+ .is_console = true,
.init = virtconsole_initfn,
.exit = virtconsole_exitfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1),
+ DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console_dummy, 1),
DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID),
DEFINE_PROP_CHR("chardev", VirtConsole, chr),
DEFINE_PROP_STRING("name", VirtConsole, port.name),
* this port is a console port so that the guest can hook it
* up to hvc.
*/
- if (port->is_console) {
+ if (port->info->is_console) {
send_control_event(port, VIRTIO_CONSOLE_CONSOLE_PORT, 1);
}
* location 0. This is done for backward compatibility (old
* kernel, new qemu).
*/
- plugging_port0 = port->is_console && !find_port_by_id(port->vser, 0);
+ plugging_port0 = info->is_console && !find_port_by_id(port->vser, 0);
if (find_port_by_id(port->vser, port->id)) {
error_report("virtio-serial-bus: A port already exists at id %u\n",
*/
QEMUBH *bh;
- /* Identify if this is a port that binds with hvc in the guest */
- uint8_t is_console;
+ /* For property backward compatibility, not used otherwise */
+ uint8_t is_console_dummy;
/* Is the corresponding guest device open? */
bool guest_connected;
struct VirtIOSerialPortInfo {
DeviceInfo qdev;
+
+ /* Is this a device that binds with hvc in the guest? */
+ bool is_console;
+
/*
* The per-port (or per-app) init function that's called when a
* new device is found on the bus.