Patch below is needed to make my system work stable in PAE mode.
Havn't seen problems without PAE, not sure whenever thats just
pure luck or whenever there is a bug in my PAE xenlinux kernel.
To me it looks like a generic bug though.
I've actually trapped into problems with unpin only: A process
exits, somewhere in exit_mm() the page tables are unpinned,
shortly thereafter the mappings are cleared. While doing so the
kernel oopses in zap_pte_range(), on page table write access.
Probably due to some stale tlb entry where the page is still
tagged read-only.
xenstored_transaction.c, xenstored_core.h, xenstored_core.c, TODO:
Update TODO list
Wrap opendir in talloc so it gets cleaned up on OOM.
Remove last call to system by open-coding "cp -al" to create
transaction.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
[PATCH] vmx-gdbserver-paging.patch
gdbserver should not try to convert guest physical to machine physical if
paging is not enabled.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
[PATCH] vmx-pit-reset2.patch
A VMX guest can reprogram the same PIT channel twice. We should not create
two ac_timers to handle this case.
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
This is a patch to the README file to provide the missing
info on building from the source tree. It's by no means
clean, complete or even necessarily correct - just a first
draft to get the doc/instructions going.
All cleanups would be appreciated.
Signed-off-by: Nivedita Singhvi <niv@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
Fix the x86/64 build. My change to make PAGE_SIZE a signed quantity
also made it int rather than long, which turns out to break stuff.
Debugged by Xin Li at Intel.
Signed-off-by: Keir Fraser <keir@xensource.com>
The 32-bit x86 LTP exposed bugs with LDT handling with x86_64 Xen and
XenLinux:
- fill the code for arbitrary_virt_to_machine(XenLinux)
- set 64-bit value for the base address for LDT (Xen)
- fix a bug (64-bit cleanup) in map_ldt_shadow_page (Xen)
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
The attached patch now allows x86_64 xenlinux to run 32-bit x86 binaries
as the native x86_64 Linux does. I checked LTP using 32-bit binaries,
and got the same results on the native x86_64 Linux. At this point, 'int
0x80' is used for system calls, as it's unlikely that the fast systems
(sysenter or syscall) are significantly faster under the current
trampoline mechanism. However, it should be easy to replace
vsyscall-int80 with the fast system calls if one wants to do so (look at
USE_INT80 in the patch).
I found bugs with LDT handling in x86_64 Xen/XenLinux (exposed by 32-bit
LTP testcases fork05 and modify_ldt02), and the bugs have been fixed by
a separate patch in the next email:=20
[PATCH] [x86_64] Fixing LDT handling with x86_64 Xen
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
The attached patch replaces the three hypercalls with a signle
multi-call in switch_mm, as x86 xenlinux does.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
The xc_domain_getinfo does not clear the info structure before filling
it in, and in some circumstances it doesn't completely fill in the
structure for each domain. In particular, it sets the crashed flag if
the domain has crashed, but does not clear it if the domain has not
crashed, so the crashed flag may be random stack garbage from the
calling program. With the attached patch (against the latest nightly),
xc_domain_getinfo zeroes the array of info structures before filling
them in.
Signed-off-by: Josh Triplett <josht@us.ibm.com>
Fix alloc_{l2,l3}_table to correctly compute longword-sized virtual
address from int-sized pagetable index. Based on discussion from
Scott Parish and Jan Beulich.
Signed-off-by: Keir Fraser <keir@xensource.com>
Add cmpxchg8b support for writable page tables
(emulation code path), which is needed to make atomic pae l1
page table updates work.
Signed-off-by: Scott Parish <srparish@us.ibm.com>
Updated version to dom0_ops.c. After some discussion with Ian,
we decided to remove newly added hypercall and instead turn
to other means in user application level. Then rest stuff is
all IA64 specific without any touch to common code.
Signed-off-by Kevin Tian <Kevin.tian@intel.com>
Add new control messages for vcpu hotplug events. Via the
xm vcpu-hotplug sub-program, vcpus in domains can be enabled/disabled
when CONFIG_HOTPLUG_CPU is enabled in the target domain's kernel.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
sched.h, xen.h, schedule.c, dom0_ops.c, hypercall.h, smpboot.c, process.c:
Extend the CONFIG_HOTPLUG_CPU behavior down into the hypervisor.
Adds two SCHEDOPS (vcpu_down/vcpu_up) which set/clear VCPU flag VCPU_down.
The domain_runnable() check now looks at this flag and subsequently the
vcpu is not scheduled when VCPU_down is set.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Make xs_read/read_reply allocate an extra byte and put a nul character
at the end of objects to allow easy use as a string.
From: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
[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 =====