aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu
Commit message (Collapse)AuthorAgeFilesLines
...
| * [qemu patches] Update patches upto changeset 13113:fd1ccd818f2c.Christian Limpach2006-12-211-14/+15
| | | | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
| * [QEMU] Include pthread.h.kfraser@localhost.localdomain2006-12-211-0/+1
| | | | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
| * [qemu patches] Update patches upto changeset 13108:ed815cbdc90e.Christian Limpach2006-12-2015-296/+339
| | | | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
| * [HVM] Add expansion-ROM boot support to the ROMBIOSTim Deegan2006-12-202-1/+3
| | | | | | | | | | | | This is rudimentary support for parts of the BIOS Boot Specification, just enough to use Etherboot ROM images. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
* | [IA64] Clean up VTi memory initialization logicawilliam@xenbuild2.aw2007-01-101-4/+0
|/ | | | | | | | | | | This patch makes the logic in setup_guest() more clear. domain_translate_gpfn_list() is now gone, so we can make memory initializtion code simple. Xend passes memory size which is a sum of normal memory size and GFW memory to QEMU and Libxc. This patch fixes this issue. Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
* Use portable recursive mutex in qemue mapcache.Steven Hand2006-12-151-7/+28
| | | | Signed-off-by: Steven Hand <steven@xensource.com>
* Fix deadlock when accessing IO memory.Steven Hand2006-12-141-1/+1
| | | | Signed-off-by: Steven Hand <steven@xensource.com>
* [IOEMU] Locking needed to access mapcache.kfraser@localhost.localdomain2006-12-132-5/+13
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Merge with xen-ia64-unstable.hgkaf24@localhost.localdomain2006-12-0947-559/+3977
|\
| * [qemu patches] Update patches upto changeset 12814:c3ad3fcfe3.Christian Limpach2006-12-085-19/+495
| | | | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
| * [qemu patches] Update patches upto changeset 12756:1d32fb45e0.Christian Limpach2006-12-0845-559/+3501
| | | | | | | | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* | merge with xen-unstable.hgawilliam@xenbuild2.aw2006-12-087-46/+183
|\|
| * [HVM] qemu mouse: Adds support for USB mouse/tablet status check andkfraser@localhost.localdomain2006-12-072-16/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | restricts Universal Host Controller interrupt generating when received NAK in interrupt transfer. According to usb spec, USB mouse/tablet device returns NAK to host controller if its status does not alter in interrupt transfer. And UHC should leave a TD active when receiving NAK and execute this incompleted TD in a subseqent frame. UHC only generates an interrupt on complete after the TD with ICO bit is completed. This patch make UHC & USB mouse/tablet behave consistently with spec. Signed-off-by: Xinmei Huang <xinmei.huang@intel.com>
| * [VTPM][HVM] Transmit the locality in which the command was sent in thekfraser@localhost.localdomain2006-12-071-3/+9
| | | | | | | | | | highest 3 bits of the 4 bytes prepended to each packet. Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
| * [HVM] qemu: Add guest address-space mapping cache.kfraser@localhost.localdomain2006-12-074-28/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | On IA32 host or IA32 PAE host, at present, generally, we can't create an HVM guest with more than 2G memory, because generally it's almost impossible for Qemu to find a large enough and consecutive virtual address space to map an HVM guest's whole physical address space. The attached patch fixes this issue using dynamic mapping based on little blocks of memory. Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* | [IA64] Fix Vtiawilliam@xenbuild2.aw2006-12-061-20/+12
| | | | | | | | | | | | | | | | Use new foreign page mapping interface Signed-off-by: Xu Anthony <Anthony.xu@intel.com> Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com> Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
* | merge with xen-unstable.hgawilliam@xenbuild.aw2006-12-054-9/+131
|\|
| * Tidy.Ewan Mellor2006-12-041-2/+2
| | | | | | | | Signed-off-by: Ewan Mellor <ewan@xensource.com>
| * Fix numpad handling in QEMU's VNC server. The keymaps that we have includeEwan Mellor2006-12-043-2/+107
| | | | | | | | | | | | | | | | | | information on which keys change depending upon the numlock setting, but this isn't being used. By forcing numlock on and off as necessary, when receiving these keysyms through the VNC connection, we ensure that the server's numlock status is the same as the client's. Signed-off-by: Ewan Mellor <ewan@xensource.com>
| * [QEMU] Error reporting in IDE device model.kfraser@localhost.localdomain2006-12-041-7/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following on from my patch to make blktap report I/O errors back to guest OS, a similar problem exists in the QEMU codebase. The IDE driver never reports I/O errors during read/write operations back to the guest OS. Instead all I/O operations are reported as succesfull. If, for example, the host FS holding the disk image fills up, then writes may fail due to lack of space. Since the guest OS never sees these failures, it assumes all is well & will continue writing. Eventually this can lead to severe & unrecoverable filesystem corruption. The attached patch fixes QEMU ide driver such that any failure of a read or write operation sets the appropriate IDE status/error registers. Having read the ATA-6 spec I think the most compliant behaviour is to set the status register to 'READY_STAT | ERR_STAT', and the error register to ABRT_ERR. There is already a convenience function ide_abort_command() in the QEMU codebase which does just this, so the attached patch simply calls that function. With this patch the guest OS sees the I/O failure & the kernel logs IDE errors and then retries the operation. This at least ensures that the guest can be shutdown the out of space issue in the host corrected and the guest restarted, without any serious filesystem damage having occurred. From: Daniel Berrange <berrange@redhat.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* | merge with xen-unstable.hgawilliam@xenbuild.aw2006-12-044-21/+32
|\|
| * [QEMU] Do shift-key processing in QEMU monitor terminal when connected via VNC.kfraser@localhost.localdomain2006-11-301-2/+18
| | | | | | | | Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
| * [QEMU] usb-uhci: Data buffer is too smallkfraser@localhost.localdomain2006-11-301-1/+1
| | | | | | | | | | | | | | | | The data buffer is only 1280 bytes long but the user-supplied length can be as large as 0x7ff. This patch extends the buffer to 2048 bytes. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
| * [QEMU] Simpler workaround for guest writes to PCI configkfraser@localhost.localdomain2006-11-302-18/+13
| | | | | | | | | | space that extend past byte 0xff. Signed-off-by: Keir Fraser <keir@xensource.com>
* | [IA64] Change to new interrupt deliver mechanism.awilliam@xenbuild.aw2006-12-011-2/+2
|/ | | | | | Signed-off-by: Anthony Xu <anthony.xu@intel.com>
* [QEMU] pci: Unaligned config read/write overflowkfraser@localhost.localdomain2006-11-281-8/+16
| | | | | | | | | | | The default config read/write handlers allows a 4-byte read/write at address 255. This can clobber the field after the config area. This happens to be the PCIBus pointer in the PCIDevice structure. This patch stops this from reducing the read/write to the (largest multiple of 2) number of bytes within the config area. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* [XEN] Cleanups to phys/mach address handling.kfraser@localhost.localdomain2006-11-271-22/+0
| | | | | | | | | | 1. Balloon driver does not need to set M2P entry. This is done by the populate_physmap hypercall. 2. Xen now translates foreign mappings from GMFN->MFN. Tools are simplified because of this. Signed-off-by: Keir Fraser <keir@xensource.com>
* [QEMU] fdc: Limit sector size to 16Kkfraser@localhost.localdomain2006-11-271-1/+1
| | | | | | | | | | | | | | | In fdctrl_start_transfer the sector size field (fifo[5]) is not checked for overflows. This allows an arbitrarily large sector size to be used, which can in turn result in a negative data_len field that is then used for DMA transfers. This can lead to the corrpuption of qemu state because some subsequent checks on the transfer length is conducted using signed integers. This patch limits the value fifo[5] to 7 which is the standard limit on floppy sector size. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* [HVM] Move PCI and PCI-ISA bridge setup to hvmloader.kfraser@localhost.localdomain2006-11-221-246/+1
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* [QEMU] Add TCP_NODELAY to tcp connections exporting serial ports.PeterJohnston2006-11-221-0/+3
| | | | | | Signed-off-by: Steven Smith <sos22@cam.ac.uk>
* [HVM] Reworked interrupt distribution logic.kfraser@localhost.localdomain2006-11-213-4/+401
| | | | | | | | | | | | | TODO: 1. Fix IO-APIC ID to not conflict with LAPIC IDS. 2. Fix i8259 device model (seems to work already though!). 3. Add INTSRC overrides in MPBIOS and ACPI tables so that PCI legacy IRQ routing always ends up at an IO-APIC input with level trigger. Restricting link routing to {5,6,10,11} and setting overrides for all four of those would work. Signed-off-by: Keir Fraser <keir@xensource.com>
* [QEMU] rtl8139: Disallow chaining above 64Kkfraser@localhost.localdomain2006-11-171-4/+4
| | | | | | | | | | | As it stands the 8139C+ TX chaining is only bounded by realloc failure. This is contrary to how the real hardware operates. It also has DoS potential when ioemu runs in dom0. This patch makes any attempt to chain a frame beyond 64K fail immediately. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* [TOOLS] Provide common LFS CFLAGS/LDFLAGS additions in Rules.mk.kfraser@localhost.localdomain2006-11-171-1/+2
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Fix clobbering bug when hde is specified; QEMU only supports up to hdd, butEwan Mellor2006-11-161-1/+1
| | | | | | | hde is accepted and writes off the end of some tables. From Hiromichi Itou <ito@begi.net>. Signed-off-by: Ewan Mellor <ewan@xensource.com>
* [IA64] Fix weird behaviour when configuring >3G memory for a VTI domain.kfraser@localhost.localdomain2006-11-141-3/+3
| | | | Signed-off-by, Anthony Xu < anthony.xu@intel.com >
* [IOEMU] Simply fake-bios init of the piix4acpi device.kfraser@localhost.localdomain2006-11-132-12/+8
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* [HVM][IA64] Due to IPF Guest Firmware will enumerate PCI, shutdown inkfraser@localhost.localdomain2006-11-131-2/+10
| | | | | | IPF doesn't work This patch makes shutdown work for IPF. Signed-off-by, Anthony Xu <anthony.xu@intel.com>
* [IOEMU] Fix Linux smp guest hangs with complaint "BUG: soft lock detected on ↵kfraser@localhost.localdomain2006-11-131-6/+20
| | | | | | | | | | | | | | | | | | | | | | | CPU#0" When console=ttyS0 in guest grub configuration and serial='pty' in vmx configure file. The root cause to this bug is the characteristic of PTY emulator in Qemu. PTY has write/read end with some buffer. Write to a buffer will be failed after the buffer is full until read end reads the data from buffer. Previous to changeset 12026, write to serial port would fail quietly when buffer for pty is full. With changeset 12026, write to serial port would retry 3 times in 300ms if failed, even without notifying guest using serial irq. Smp guest will hang, waiting for an interrupt. For SMP guest, a watchdog thread should be executed periodically, otherwise soft lockup is detected. With this patch, an upper threshold of total consecutive retries is added and serial interrupt would be sent after retry 3 times for each write request, even if failed. Signed-off-by: Xinmei Huang <xinmei.huang@intel.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* qemu error message for xc_domain_translate_gpfn_list() failure incorrectkaf24@localhost.localdomain2006-11-111-1/+2
| | | | Signed-off-by: Russell Blaine <russell.blaine@sun.com>
* [HVM] Clarify ioreq interactions between Xen and qemu-dm.kfraser@localhost.localdomain2006-11-101-15/+23
| | | | | | | | | | | | | | | | | | | | | | Mainly this involves placing appropriate barriers before updating the shared state variable, and after reading from it. The model is that it is state switches that drive the transfer of data to and fro in the shared ioreq structure. So writers should wmb() before updating the variable; readers should rmb() after seeing a state change. These barriers aren't actually required given the current code structure since the communication flow is really driven by event-channel notifications, which happen to provide a sufficient barrier. However, relying on this for all time and on all architectures seems foolish and the barriers have negligible cost compared with the totoal ioreq round-trip latency. Also the model of communications being driven by the shared-memory state variable more closely matches other inter-domain protocols (where there is usually a shared-memory producer index), and is hence a model we are familiar with and likely to implement correctly. Signed-off-by: Keir Fraser <keir@xensource.com>
* [HVM] Clean up IOREQ state managemnet and evtchn notifications.kfraser@localhost.localdomain2006-11-092-12/+3
| | | | | | | Based on a patch from Xin Li <xin.b.li@intel.com>. Changed significantly on the Xen side -- not as cut down as the original patch: this one keeps the xen_event_channel 'API' unchanged. Signed-off-by: Keir Fraser <keir@xensource.com>
* [IA64][VMX] Fix 3G memory limit for VTi domain.kfraser@localhost.localdomain2006-11-091-5/+5
| | | | Signed-off-by : Zhang xiantao <xiantao.zhang@intel.com>
* Add the Japanese keymap for VNC Server.kasai.takanori@jp.fujitsu.com2006-11-082-0/+13
| | | | Signed-off-by: Takanori Kasai < kasai.takanori@jp.fujitsu.com >
* [HVM] Replace shared-memory PIC state with a set-irq-level hypercall.kfraser@localhost.localdomain2006-11-071-41/+1
| | | | | | | | | | | | | | This simplifies the IRQ logic significantly and avoids the bogus hvm_pic_assist() on domain resume path. There is more work to be done here. At least: 1. set-irq-level should really be set-interrupt-wire-level. Wire state needs to be distinguished from PIC (in particular, PIC IRR) state. 2. Hypercalls can be batched in qemu and pushed down in one multicall. Signed-off-by: Keir Fraser <keir@xensource.com>
* Trivial change to look in correct location for qemu-dm when using the debug ↵kfraser@localhost.localdomain2006-11-071-1/+6
| | | | | | wrapper on a 64 bit system. Signed-off-by: Ben Thomas <ben@virtualiron.com>
* [HVM] Move shadow initialisation into domain-creation hypercall.kfraser@localhost.localdomain2006-11-011-5/+4
| | | | | | | | | | | Allocate HVM guest memory in the libxc builder function rather than in xend. Clean up fall out from these changes. Todo: Fix ia64. Move PV builder to same model (it should allocate the memory rather than xend doing so -- then it can avoid using xc_get_pfn_list()). Signed-off-by: Keir Fraser <keir@xensource.com>
* [HVM] Use correct types for guest physical addressesTim Deegan2006-10-311-31/+31
| | | | | | Guest physical addresses are not guaranteed to fit in either a pointer or an unsigned long int; use paddr_t for them. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
* [HVM] Add support for 'add r8,m8' instruction to memory-mapped I/O.kfraser@localhost.localdomain2006-10-311-0/+18
| | | | | Signed-off-by: Kevin Tronkowski <ktronkowski@virtualiron.com> Signed-off-by: Ben Thomas <bthomas@virtualiron.com>
* [HVM] Fix Qemu-dm serial issues:kfraser@localhost.localdomain2006-10-302-8/+38
| | | | | | | | | | 1. Retry transmit via a polling timer if a byte cannot be written immediately to its destination. 2. Turn off output processing of raw serial lines. Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com> Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* [QEMU] Add a TIS device model compliant to the 1.2 TPM specification.kaf24@localhost.localdomain2006-10-274-0/+1122
| | | | | | | | | | | | | | | | | | | It implements all registers necessary to make the Linux TIS driver work (tpm_tis.c). All of the basic registers supported by this type of device are implemented. Also the locality selection has been implemented, but has not been tested. The legacy registers as described in the specification are not supported. Current caveat: The device has so far not yet been integrated with the virtual TPM available in the repository. It will require changes to the virtual TPM spawned by the vTPM manager to offer an additional message interface. The TIS interface itself then needs to have an additional transport implemented. (see vTPMTransmit array). The relevant specification for the device model can be found here: https://www.trustedcomputinggroup.org/groups/pc_client/TCG_PCClientTPMSpecification_1-20_1-00_FINAL.pdf Signed-off-by: Stefan Berger <stefanb@us.ibm.com>