[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>
Rationalise x86 CRn guest state into a ctrlreg array in the per-vcpu
context structure. Most noticeably this means the pt_base field has
gone away -- replaced by ctrlreg[3] (CR3). VCPU_guest_stts is also
gone -- it was never arch-independent anyway.
Signed-off-by: Keir Fraser <keir@xensource.com>
xc_private.h, xc_linux_build.c, Makefile:
Add support for loading ``bin'' format images, as used by ReactOS.
Move image probing/parsing/loading code out of domain builder to allow
multiple image formats without having to duplicate the domain building
code.
xc_load_elf.c, xc_load_bin.c:
new file
xc_vmx_build.c:
Cleanup.
Signed-Off-By: Ge van Geldorp <gvg@reactos.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
[PATCH] vmx-worldswitch-1-to-1.patch
Fix VMX world switch to use 1:1 page tables when the guest has paging
disabled. Also do a printk instead of VMX_DBG_LOG() anytime we crash
a domain.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Makefile:
xc_io.[ch] is no longer needed.
xc_vmx_build.c:
offsetof() needs #include <stddef.h>, which was getting pulled in
implicitly from xc_io.h.
.del-xc_io.h~f59d36f1439a3f8d:
Delete: tools/libxc/xc_io.h
.del-xc_io.c~2d9e23eb479fe52:
Delete: tools/libxc/xc_io.c
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Remove generic 'fast trap' from the Xen public interfaces. Internally
within Xen, we automatically set up direct trap for int 0x80, which is
the only 'fast trap' vector that we ever supported anyway.
Signed-off-by: Keir Fraser <keir@xensource.com>
Split out context fetching into separate DOM0 op
make GETDOMAININFO a little more sensible with respect to MP
make coredump dump all cpu contexts
Signed-off-by: Kip Macy <kmacy@netapp.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Avoid field duplication between vcpu_guest_context and arch_exec_domain
structures. The latter now includes the former as a sub-field.
Signed-off-by: Keir Fraser <keir@xensource.com>
[PATCH] [PATCH] tools/libxc/xc_vmx_build.c broken
xc_vmx_build pins the level 2 page table too early so that subsequent maps
(like those in zap_mmio_ranges) fail and consequently xc_vmx_build fails.
To solve this, this patch pins the l2pt at the end of the function when
all memory initializations are finalized.
Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com>
Split mmu_update() hypercall into mmu_update() and mmuext_op().
All MMUEXT_* ops are now done via the latter hypercall. This allows
more arguments to be passed in a nicer way to mmuext operations.
Linux 2.4, 2.6 and control tools all use the new interface. The BSDs
will need some work, but shouldn't be too hard (and they can be moved
to writable pagetables at the same time :-) ).
Signed-off-by: Keir Fraser <keir@xensource.com>
I added support to Anthony's vm-tools so that it can start VMX enabled
partitions directly (including forking off a copy of the device-model
with the user's environment variables, such as $DISPLAY). For this I found
it useful to harden xc_vmx_build.c so that it doesn't dump core when called
incorrectly.
Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
Signed-off-by: ian.pratt@cl.cam.ac.uk
[PATCH] [PATCH] gcc4isms part 2
This completes the gcc4ism changes to the Xen tree. All of
the changes in this patch are in the tools/ subdirectory and
are pretty simple. Some of the changes are for overly strict
gcc4 warnings, but I guess it's still good to verify that the
variable really wasn't unused, or that the sign change is
really harmless.
I guess I really do like -Werror now...
Signed-off-by: Rik van Riel <riel@redhat.com>
libxc/xc_linux_build.c | 2 +-
libxc/xc_plan9_build.c | 24 ++++++++++++------------
libxc/xc_vmx_build.c | 2 +-
python/xen/lowlevel/xu/xu.c | 2 +-
xcs/xcs.c | 2 +-
xfrd/lzi_stream.c | 2 +-
xfrd/marshal.c | 4 ++--
xfrd/xdr.c | 2 +-
xfrd/xfrd.c | 12 ++++++------
9 files changed, 26 insertions(+), 26 deletions(-)
x86 ( 32bit) is the only architecture that uses Fast trap vector offset
( fast_trap_idx ). This makes sure that x86 is the only architecture to
use this variable.
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
Signed-off-by: Keir Fraser <keir.fraser@cl.cam.ac.uk>
[PATCH] mmio_addr.patch
Use 1:1 page table to figure out if a particular physical address belongs
to MMIO range or not.
Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Chengyuan Li <chengyuan.li@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Index: trunk/tools/libxc/xc_vmx_build.c
===================================================================
Create the e820 map dynamically. This makes it easy to run VMX guests
of different memory sizes (no need to manually edit the e820 map).
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
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
The getdomaininfo hypercall now listens to the exec_domain parameter
that was already passed to it, and performs some basic sanity checking.
Added exec_domain (aka vcpu) parameters to xc_domain_getfullinfo()
and xc_domain_get_cpu_usage().
Code duplication cleanup: remove a number of duplicate identical
static functions in xc_*_{build,restore}.c, replaced with single
(non-static) copy in xc_private.c