This enables cdrom ejection (both file based and physical i.e. /dev/cdrom)
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
This removes odd control characters displayed in the qemu monitor with vnc
Signed-off-by: Edwin Zhain <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
[PATCH] Infrastructure for interrupt handling.
Infrastructure for interrupt handling.
- support interruptibility
- handle interrupt window exiting control appropriately
- Add ioapic device models imported from Bochs under LGPL
- generalize the interrupt architecture to support both PIC/APIC
This patch is necessary to fix several bugs on 32 bit VMX and prepares the
ground for adding a local APIC device model in the hypervisor.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
[PATCH] Enable qcow in the device models.
Enable qcow in the device models.
This saves disk space when dealing with large guest images.
Signed-off-by: Nitin Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
diff -r 5d58883fc7b8 -r 499ac8e8df00 tools/ioemu/block.c
[PATCH] Device model cleanup.
Device model cleanup.
- Single config file for xen and device models
(Shell script doesn't source xmdefconfig anymore)
- No more device-model shell script by default. You can
have one if needed (qemu-dm.debug)
- All logic in the script device-model is moved to python
- $DISPLAY is passed from xm to xend
- Don't fork vncviewer on dryruns
- Add support for killing device models on domain destroy
- info vmxiopage command added to the monitor
- Refactor shared io page into global and per vcpu state
- Remove the hard coding of IOPACKET_PORT
- move the virtual_platform_def up to domain struct from vcpu
- xm create -n:
(vm
(name ExampleVMXDomain)
(memory 128)
(ssidref -1)
(image
(vmx
(kernel /usr/lib/xen/boot/vmxloader)
(root '/dev/hda1 ro')
(vcpus 1)
)
)
(memmap )
(device_model /tmp/foo)
(hda /var/images/min-el3-i386.img)
(hdb )
(hdc )
(hdd )
(cdrom )
(boot c)
(fda )
(fdb )
(localtime 0)
(serial )
(macaddr )
(stdvga 0)
(isa 0)
(nographic 0)
(vnc 0)
(sdl 0)
(display localhost:10.0)
)
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
[PATCH] ioemu-monitor.patch
The following patch adds back qemu monitor commands to qemu-dm which
make sense. That is, eject and change devices, and show some device
state.
Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
===== tools/ioemu/monitor.c 1.1 vs edited =====
[PATCH] vmx-pit-reset-vector.patch
If the guest resets irq_base in the PIC, we should reset the vector
in the hypervisor as well.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
ioemu fixes: do not install into /usr/share/qemu as it conflicts with
real qemu installations. Also, do not link x86/64 with a special linker
script -- breaks on SLES9 and ought to be unnecessary.
The linker scripts and configuration/Makefile environment all need
stripping out at some point.
Signed-off-by: Keir Fraser <keir@xensource.com>
[PATCH] [PATCH] ioemu: enable Cirrus VGA emulation
At some point the Cirrus VGA driver was commented out. Probably
for debugging. The patch below adds it back in. It works just fine.
Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
[PATCH] xen.vncserver-quiet-configure.patch
When configure looks for VNC Server library installation by
executing libvncserver-config, make sure we don't print messages to
the console if we cannot find the libvncserver-config program.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Nothing but vnet uses libxutil -- move it there.
Makefile, xc.c, setup.py, configure, configure.in, Makefile.in:
This doesn't use libxutil.
Makefile, Makefile.vnet, Rules.mk:
Move libxutil into vnet since it's only used there.
Many files:
mvdir
better support for vnc in qemu device model:
- different ports for different VMs
- allow reverse connect to a running viewer
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@intel.com>
Some more ioemu config hardcoding. Our 'target arch' is always i386.
Do we really need linker scripts??
Signed-off-by: Keir Fraser <keir@xensource.com>
Remove docs and tests from qemu-ioemu: they mostly pertain to whole
platform (inc. cpu) emulation anyway. Move Makefile.target into the
target directory -- otherwise the build system sometimes gets confused
in a way that I do not understand.
Signed-off-by: Keir Fraser <keir@xensource.com>
[PATCH] [PATCH] Assorted VMX patches
This patch contains the following VMX patches:
- ioemu: Update the address when doing a stosb/stosw/stosl. Without this patch
stosb writes req->count times at the same location req->addr. Not exactly
the intended semantics.
- xc_ptrace.c: Use the page_array to refer to partition memory. This allows
you to use gdbserver on a VMX partition (and presumably partitions that use
shadow page tables).
- dom0_ops.c: Preserve ECF_VMX_GUEST flag for gdbserver. Without it you
cannot (re)set the VMX domain state.
- vmx.c: Added support for lmsw. Unmodified FreeBSD uses this when running
inside a VMX partition.
Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
===== tools/ioemu/iodev/cpu.cc 1.8 vs edited =====
[PATCH] [PATCH] VMX support for MMIO/PIO in VM8086 mode
Memory mapped and port I/O is currently broken under VMX when the
partition is running in VM8086 mode. The reason is that the instruction
decoding support uses 32-bit opcode/address decodes rather 16-bit
decodes. This patch fixes that. In addition, the patch adds support for
the "stos" instruction decoding because this is a frequently used way
to clear MMIO areas such as the screen.
As an aside, vmx_platform.c should really reuse x86_emulate.c as much
as possible.
Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com>
===== tools/ioemu/iodev/cpu.cc 1.7 vs edited =====
[PATCH] ioemu-x86-64-fixes.patch
Make ioemu compile on x86-64.
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
[PATCH] term.patch
Enable text and RFB interface in the device models
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
===== gui/Makefile 1.2 vs edited =====
Subject: [PATCH] dm-destroy.patch
Clicking on the power off button calls xm destroy as well.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
Subject: [PATCH] pit-in-hv.patch
- Use ac_timer for PIT interrupt injection (more accurate time keeping)
- Accelerate some critical PIT I/O operations in the hypervisor
(saves 15us per op). Cuts down guest timer interrupt handler execution time
by a third.
- If the domain is scheduled out, make sure that interrupts are not lost
- Add a generic framework for device I/O interception
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
Fix the synchronization issues between xend and the device model at
startup time.
Initialize the shared page in the hypervisor. Otherwise, the hypervisor
might try to inject spurious interrupts into the guest due to
uninitialized data.
Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
- Detect the CPU speed automatically, rather than having the user
specify a ips in bochsrc. The user can still specify it to override
the auto-detected value.
- Care should be taken to make sure that tsc_per_bx_tick is not too
small or too big. Otherwise, numerical precision issues may result
in the wrong calculation of elapsed time
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
Fix some of the time virtualization issues.
- Compute the elapsed time correctly in the cpu loop
- Try to inject interrupts in the vmexit handler
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian@xensource.com
Add checking ISA DMA flag in cpu_loop. Also need to do bios_init manually
for now. With this change, floppy is functional.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian.pratt@cl.cam.ac.uk
Right now, the memory for the 1:1 physical mode page tables comes from the
VMX domain's memory. With this change, when the user asks for a domain with
M Megabytes of memory, we actually allocate M+N megabytes in xend, where
N is the memory for the page table pages.
This simplifies the code in the device models that maps guest memory (we
now map all of it) and the E820 map can also give the full M megabytes to
the guest.
Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: ian.pratt@cl.cam.ac.uk