summaryrefslogtreecommitdiff
path: root/hw/char
AgeCommit message (Collapse)AuthorFilesLines
2013-10-02sh4: Fix serial line access for Linux kernels later than 3.2Guenter Roeck1-2/+0
With Linux kernel version 3.3 or later, qemu fails with the following message: sh_serial: unsupported read from 0x18 Aborted Reported-and-analyzed-by: Rob Landley <rob@landley.net> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-09-20s390/sclplmconsole: Add support for SCLP line-mode consoleHeinz Graalfs2-1/+399
Add simple support for SCLP line-mode also known as operating system messages. This can be added in addition to or instead of the SCLP full screen console with -device sclplmconsole. Signed-off-by: Heinz Graalfs <graalfs@linux.vnet.ibm.com> Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2013-09-20s390/eventfacility: allow childs to handle more than 1 event typeChristian Borntraeger1-3/+3
Currently all handlers (quiesce, console) only handle one event type. Some drivers will handle multiple (compatible) event types. Rework the code accordingly. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Alexander Graf <agraf@suse.de>
2013-09-20s390/eventfacility: remove unused event_type variableChristian Borntraeger1-1/+0
The event_type variable is never used. Get rid of it. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Alexander Graf <agraf@suse.de>
2013-09-20s390/sclp: add reset() functionsHeinz Graalfs1-4/+13
Add reset() functions for event-facility, sclpconsole, and sclpquiesce. The reset() functions perform variable initialization at IPL and e.g. when monitor system_reset is called. Signed-off-by: Heinz Graalfs <graalfs@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com> Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2013-09-20s390/sclpconsole: Add code to support live migration for sclpconsoleHeinz Graalfs1-0/+18
This patch adds the necessary life migration pieces to the sclp code by using vmstate_register. Signed-off-by: Heinz Graalfs <graalfs@linux.vnet.ibm.com> Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2013-09-20s390/sclpconsole: modify definition of input bufferHeinz Graalfs1-38/+16
To use VMState for migration, we need to adapt some sclp code: - allocate console buffer as part of the console - change semantic of sclpconsole offset fields Signed-off-by: Heinz Graalfs <graalfs@linux.vnet.ibm.com> Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2013-09-03Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into ↵Anthony Liguori4-6/+8
staging QOM device refactorings * Fix QOM and ISA documentation errors * Extend object_initialize() et al. to check the instance size # gpg: Signature made Fri 30 Aug 2013 02:19:48 PM CDT using RSA key ID 3E7E013F # gpg: Can't check signature: public key not found # By Andreas Färber (14) and others # Via Andreas Färber * afaerber/tags/qom-devices-for-anthony: isa: Fix documentation of isa_register_portio_list() qom: Assert instance size in object_initialize_with_type() qom: Pass available size to object_initialize() qdev: Pass size to qbus_create_inplace() virtio-mmio: Pass size to virtio_mmio_bus_new() virtio-ccw: Pass size to virtio_ccw_bus_new() s390-virtio-bus: Pass size to virtio_s390_bus_new() virtio-pci: Pass size to virtio_pci_bus_new() usb: Pass size to usb_bus_new() scsi: Pass size to scsi_bus_new() pci: Pass size to pci_bus_new_inplace() ide: Pass size to ide_bus_new() ipack: Pass size to ipack_bus_new_inplace() intel-hda: Pass size to hda_codec_bus_init() qom: Fix object_initialize_with_type() argument name in documentation virtio: Remove unnecessary OBJECT() casts object: Fix typo in qom/object.h
2013-09-02pseries: Fix stalls on hypervisor virtual consoleAnton Blanchard1-0/+2
A number of users are reporting stalls when using the pseries hypervisor virtual console. A simple test case is to paste 15 or 17 characters at a time into the console. Pasting 15 characters at a time works fine but pasting 17 characters hangs for a random amount of time. Other activity (network, qemu monitor etc) unblocks it. If qemu-char tries to send more than 16 characters at once, vty_can_receive returns false. At this point we have to wait for the guest to consume that output. Everything is good so far. The problem occurs when the the guest does consume the output. We need to signal back to the qemu-char layer that we are ready for more input. Without this we block until something else kicks us (eg network activity). Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Alexander Graf <agraf@suse.de>
2013-08-30qdev: Pass size to qbus_create_inplace()Andreas Färber2-3/+3
To be passed to object_initialize(). Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument is void*, so drop some superfluous (BusState *) casts or direct parent field usages. Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-08-30ipack: Pass size to ipack_bus_new_inplace()Andreas Färber3-3/+5
To be passed to qbus_create_inplace(). Simplify DEVICE() cast to avoid parent field access. Reviewed-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-08-26Merge remote-tracking branch 'stefanha/block' into stagingAnthony Liguori3-22/+22
# By Alex Bligh (32) and others # Via Stefan Hajnoczi * stefanha/block: (42 commits) win32-aio: drop win32_aio_flush_cb() aio-win32: replace incorrect AioHandler->opaque usage with ->e aio / timers: remove dummy_io_handler_flush from tests/test-aio.c aio / timers: Remove legacy interface aio / timers: Switch entire codebase to the new timer API aio / timers: Add scripts/switch-timer-api aio / timers: Add test harness for AioContext timers aio / timers: convert block_job_sleep_ns and co_sleep_ns to new API aio / timers: Convert rtc_clock to be a QEMUClockType aio / timers: Remove main_loop_timerlist aio / timers: Rearrange timer.h & make legacy functions call non-legacy aio / timers: Add qemu_clock_get_ms and qemu_clock_get_ms aio / timers: Remove legacy qemu_clock_deadline & qemu_timerlist_deadline aio / timers: Remove alarm timers aio / timers: Add documentation and new format calls aio / timers: Use all timerlists in icount warp calculations aio / timers: Introduce new API timer_new and friends aio / timers: On timer modification, qemu_notify or aio_notify aio / timers: Convert mainloop to use timeout aio / timers: Convert aio_poll to use AioContext timers' deadline ... Message-id: 1377202298-22896-1-git-send-email-stefanha@redhat.com Signed-off-by: Anthony Liguori <anthony@codemonkey.ws>
2013-08-22aio / timers: Switch entire codebase to the new timer APIAlex Bligh3-22/+22
This is an autogenerated patch using scripts/switch-timer-api. Switch the entire code base to using the new timer API. Note this patch may introduce some line length issues. Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-08-20Convert stderr message calling error_get_pretty() to error_report()Seiji Aguchi1-2/+3
Convert stderr messages calling error_get_pretty() to error_report(). Timestamp is prepended by -msg timstamp option with it. Per Markus's comment below, A conversion from fprintf() to error_report() is always an improvement, regardless of error_get_pretty(). http://marc.info/?l=qemu-devel&m=137513283408601&w=2 But, it is not reasonable to convert them at one time because fprintf() is used everwhere in qemu. So, it should be done step by step with avoiding regression. Signed-off-by: Seiji Aguchi <seiji.aguchi@hds.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2013-08-01virtio-console: Use exitfn for virtserialport, tooAndreas Färber1-0/+1
virtconsole and virtserialport are identical in every other aspect except for the distinguishing VirtIOSerialPortClass::is_console field. Cc: qemu-stable@nongnu.org Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de> Message-id: 1375313326-14966-1-git-send-email-afaerber@suse.de Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-07-30s390/sclpconsole: handle char layer busy conditionsHeinz Graalfs1-17/+1
Handle busy conditions (errno=EAGAIN) in char layer by using the new char layer in the sclp console. Signed-off-by: Heinz Graalfs <graalfs@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2013-07-29pl011: QOM'ify pl011 and pl011_luminaryAndreas Färber1-30/+32
Let the Luminary variant inherit from the ARM one, overwriting its ID on instance_init. Introduce type constant and use QOM casts. Replace triplicated SysBusDevice initfn with QOM realizefn and instance_init. Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29pl011: Rename pl011_stateAndreas Färber1-26/+26
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29milkymist-uart: QOM cast cleanupAndreas Färber1-5/+10
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29lm32_uart: QOM cast cleanupAndreas Färber1-4/+8
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29lm32_juart: QOM cast cleanupAndreas Färber1-8/+11
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29lm32_juart: Relocate and tidy headerAndreas Färber1-1/+1
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29imx_serial: QOM cast cleanupAndreas Färber1-6/+10
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29grlib_apbuart: QOM cast cleanupAndreas Färber1-4/+9
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29exynos4210_uart: QOM cast cleanupAndreas Färber1-11/+15
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29escc: QOM cast cleanupAndreas Färber1-8/+11
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29cadence_uart: QOM cast cleanupAndreas Färber1-3/+7
Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29xilinx_uartlite: QOM cast cleanupsAndreas Färber1-3/+8
Introduce type constant and use QOM casts. Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29xilinx_uartlite: Rename xlx_uartlite to XilinxUARTLiteAndreas Färber1-11/+10
Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29etraxfs_ser: QOM cast cleanupsAndreas Färber1-16/+21
Rename etrax_serial to ETRAXSerial, introduce type constant and use QOM casts. Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-07-29devices: Associate devices to their logical categoryMarcel Apfelbaum9-0/+12
The category will be used to sort the devices displayed in the command line help. Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com> Message-id: 1375107465-25767-4-git-send-email-marcel.a@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-07-29pseries: savevm support for PAPR VIO logical ttyDavid Gibson1-0/+16
This patch adds the necessary VMStateDescription information to support savevm/loadvm for the spapr_tty (PAPR logical serial) device. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Message-id: 1374175984-8930-5-git-send-email-aliguori@us.ibm.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-07-15char/cadence_uart: Fix reset for unattached instancesPeter Crosthwaite1-1/+3
commit 1db8b5efe0c2b5000e50691eea61264a615f43de introduced an issue where QEMU would segfault if you have an unattached Cadence UART. Fix by guarding the flush-on-reset logic on there being a qemu_chr attachment. Reported-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Tested-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Message-id: 9009578ee10a50d994b2e10aa2840d73765f5968.1370577272.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2013-07-04hw/c*: pass owner to memory_region_init* functionsPaolo Bonzini14-23/+27
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-07-04escc: rename struct to ESCCStatePaolo Bonzini1-17/+17
We are using the same struct name for two devices. 8250 is widespread enough that this causes some confusion, rename the other instance. Reviewed-by: Andreas Faerber <afaerber@suse.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-07-04memory: add owner argument to initialization functionsPaolo Bonzini19-29/+29
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2013-06-24cadence_uart: Handle backend tx errorsEdgar E. Iglesias1-3/+1
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2013-06-17char/serial: fix copy&paste error (fifo8_is_full vs empty)Vladimir Senkov1-1/+1
Copy&paste error in serial.c causes a crash when attempting to read from UART (if there is no data to be read) Signed-off-by: Vladimir Senkov <hangup@gmail.com> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-06-15Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpuBlue Swirl5-43/+82
* 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu: qdev: Drop FROM_QBUS() macro isa: QOM'ify ISADevice isa: QOM'ify ISABus i8259: Convert PICCommonState to use QOM realizefn kvm/i8259: QOM'ify some more i8259: QOM'ify some more i8254: Convert PITCommonState to QOM realizefn kvm/i8254: QOM'ify some more i8254: QOM'ify some more isa: Use realizefn for ISADevice cs4231a: QOM'ify some more gus: QOM'ify some more
2013-06-11char/serial: serial_ioport_write: Factor out common codePeter Crosthwaite1-7/+3
These three lines are common to both FIFO and regular mode. Just factor them out to outside the if rather than replicate the same lines inside both if and else. Cc: qemu-trivial@nongnu.org Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-06-11char/serial: Use generic Fifo8Peter Crosthwaite1-64/+34
Use the generic Fifo8 helper provided by QEMU, rather than re-implement privately. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-06-11char/serial: cosmetic fixes.Peter Crosthwaite1-11/+19
Some cosmetic fixes to char/serial fixing some checkpatch errors. Cc: qemu-trivial@nongnu.org Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-06-07isa: QOM'ify ISADeviceAndreas Färber1-6/+8
Rename its parent field and use DEVICE() where necessary. Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-06-07isa: Use realizefn for ISADeviceAndreas Färber5-37/+74
Drop ISADeviceClass::init and the resulting no-op initfn and let children implement their own realizefn. Adapt error handling. Split off an instance_init where sensible. Signed-off-by: Andreas Färber <afaerber@suse.de>
2013-06-01debugcon: fix compiler warning when open DEBUG_DEBUGCONliguang1-2/+2
compiler warnings: CC hw/char/debugcon.o hw/char/debugcon.c: In function ‘debugcon_ioport_write’: hw/char/debugcon.c:58: warning: format ‘%02x’ expects type ‘unsigned int’, but argument 3 has type ‘uint64_t’ hw/char/debugcon.c: In function ‘debugcon_ioport_read’: hw/char/debugcon.c:70: warning: format ‘%04x’ expects type ‘unsigned int’, but argument 2 has type ‘hwaddr’ Signed-off-by: liguang <lig.fnst@cn.fujitsu.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-06-01debugcon: make debug message more readableliguang1-1/+1
before change: Bdebugcon: write addr=0x0000 val=0x6f odebugcon: write addr=0x0000 val=0x6f odebugcon: write addr=0x0000 val=0x74 tdebugcon: write addr=0x0000 val=0x69 idebugcon: write addr=0x0000 val=0x6e ndebugcon: write addr=0x0000 val=0x67 gdebugcon: write addr=0x0000 val=0x20 debugcon: write addr=0x0000 val=0x66 after change: B [debugcon: write addr=0x0000 val=0x6f] o [debugcon: write addr=0x0000 val=0x6f] o [debugcon: write addr=0x0000 val=0x74] t [debugcon: write addr=0x0000 val=0x69] i [debugcon: write addr=0x0000 val=0x6e] n [debugcon: write addr=0x0000 val=0x67] g [debugcon: write addr=0x0000 val=0x20] [debugcon: write addr=0x0000 val=0x66] Signed-off-by: liguang <lig.fnst@cn.fujitsu.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-06-01debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCONliguang1-1/+1
when use DEBUG_DEBUGCON, screen spits: debugcon: write addr=0x0000 val=0x00 Rdebugcon: write addr=0x0000 val=0x00 udebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 gdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 pdebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 rdebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 mdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 adebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 Oh, that's wrong, val is not always be 0. this bug caused by lack of length modifier for specifier 'x'. Signed-off-by: liguang <lig.fnst@cn.fujitsu.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2013-05-03virtio-serial: fix command line compatibility.KONRAD Frederic1-1/+2
The bus name is wrong since the refactoring. This keeps the behaviour of the command line. Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com> Message-id: 1367330931-12994-5-git-send-email-fred.konrad@greensocs.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-04-29serial: QOM'ify ISA serialAndreas Färber1-4/+7
Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de> Message-id: 1367093935-29091-16-git-send-email-afaerber@suse.de Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2013-04-29parallel: QOM'ifyAndreas Färber1-3/+8
Introduce type constant and cast macro to obsolete DO_UPCAST(). Prepares for ISA realizefn. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de> Message-id: 1367093935-29091-11-git-send-email-afaerber@suse.de Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>