aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu
Commit message (Collapse)AuthorAgeFilesLines
...
* [IA64][IOEMU] Add back ia64Alex Williamson2008-01-221-0/+3
| | | | | | cset 16789:51a7e508bd01 dropped ia64 from the configure script, add it back Signed-off-by: Alex Williamson <alex.williamson@hp.com>
* ioemu: Use XEN_TARGET_ARCH instead of uname -m.Keir Fraser2008-01-221-32/+4
| | | | Signed-off-by: Bastian Blank <waldi@debian.org>
* hvm, ioemu: Fix the ide/cdrom emulation error on FC7 guest.Keir Fraser2008-01-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | The new libata-eh in the Linux kernel is throwing a fit over the QEMU cdrom device for two reasons: 1) DRQ can be set with ERR_STAT set. This is a violation of the ATAPI state machine. 2) After a TEST_UNIT_READY ATAPI command is sent ERR_STAT is getting set which is correct. But, when the OS issues another ATAPI command ERR_STAT is still set. Which is bad since the next expected command from the OS is REQUEST_SENSE to find out why ERR_STAT is set. bug this fixes: https://bugzilla.novell.com/show_bug.cgi?id=3D291775 Signed-off-by: Brandon Philips <bphilips@suse.de> Porting this qemu fix to xen. Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
* ioemu: replace non-standard ulong with unsigned longKeir Fraser2008-01-181-1/+1
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* qemu-dm: Nicely terminate the device model script, to let it properlyKeir Fraser2008-01-181-2/+8
| | | | | | clean resources. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* hvm: Extboot support for XenKeir Fraser2008-01-173-1/+129
| | | | | | | | | This patch adds extboot to Xen. It should be pretty harmless as the moment because it's never enabled. extboot allows arbitrary block devices to be used to boot guests including SCSI and PV disks. I've tested it with both Windows and Linux guests in QEMU. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* HVM vif without bridge.Keir Fraser2008-01-081-1/+1
| | | | | | | | | | | | | | When using xen without a bridge but NAT or routing, HVM domains can't boot, and qemu-dm-n.log contains: config qemu network with xen bridge for tap0 xenbr0 bridge xenbr0 does not exist! That's because the qemu-ifup script always tries to add the vif to a default-named xenbr0 bridge. On the contrary, PV domains just work fine with the same configuration file except HVM parameters. Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
* [qemu-dm] Fix debugging output in tpm tis modelKeir Fraser2007-12-201-5/+6
| | | | | | | | This fixes the debugging output. Also I am tweaking on the code trying to establish a connection with the external vTPM. Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
* Fix some build system error handling.Keir Fraser2007-12-202-5/+5
| | | | Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* hvm: Fix TPMD and QEMU connectionKeir Fraser2007-12-201-0/+5
| | | | | | | | | | | | In HVM domain, MA_Transmit function in tcgbios sometimes become an error (TCG_NO_RESPONSE). The cause of the error is not to make connection of QEMU and TPMD instance within a timeout of MA_Transmit function. Before the MA_Transmit function was called, the attached patch corrected so that connection of QEMU and TPMD might be completed. Signed-off-by: Kouichi YASAKI <yasaki.kouichi@jp.fujitsu.com>
* ioemu: Do not close slave half of a pty.Keir Fraser2007-12-201-2/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Fix master/slave handling in xenconsoled and qemuKeir Fraser2007-12-191-2/+65
| | | | | | | | | | | | | | | Fix a number of problems with the pty handling: - make openpty() implementation work on Solaris - set raw on the slave fd, not the master, as the master doesn't have a line discipline pushed on Solaris - make sure we don't leak the slave fd returned from openpty() - don't use the 'name' argument of openpty() as it's a security risk - note behaviour of a zero read of the master on Solaris - remove pointless tcget/setattr Signed-off-by: John Levon <john.levon@sun.com> Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
* ioemu/qemu vga: save and restore vram buffer (take 2)Keir Fraser2007-12-121-2/+14
| | | | | | | | | | | The existing stdvga driver from xen-unstable tools/ioemu/hw/vga* does not save the emulated VGA memory contents. The symptoms include video malfunction after restore, including black screen (which can often be fixed by asking the guest to redraw) but also missing font setup etc. The attached patch fixes this by saving the entire VGA memory buffer, just like the Xen ioemu Cirrus emulator does. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Revert 16579:0884e0a5ecc33afac8d60ea09652cf436d1a33ce.Keir Fraser2007-12-122-24/+9
|
* vt-d: Test device assignability in xend, but defer actual assignment to qemu-dm.Keir Fraser2007-12-121-1/+11
| | | | Signed-off-by: Weidong Han <weidong.han@intel.com>
* ioemu/qemu vga: save and restore vram bufferKeir Fraser2007-12-122-9/+24
| | | | | | | | | | | | | | | | | The existing stdvga driver from xen-unstable tools/ioemu/hw/vga* does not save the emulated VGA memory contents. The symptoms include video malfunction after restore, including black screen (which can often be fixed by asking the guest to redraw) but also missing font setup etc. The attached patch fixes this by saving the entire VGA memory buffer, just like the Xen ioemu Cirrus emulator does. I have reinterpreted the `is_vbe' byte, which is related to CONFIG_BOCHS_VBE, as a general flags word. This enables my code to allow old images to be restored (albeit with loss of VGA memory), by using another bit in that word to indicate whether the VGA memory dump is present. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* ioemu: Include mouse dz in xenfb event packetKeir Fraser2007-12-101-4/+7
| | | | | | Needed for mouse wheel support in a PV guest. Signed-off-by: Pat Campbell <plc@novell.com>
* qemu 16550 uart: Fast-drop bursts of transmitted characters to avoidKeir Fraser2007-12-081-6/+12
| | | | | stalling due to a disconnected pipe or pty. Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
* ioemu: Include termios.h and sys/ioctl.h to get TIOCM_* definitions.Keir Fraser2007-12-071-7/+2
| | | | | | This is preferable to hard-coding them in the ioemu source file, or including a Linux-specific header. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* [IOEMU] Correct hu keymap definitionsKeir Fraser2007-12-071-15/+14
| | | | Signed-off-by: Pat Campbell <plc@novell.com>
* [IOEMU] Add latin2 key symbol definitions.Keir Fraser2007-12-071-0/+59
| | | | | | | Allows Hungarian users plus others to enter their language specific accented characters. Signed-off-by: Pat Campbell <plc@novell.com>
* Fix ioemu compile: serial.c was including a Linux-specific header.Keir Fraser2007-12-071-1/+7
| | | | Signed-off-by: John Levon <john.levon@sun.com>
* hvm: buffered_ioreq does not need a 'df' field. Add explicit bitfieldKeir Fraser2007-12-061-1/+1
| | | | | padding to ioreq and buf_ioreq structs. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* qemu-dm: Limit transmit retries from virtual UART FIFO.Keir Fraser2007-12-061-6/+9
| | | | Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
* [QEMU-DM] Upgrade emulated UART to 16550A.Keir Fraser2007-12-051-199/+276
| | | | | | | | | | | | | | | | | | | | This patch adds 16550 emulation to qemu-dm. I still consider it a work in progress, but from my testing, it consistently performs better than the old code already, sometimes considerably so (on my laptop, dumping out data over serial from a HVM DomU -> pty in Dom0 was up to 5.3 times faster than with the old 16450 code). I can consistenly reach full 115200 baud speeds over physical serial lines when the virtual device is backed by a phys port, which I never could with the old code. There are still some things to be done. I want to add proper error handling, so that overflow/framing & parity errors on the physical port get detected and reported by the virtual port. Also, now that FIFOs are in place, I believe performance could be improved significantly by putting some code into the hypervisor so that reads & writes from the FIFOs don't have to exit into qemu-dm at all. I'm also reading up on the specs for newer uarts with deeper FIFOs. Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
* [QEMU-DM] Modem control line & msl/mcr register support.Keir Fraser2007-12-053-12/+144
| | | | | | | | | | | | | | | | | | | | | This patch enables handling of the modem/flow control lines of a serial port when the backend for the virtual port is a physical serial port. During initialization, it tries to load the msr with the detected status from the real port (this is consistent with physical uart, which starts with its msr values set according to the status of the modem status lines). If the ioctl returns -ENOTSUP, then the code assumes the backend is not a real serial port and will disable any further attempts to manipulate or read the physical port's line status. It's tries to be as "correct" as possible in its msr/msl handling, with the exception of modem line status change interrupts. A real 16550 uart apparently have a delay time of 250ns between when a modem status line changes and the IRQ line goes high. In this patch, an "idle" port is polled for line status changes only if the guest has enabled UART_IER_MSI is enabled, and only polled every 10 ms. Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
* ioemu: Add e100 NIC support. Req'd for w2k3/IA64.Keir Fraser2007-11-213-1/+2467
| | | | Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
* hvm passthru: Uses of XC_PAGE_MASK should be XC_PAGE_SIZE-1.Keir Fraser2007-11-161-2/+2
| | | | Signed-off-by: Weidong Han <weidong.han@intel.com>
* pvfb: PVFB SDL backend chokes on bogus screen updatesKeir Fraser2007-11-161-3/+18
| | | | | | | Bogus screen update requests from buggy or malicous frontend make SDL crash. The VNC backend silently ignores them. Catch and log them. Signed-off-by: Markus Armbruster <armbru@redhat.com>
* merge with xen-unstable.hg (staging)Alex Williamson2007-11-081-8/+9
|\
| * hvm: Clean up buf_ioreq handling.Keir Fraser2007-11-081-8/+9
| | | | | | | | | | | | Also, disable stdvga caching on hvm save/restore, as the shadow vga state is not preserved. Signed-off-by: Keir Fraser <keir@xensource.com>
* | [IA64] Fix breakage from upstream and remove duplicate codeAlex Williamson2007-11-071-23/+5
| | | | | | | | | | | | | | | | | | | | - Get rid of PAGE_SIZE usage in arch-ia64.h when building tools. - Now that more of xen_init_fv is identical to x86 code, share the code rather than duplicate it. - Change a few things that came over from the ia64 tree to use the XC_* macros as already done upstream. Signed-off-by: Alex Williamson <alex.williamson@hp.com>
* | merge with xen-unstable.hg (staging)Alex Williamson2007-11-073-34/+28
|\|
| * ioemu: Do not use PAGE_SHIFT/PAGE_SIZE/PAGE_MASK macros. Use the libxcKeir Fraser2007-11-072-40/+33
| | | | | | | | | | provided versions. Signed-off-by: Keir Fraser <keir@xensource.com>
| * HVM device passthru: Correct PCI_EXP_DEVCTL_FLRKeir Fraser2007-11-072-7/+8
| | | | | | | | | | | | | | | | | | This patch corrects PCI_EXP_DEVCTL_FLR so that function level reset will be really executed, and also replaces some magic numbers with macros. Signed-off-by: Anthony Xu <anthony.xu@intel.com> Signed-off-by: Weidong Han <weidong.han@intel.com>
* | [IA64] vti save-restore: ia64 qemu-dm boot clean up.Alex Williamson2007-11-071-15/+28
|/ | | | | | Use xc_get_hvm_param() Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* ioemu: Clean up compile warnings.Keir Fraser2007-11-055-11/+15
| | | | | Signed-off-by: Atsushi SAKAI <sakaia@jp.fujitsu.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* ioemu: Remove dependency on linux/input.hKeir Fraser2007-11-021-1/+4
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* ioemu: ioemu portion of buffered-io fix.Keir Fraser2007-11-011-4/+1
| | | | | Signed-off-by: Robert Phillips <rphillips@virtualiron.com> Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
* qemu vnc auth 3/4: Add VNC auth support from upstream QEMUKeir Fraser2007-10-309-48/+1543
| | | | | | | | | | | | | | | | | | | This patch adds in the upstream QEMU VNC authentication code. This spports the previous VNC password auth scheme, as well as the VeNCrypt protocol extension. The latter allows for performing a TLS handshake, and client verification of the server identify using x509 certificates. It is also possible for the server to request a client certificate and validate that as a simple auth scheme. The code depends on GNU TLS for SSL APIs, and the configure script will auto-detect this. The image.py code is changed to deal with the new syntax for the -vnc option. In particular password authentication is now enabled by giving the 'password' flag, eg -vnc 0.0.0:1,password Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* qemu vnc auth 2/4: Revert current VNC auth supportKeir Fraser2007-10-307-612/+11
| | | | | | | | | | This patch reverts the current Xen specific implementation of VNC authentication from the QEMU code. This is basically reverting 11840:02506a744315. The idea here is to get the VNC code back to more closely match upstream QEMU, before applying the upstream auth patches. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* qemu vnc auth 1/4: QEMU event handler bug fixKeir Fraser2007-10-301-4/+2
| | | | | | | | | This patch pulls in an upstream QEMU fix for dealing with a problem in the event dispatcher where a write callback gets unregistered while a write event is pending from poll. Without this the QEMU process with deference a NULL pointer and crash. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Fix PVFB device initializationKeir Fraser2007-10-261-0/+49
| | | | | | | | | The final series of patches I sent out lost 2 hunks in the big refactoring patches I did thanks to a messed up rebase/rediff :-( This patch fixes the device nodename initialization so that watches work correctly. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* x86, hvm: Allow Cirrus VGA BIOS to clear framebuffer with minimal PIO writes.Keir Fraser2007-10-261-0/+12
| | | | | Signed-off-by: Ben Guthro <bguthro@virtualron.com> Signed-off-by: Gary Grebus <ggrebus@virtualiron.com>
* x86, hvm: Improve standard VGA performanceKeir Fraser2007-10-262-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch improves the performance of Standard VGA, the mode used during Windows boot and by the Linux splash screen. It does so by buffering all the stdvga programmed output ops and memory mapped ops (both reads and writes) that are sent to QEMU. We maintain locally essential VGA state so we can respond immediately to input and read ops without waiting for QEMU. We snoop output and write ops to keep our state up-to-date. PIO input ops are satisfied from cached state without bothering QEMU. PIO output and mmio ops are passed through to QEMU, including mmio read ops. This is necessary because mmio reads can have side effects. I have changed the format of the buffered_iopage. It used to contain 80 elements of type ioreq_t (48 bytes each). Now it contains 672 elements of type buf_ioreq_t (6 bytes each). Being able to pipeline 8 times as many ops improves VGA performance by a factor of 8. I changed hvm_buffered_io_intercept to use the same registration and callback mechanism as hvm_portio_intercept rather than the hacky hardcoding it used before. In platform.c, I fixed send_timeoffset_req() to sets its ioreq size to 8 (rather than 4), and its count to 1 (which was missing). Signed-off-by: Ben Guthro <bguthro@virtualron.com> Signed-off-by: Robert Phillips <rphillips@virtualiron.com>
* ia64, qemu-dm: Trivial build fix.Keir Fraser2007-10-251-0/+1
| | | | Signed-off-by: Alex Williamson <alex.williamson@hp.com>
* qemu: Add extra tracing around logdirty bitmap setup.Keir Fraser2007-10-251-6/+13
| | | | | Signed-off-by: Ben Guthro <bguthro@virtualron.com> Signed-off-by: Gary Grebus <ggrebus@virtualiron.com>
* hvm: In xenstore_process_logdirty_event(), if a stale shared memoryKeir Fraser2007-10-251-0/+3
| | | | | | | | | key is encountered reset 'seg' to NULL so the shared memory initialization can be retried later. Signed-off-by: Ben Guthro <bguthro@virtualron.com> Signed-off-by: Robert Phillips <rphillips@virtualiron.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* hvm: Improve and limit the messages for unexpected mmio accesses toKeir Fraser2007-10-251-2/+12
| | | | | | | the platform device. Signed-off-by: Ben Guthro <bguthro@virtualron.com> Signed-off-by: Gary Grebus <ggrebus@virtualiron.com>
* pv-qemu 8/10: Add pv console to QEMU paravirt machineKeir Fraser2007-10-255-1/+468
| | | | | | | | | | | | | | | | This patch adds a paravirt console driver to qemu-dm. This is used when the QEMU machine type is 'xenpv', connecting to the ring buffer provided by the guest kernel. The '-serial' command line flag controls how the guest console is exposed. For parity with xenconsoled the '-serial pty' arg can be used. For guests which are running a qemu-dm device model, the xenconsoled daemon is no longer needed for guest consoles. The code for the xen_console.c is based on the original code in tools/console/daemon/io.c, but simplified; since its only dealing with a single guest there's no state tracking to worry about. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>