aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu
Commit message (Collapse)AuthorAgeFilesLines
...
* [qemu] Initialize vga from within qemu for when the bios doesn't do so.chris@kneesaa.uk.xensource.com2006-07-266-29/+301
| | | | | | | | | | | | | On xen/x86, vga bios is copied to 0xC0000 by guest firmware. However on ia64 platform, native firmware depends on some initialization vga state at power on and so does guest firmware. That's why that vga bios initialization stub is required for vti domain, to match platform requirement. Signed-off-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* [qemu] Add access to the monito vt over VNC.chris@kneesaa.uk.xensource.com2006-07-263-8/+190
| | | | | | | | Recognize ctrl+alt+1/2/3 to switch among screens. Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* [qemu] sync patches and add file missing from cset 10738:42aa63188a88chris@kneesaa.uk.xensource.com2006-07-265-25/+352
| | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* [qemu] Use domain-name in VNC window title.chris@kneesaa.uk.xensource.com2006-07-263-2/+31
| | | | | | | | Set the VNC window title with domain-name. Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* [qemu] Re-calculate color_table after color depth reset.chris@kneesaa.uk.xensource.com2006-07-265-37/+55
| | | | | | | | | VNC client may reset color depth after connection, so if we don't re-calculate color_table, monitor/console's background is abnormal. Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* IA64-specific code for new Qemuchris@kneesaa.uk.xensource.com2006-07-2611-24/+588
| | | | | | | | | Due to some ia64 patches aren't checked into xen-unstable.hg. I reversed related logic. Signed-off-by: Zhang xiantao <xiantao.zhang@intel.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* [qemu] Fix HVM guests with more than 2G RAM on x86_64,chris@kneesaa.uk.xensource.com2006-07-265-79/+106
| | | | | | | | where "startx" will cause qemu dm to die. Signed-off-by: Xin Li <xin.b.li@intel.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* Fix cirrus and rt8139 co-exist issue in new qemu-dm.chris@kneesaa.uk.xensource.com2006-07-262-48/+59
| | | | | | | | | The root cause is that if two MMIO spaces are continuous, qemu may misuse last MMIO space's read/write to handle current request. Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* Make ioemu targets more robust and make ioemu clean always succeed.chris@kneesaa.uk.xensource.com2006-07-252-10/+20
| | | | | | Based on a patch by: Alex Brett <Alex.Brett@xensource.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* Spawn vncviewer from qemu-dm.chris@kneesaa.uk.xensource.com2006-07-145-0/+139
| | | | | | | | | | - add vncviewer option to qemu-dm to spawn a vncviewer process. - add the `vncconsole' config parameter which enables qemu-dm's vncviewer option. Based on a patch from: Don Dugger <donald.d.dugger@intel.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* Change the qemu to allow no network arguments, removing thechris@kneesaa.uk.xensource.com2006-07-146-54/+74
| | | | | | | | "-net nic -net user" default. Based on a patch from: Daniel Stekloff <dsteklof@us.ibm.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* [IOEMU] Enable gui_timer unless the display is exported over VNC.chris@kneesaa.uk.xensource.com2006-07-132-60/+63
| | | | | | | Based on bug report from: Huang2, Wei <Wei.Huang2@amd.com> Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* Add qemu 0.8.1 based ioemu.chris@kneesaa.uk.xensource.com2006-07-12318-0/+156825
| | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* Remove qemu 0.6.1 based ioemu.chris@kneesaa.uk.xensource.com2006-07-12143-60962/+0
| | | | | | Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
* [HVM] Disable pmtimer in qemu acpi device model. Needs fixingkfraser@dhcp93.uk.xensource.com2006-07-031-1/+1
| | | | | | to not burn ~25% of a 3GHz CPU. Signed-off-by: Keir Fraser <keir@xensource.com>
* [HVM] Clean up formatting of new piix acpi file.kaf24@firebug.cl.cam.ac.uk2006-06-171-185/+177
| | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* [HVM] ACPI support patch 4 of 4: shutdown.kaf24@firebug.cl.cam.ac.uk2006-06-171-6/+23
| | | | | | | | | | | The patch is incorporated from Ben's Virtual Iron's ACPI shutdown patch in changeset 9989:f8d20c3e4225 The patch support guest ACPI Windows shutdown, as well as ACPI guest Linux "halt -p" and "shutdown -h now". Signed-off-by: Ben Thomas <ben@virtualiron.com> Signed-off-by: Winston Wang <winston.l.wang@intel.com>
* [HVM] ACPI support patch 2 of 4: ACPI timer.kaf24@firebug.cl.cam.ac.uk2006-06-171-3/+86
| | | | | | | | ACPI timer is required during guest windows installation and boot. Signed-off-by: Tang Liang <tangliang@lenovo.com> Signed-off-by: Winston Wang <winston.l.wang@intel.com>
* [HVM] ACPI support patch 1 of 4: main components.kaf24@firebug.cl.cam.ac.uk2006-06-174-4/+414
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch support ACPI UP Guest Windows 2000, XP and 2003, based on this we are going to add more support on SMP and 64bit Windows( which are only working in ACPI mode) later. We tested: in ia32 guest: a. Installation and boot of Windows XP sp2 and 2003 server in ACPI mode b when boot to both window, no yellow mark in device manger and USB, network card and IDE DMA are working. c. clean boot (without ACPI related errors) on UP and 4 vcpu rhel4u1 SMP guest and got ioapic Interrupt assigned according to ACPI DSDT table's _PRT table's GSI. To minimize the implementation efforts to satisfy the ACPI OS installation and boot, we implemented ACPI only event logical model by emulating ACPI hardware based on PIIX4 (Intel 82371ab) by: Populating the PIIX4 ACPI bridge PCI configuration space; Adding ACPI timer (required during windows installation/boot), PM1 event register block and PM1 control register block (both are required during installation/boot, shutdown, entering and leaving PM S state if adding those features later), we provided full ACPI hardware registers above using byte/word/dword access per ACPI spec requirement. The patch also fixed many existing hvm ACPI related bugs, such as warnings when boot to ACPI UP and SMP guest Linux OS; adding new ACPI _PRT table reporting PCI IRQ routing table in PIC mode, adding new _PRT table in APIC mode, that fixed no IRQ GSI cause it is forced to shutdown when OS find new device to assign IRQ without ACPI event service; The patch also fixed the ACPI DSDT table's PCI resource conflict with guest e820 table when booting and installing ACPI Windows; we also added ACPI shutdown service by incorporating the code in ACPI "hardware enable register writer" from Ben's Virtual Iron's team's patch in changeset 9989:f8d20c3e4225. We only provide minimum power management requirement support per spec-c1 and S5 for shutdown, may be S4 (hibernating which is meaningful for user to save their working section) in the future. Please note, current patch needs to have following switches in guest configuration to enable proper ACPI support a. need to add ACPI=1 (apic=1 if boot SMP Linux guest plus vcpu= number want to test) in xmexample.hvm b. need to add USB support: USB=1 and usbdevice='device' (or ='tablet') as the pm register base is static..., I will adding dynamic ACPI FADT table for pm register base pointer later. When installing guest OS in ACPI mode, need to manually tell Windows setup program to install single core ACPI HAL: After passing the 1st screen of windows setup of install Windows, the first thing you'll see at the bottom of the screen is the option to press F6 if you need to install a SCSI or RAID controller. Don't press F6. Press F5 instead. This will take you to a separate menu of Hardware Abstraction Layer's where you can choose an appropriate HAL .The choices will be: ACPI Multiprocessor PC ACPI Uniprocessor PC Advanced Configuration and Power Interface (ACPI) PC ... Standard PC Standard PC with C-Step i486 Please select "Advanced Configuration and Power Interface (ACPI) PC" using current patch. Signed-off-by: Winston Wang <winston.l.wang@intel.com>
* [TOOLS] Introduce xc_evtchn_*() interface for interacting with /dev/xen/evtchn.kaf24@firebug.cl.cam.ac.uk2006-06-151-20/+12
| | | | | | | | No longer open the device as non-blocking: all reads immediately follow a select() on the device indicating it's ready to read. Signed-off-by: John Levon <john.levon@sun.com>
* [HVM][QEMU] Fix SDL mouse "invisible wall".kaf24@firebug.cl.cam.ac.uk2006-06-141-2/+7
| | | | | | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
* [HVM] Fix ioemu build with new Linux headers. We must define __userkaf24@firebug.cl.cam.ac.uk2006-06-131-0/+1
| | | | | | attribute to nothing. Signed-off-by: Keir Fraser <keir@xensource.com>
* [HVM][DM] Backport the USB support from QEMU 0.8.1 to the current Xenkaf24@firebug.cl.cam.ac.uk2006-06-1214-115/+2971
| | | | | | | | | | | | | | | | | | | | | | | | | | device model. To support USB there are two new optional config lines that can be added to the guest config file: usb=1 This will enable USB without defining a specific USB device. This option is assumed and not needed if the `usbdevice' option is given. usbdevice='device' This will enable USB and also enable support for the given device. Currently, the only two devices are `mouse' (a PS/2 mouse) and `tablet' (an absolute pointing device). The advantage of `tablet' is that Windows guests will automatically recognize and support this device so specifying the config line: usbdevice='tablet' will create a mouse that works transparently with Windows guests under VNC. (Linux doesn't recognize the USB tablet yet so Linux guests under VNC will still need the Summagraphics emulation.) Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
* [HVM][DM] Cleaner way of clearing VGA memory on mode changes (thanks tokaf24@firebug.cl.cam.ac.uk2006-06-071-11/+0
| | | | | | | | | Fabrice Bellard on the QEMU project). This patch clears the memory in the BIOS call rather than when the Cirrus Logic register changes, which more closely matches what happens on the real hardware. Signed-off-by: Don Dugger <donald.d.dugger@intel.com>
* Represent PFNs with their own type, rather than 'unsigned long'.kaf24@firebug.cl.cam.ac.uk2006-06-062-13/+14
| | | | | | ('long' changes size and alignment between 32- and 64-bit ABIs.) Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
* [IA64][HVM] Enable CGA acceleration for VTI.kaf24@firebug.cl.cam.ac.uk2006-06-023-7/+2
| | | | | Signed-off-by: Kevin Tian <kevin.tian@intel.com>
* [HVM] Allow more dynamic use of the qemu serial lines by allowing the ↵kaf24@firebug.cl.cam.ac.uk2006-06-013-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summagraphics port to float. qemu will emulate up to 4 serial lines (COM1 - COM4). One of these lines supports a Summagraphics protocol. This has changed recently, and it's now always COM2. This patch allows the user to specify to qemu which lines should be serial lines, and the code will place the Summagraphics compatible line at just above the last specified serial line. qemu defaults serial line 0 (COM1) to be "vc", resulting in the Summagraphics support residing on COM2. This is in keeping with the current behavior. The results, via qemu command line, are: <none> COM2 -serial x COM2 -serial x -serial x COM3 -serial x -serial x -serial x COM4 -serial x -serial x -serial x -serial x <none> The results are deterministic, and allow the use of up to 4 serial lines including none with Summagraphics support. There is no change from current behavior, unless requested. Signed-off-by: Ben Thomas <ben@virtualiron.com>
* [HVM] Fixes to buffer handling in ne2000 device model.kaf24@firebug.cl.cam.ac.uk2006-05-311-10/+26
| | | | | Signed-off-by: hanzhu <zhu.han@intel.com>
* Allow to specify different time-of-day clock offsets for HVM guests.kaf24@firebug.cl.cam.ac.uk2006-05-174-8/+39
| | | | | | | | | | | | There are some usage scenarios in which differing user domains want to be using different base TOD clocks. This patch adds the ability to specify the base TOD time difference. The patch also adds a hook point to notify another entity when the domain changes this offset. This might occur, for instance, on a Linux domain using hwclock -w. Signed-off-by: Ben Thomas <ben@virtualiron.com>
* Remove unnecessary extra linker parameters from qemu-dm build.kaf24@firebug.cl.cam.ac.uk2006-05-151-1/+1
| | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Add rudimentary ACPI support which allows a fully virtualized domainkaf24@firebug.cl.cam.ac.uk2006-05-153-2/+183
| | | | | | | | | | | | | | | to perform a poweroff via the S5 state. This involves adding S5 information to the ASL file; adding ACPI I/O address processing to qemu and modifying the FADT to point to these specific I/O addresses. Note that this is a rudimentary implementation, which is expected to allow growth over time. Currently, only allow/detect writes to one of the PM registers, even though the S5 package specifies data for both. Currently, this is sufficient for the kernels tested. (Specifically, use of _PST, and _GST and other methods are unnecessary and not implemented.) Signed-off-by: Ben Thomas <ben@virtualiron.com>
* Fix the cirrus vga model to not leak memory when switching betweenkaf24@firebug.cl.cam.ac.uk2006-05-125-117/+50
| | | | | | | | | | | | | | | | | initial vga mode and linear framebuffer. When creating device model, the vga memory is allocated through xc_domain_memory_increase_reservation(), however, when switch to use linear framebuffer, we didn't free that memory, and re-allocate the vga memory through set_mm_mapping(), that caused memory leak. Now it is changed to just using qemu_malloc when create device model, and free that memory when switch to linear framebuffer. After unset_vram_mapping(), the old memory pointer should be unmapped; after set_vram_mapping(), the old memory should be freed. Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
* Move set/unset_vram_mapping into cirrus_vga.c, pending a fixup patch.kaf24@firebug.cl.cam.ac.uk2006-05-123-94/+106
| | | | | Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
* This patch enhances the Summagraphics emulation by adding 2 features:kaf24@firebug.cl.cam.ac.uk2006-05-105-45/+124
| | | | | | | | | | | | | 1) Move the tablet to the second serial port. This way the tablet will not interfere with people who want to use a serial console on the guest. 2) Enhance the Summagraphics emulation so that the Windows XP driver works. Turns out the Windows driver was using capabilities the X driver didn't care about and it wouldn't recognize the tablet without these capabilities. Signed-off-by: donald.d.dugger@intel.com
* Reset Cirrus device model `VRAM' whenever a VGA/SVGA mode switch occurs.kaf24@firebug.cl.cam.ac.uk2006-05-101-4/+11
| | | | | | | | | | | If you change the video resolution on a Windows XP guest such that it uses fewer bytes of VRAM (either by using fewer bytes per pixel or by lowering the resolution) then some window backgrounds will become corrupted. This happens because the Windows XP Cirrus Logic driver assumes that VRAM is initialized to 0xff whenever the video mode switches between VGA and SVGA. Signed-off-by: Donald.D.Dugger@intel.com
* Replace a bash-specific redirection in tools/ioemu/configure with akaf24@firebug.cl.cam.ac.uk2006-05-051-1/+1
| | | | | | | standard POSIX one which allows the Xen tools to be built with a POSIX shell other than bash. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* When boot device is cdrom but the cdrom is not bootable, the guest appearskaf24@firebug.cl.cam.ac.uk2006-04-281-3/+9
| | | | | | | | to hang. This patch fixes this by filling in second- and third-priority fallback boot devices. Signed-off by: Chen Jun <chenjunb@lenovo.com>
* merge with xen-unstable.hgawilliam@xenbuild.aw2006-04-253-11/+5
|\
| * Fix swapped calloc() arguments.kaf24@firebug.cl.cam.ac.uk2006-04-191-1/+1
| | | | | | | | | | Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
| * Sync PIT device model with latest qemu and move it to hypervisor.kaf24@firebug.cl.cam.ac.uk2006-04-192-10/+4
| | | | | | | | | | Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
* | merge with xen-unstable.hgawilliam@xenbuild.aw2006-04-181-1/+1
|\|
| * The default value used to control whether the guest is set up with localtime kaf24@firebug.cl.cam.ac.uk2006-04-131-1/+1
| | | | | | | | | | | | | | or utc in the RTC was wrong. Signed-Off-By: Bruce Rogers <brogers@novell.com>
* | merge with xen-unstable.hgawilliam@xenbuild.aw2006-04-115-17/+66
|\|
| * Fix a couple of typos.kaf24@firebug.cl.cam.ac.uk2006-04-101-1/+1
| | | | | | | | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
| * Fix push/pop usage in tools/ioemu for x86/64.kaf24@firebug.cl.cam.ac.uk2006-04-101-1/+7
| | | | | | | | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
| * If the 'cdrom=' option is specified in the definition file but media is kaf24@firebug.cl.cam.ac.uk2006-04-101-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not found in the CD drive then main() in vl.c exits and the guest appears to hang. This patch modifies vl.c slightly to check for the presents of media. If the cdrom cannot be opened then the cd entry is removed from hd_filename[] and bs_table[] allowing the guest to continue initializing. If the guest requires the CD media then the guest should report, gracefully or otherwise, that it's missing. From: Ross Maxfield <rmaxfiel@novell.com> Signed-off-by: Keir Fraser <keir@xensource.com>
| * build: Clean up use of .PHONYkaf24@firebug.cl.cam.ac.uk2006-04-102-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | * Move .PHONY directives next to targets, this makes them a lot harder to miss * Add missing .PHONY directives * Remove nonexistent .PHONY directives * Hopefully I didn'T miss anything... Signed-Off-By: Horms <horms@verge.net.au>
| * fix bug #609 - error: PIC register `bx' clobbered in `asm'vhanquez@kneesa.uk.xensource.com2006-04-101-2/+2
| | | | | | | | | | Signed-off-by: Vincent Hanquez <vincent@xensource.com>
| * Add code to make handling domain poweroff/reboot symmetrical betweenkaf24@firebug.cl.cam.ac.uk2006-04-062-13/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | paravirtualized and fully virtualized. This approach uses the new sched_op to handle other domains than the current domain. The new code, SCHEDOP_remote_shutdown, is very much like SCHEDOP_shutdown, but is called with the id of the domain which is to be shut down. This allows fully virtualized shutdown and para-virtualized shutdown to be identical from that point forward. A paravirtualized domain uses sched_op to shut down and set the reason code. This will send a VIRQ_DOM_EXC, which can be handled in dom0 by control software. In some ways, this resembles SIGCHILD/waitpid, and is a reasonable model. The fully virtualized case has qemu invoke xm directly. This is a different path than paravirtualized. It also removes decision and policy making choices from the rest of the control software and places it within qemu. When any dom0 logic eventually gets a VIRQ_DOM_EXC, the information about the domain is gone having been destroyed by xm. A libxenctrl wrapper, xc_shutdown_domain has been added and qemu now calls it. As a freebie, #if 0 some very verbose logging code in qemu. Totally unrelated, but as long as I was there... Signed-off-by: Ben Thomas <ben@virtualiron.com>
* | [IA64] Add memory operations for xen/ia64awilliam@xenbuild.aw2006-04-041-1/+2
|/ | | | | | | | | | | | | | | | | | | | This patch removes ugly hack upon memory operation and thus allow inc/decrease_reservation op available for xen/ia64 now. As a result: * Now we conform to common sequence where all domain pages are allocated together by increase_reservation before image builder * physmap table is now built at point of arch_set_info_guest * DOM0_GETMEMLIST can only query without allocation now After this patch, some long-existing hacks due to mismatched memory interface are cleaned this time. Also this is a base step toward introducing balloon feature into xen/ia64. Signed-off-by Kevin Tian <kevin.tian@intel.com>