From: Amit Shah Date: Thu, 21 Jan 2010 10:13:26 +0000 (+0530) Subject: virtio-console: Rename virtio-serial.c back to virtio-console.c X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4c36a2ffac3a14e57fe44718010601fbcef228c1;p=qemu.git virtio-console: Rename virtio-serial.c back to virtio-console.c This file was renamed to ease the reviews of the recent changes that went in. Now that the changes are done, rename the file back to its original name. Signed-off-by: Amit Shah Signed-off-by: Anthony Liguori --- diff --git a/Makefile.objs b/Makefile.objs index 77ff7f6b07..e791dd5c2e 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -127,7 +127,7 @@ user-obj-y += cutils.o cache-utils.o hw-obj-y = hw-obj-y += loader.o -hw-obj-y += virtio.o virtio-serial.o +hw-obj-y += virtio.o virtio-console.o hw-obj-y += fw_cfg.o hw-obj-y += watchdog.o hw-obj-$(CONFIG_ECC) += ecc.o diff --git a/hw/virtio-console.c b/hw/virtio-console.c new file mode 100644 index 0000000000..bd44ec6b6e --- /dev/null +++ b/hw/virtio-console.c @@ -0,0 +1,146 @@ +/* + * Virtio Console and Generic Serial Port Devices + * + * Copyright Red Hat, Inc. 2009 + * + * Authors: + * Amit Shah + * + * This work is licensed under the terms of the GNU GPL, version 2. See + * the COPYING file in the top-level directory. + */ + +#include "qemu-char.h" +#include "virtio-serial.h" + +typedef struct VirtConsole { + VirtIOSerialPort port; + CharDriverState *chr; +} VirtConsole; + + +/* Callback function that's called when the guest sends us data */ +static size_t flush_buf(VirtIOSerialPort *port, const uint8_t *buf, size_t len) +{ + VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); + ssize_t ret; + + ret = qemu_chr_write(vcon->chr, buf, len); + + return ret < 0 ? 0 : ret; +} + +/* Readiness of the guest to accept data on a port */ +static int chr_can_read(void *opaque) +{ + VirtConsole *vcon = opaque; + + return virtio_serial_guest_ready(&vcon->port); +} + +/* Send data from a char device over to the guest */ +static void chr_read(void *opaque, const uint8_t *buf, int size) +{ + VirtConsole *vcon = opaque; + + virtio_serial_write(&vcon->port, buf, size); +} + +static void chr_event(void *opaque, int event) +{ + VirtConsole *vcon = opaque; + + switch (event) { + case CHR_EVENT_OPENED: { + virtio_serial_open(&vcon->port); + break; + } + case CHR_EVENT_CLOSED: + virtio_serial_close(&vcon->port); + break; + } +} + +/* Virtio Console Ports */ +static int virtconsole_initfn(VirtIOSerialDevice *dev) +{ + VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, &dev->qdev); + VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); + + port->info = dev->info; + + port->is_console = true; + + if (vcon->chr) { + qemu_chr_add_handlers(vcon->chr, chr_can_read, chr_read, chr_event, + vcon); + port->info->have_data = flush_buf; + } + return 0; +} + +static int virtconsole_exitfn(VirtIOSerialDevice *dev) +{ + VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, &dev->qdev); + VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); + + if (vcon->chr) { + port->info->have_data = NULL; + qemu_chr_close(vcon->chr); + } + + return 0; +} + +static VirtIOSerialPortInfo virtconsole_info = { + .qdev.name = "virtconsole", + .qdev.size = sizeof(VirtConsole), + .init = virtconsole_initfn, + .exit = virtconsole_exitfn, + .qdev.props = (Property[]) { + DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1), + DEFINE_PROP_CHR("chardev", VirtConsole, chr), + DEFINE_PROP_STRING("name", VirtConsole, port.name), + DEFINE_PROP_END_OF_LIST(), + }, +}; + +static void virtconsole_register(void) +{ + virtio_serial_port_qdev_register(&virtconsole_info); +} +device_init(virtconsole_register) + +/* Generic Virtio Serial Ports */ +static int virtserialport_initfn(VirtIOSerialDevice *dev) +{ + VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, &dev->qdev); + VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); + + port->info = dev->info; + + if (vcon->chr) { + qemu_chr_add_handlers(vcon->chr, chr_can_read, chr_read, chr_event, + vcon); + port->info->have_data = flush_buf; + } + return 0; +} + +static VirtIOSerialPortInfo virtserialport_info = { + .qdev.name = "virtserialport", + .qdev.size = sizeof(VirtConsole), + .init = virtserialport_initfn, + .exit = virtconsole_exitfn, + .qdev.props = (Property[]) { + DEFINE_PROP_CHR("chardev", VirtConsole, chr), + DEFINE_PROP_STRING("name", VirtConsole, port.name), + DEFINE_PROP_END_OF_LIST(), + }, +}; + +static void virtserialport_register(void) +{ + virtio_serial_port_qdev_register(&virtserialport_info); +} +device_init(virtserialport_register) diff --git a/hw/virtio-serial.c b/hw/virtio-serial.c deleted file mode 100644 index bd44ec6b6e..0000000000 --- a/hw/virtio-serial.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Virtio Console and Generic Serial Port Devices - * - * Copyright Red Hat, Inc. 2009 - * - * Authors: - * Amit Shah - * - * This work is licensed under the terms of the GNU GPL, version 2. See - * the COPYING file in the top-level directory. - */ - -#include "qemu-char.h" -#include "virtio-serial.h" - -typedef struct VirtConsole { - VirtIOSerialPort port; - CharDriverState *chr; -} VirtConsole; - - -/* Callback function that's called when the guest sends us data */ -static size_t flush_buf(VirtIOSerialPort *port, const uint8_t *buf, size_t len) -{ - VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); - ssize_t ret; - - ret = qemu_chr_write(vcon->chr, buf, len); - - return ret < 0 ? 0 : ret; -} - -/* Readiness of the guest to accept data on a port */ -static int chr_can_read(void *opaque) -{ - VirtConsole *vcon = opaque; - - return virtio_serial_guest_ready(&vcon->port); -} - -/* Send data from a char device over to the guest */ -static void chr_read(void *opaque, const uint8_t *buf, int size) -{ - VirtConsole *vcon = opaque; - - virtio_serial_write(&vcon->port, buf, size); -} - -static void chr_event(void *opaque, int event) -{ - VirtConsole *vcon = opaque; - - switch (event) { - case CHR_EVENT_OPENED: { - virtio_serial_open(&vcon->port); - break; - } - case CHR_EVENT_CLOSED: - virtio_serial_close(&vcon->port); - break; - } -} - -/* Virtio Console Ports */ -static int virtconsole_initfn(VirtIOSerialDevice *dev) -{ - VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, &dev->qdev); - VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); - - port->info = dev->info; - - port->is_console = true; - - if (vcon->chr) { - qemu_chr_add_handlers(vcon->chr, chr_can_read, chr_read, chr_event, - vcon); - port->info->have_data = flush_buf; - } - return 0; -} - -static int virtconsole_exitfn(VirtIOSerialDevice *dev) -{ - VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, &dev->qdev); - VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); - - if (vcon->chr) { - port->info->have_data = NULL; - qemu_chr_close(vcon->chr); - } - - return 0; -} - -static VirtIOSerialPortInfo virtconsole_info = { - .qdev.name = "virtconsole", - .qdev.size = sizeof(VirtConsole), - .init = virtconsole_initfn, - .exit = virtconsole_exitfn, - .qdev.props = (Property[]) { - DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1), - DEFINE_PROP_CHR("chardev", VirtConsole, chr), - DEFINE_PROP_STRING("name", VirtConsole, port.name), - DEFINE_PROP_END_OF_LIST(), - }, -}; - -static void virtconsole_register(void) -{ - virtio_serial_port_qdev_register(&virtconsole_info); -} -device_init(virtconsole_register) - -/* Generic Virtio Serial Ports */ -static int virtserialport_initfn(VirtIOSerialDevice *dev) -{ - VirtIOSerialPort *port = DO_UPCAST(VirtIOSerialPort, dev, &dev->qdev); - VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); - - port->info = dev->info; - - if (vcon->chr) { - qemu_chr_add_handlers(vcon->chr, chr_can_read, chr_read, chr_event, - vcon); - port->info->have_data = flush_buf; - } - return 0; -} - -static VirtIOSerialPortInfo virtserialport_info = { - .qdev.name = "virtserialport", - .qdev.size = sizeof(VirtConsole), - .init = virtserialport_initfn, - .exit = virtconsole_exitfn, - .qdev.props = (Property[]) { - DEFINE_PROP_CHR("chardev", VirtConsole, chr), - DEFINE_PROP_STRING("name", VirtConsole, port.name), - DEFINE_PROP_END_OF_LIST(), - }, -}; - -static void virtserialport_register(void) -{ - virtio_serial_port_qdev_register(&virtserialport_info); -} -device_init(virtserialport_register)