use 64-bit values for both page table entries and physical
addresses. These changes are needed to use more than 4GB with
PAE paging enabled.
The first patch is a pretty straightforward update for xen, it
simply makes the values 64-bit wide everythere.
The second patch adapts the linux kernel to the hypercall
interface changes. It also introduces two MULTI_* functions
(for the update_va_mapping hypercalls) which have simliar
behavior like the HYPERVISOR_* counterparts but fill
multicall_entry_t instead of doing the call directly.
The tools don't need source code changes, but must be rebuilt
due to the change in the xen public header file.
Domain0 boots fine, unpriviliged domain boots fine with fully
functional networking. Note this is non-PAE mode, tools don't
have support for PAE domU boots yet.
Signed-off-by: Gerd Knorr <kraxel@suse.de>
Direct IO to userspace (e.g. with libaio) needs to map user virtual addresses
down to page structs. This patch adds a new vma flag (VM_FOREIGN) to tell
get_user_pages that there are foreign frames in the vma. If VM_FOREIGN is set
vm_private_data points to a map of struct page pointers, indicating the
physical page underpinning the vaddr.
After a fair bit of discussion with Keir, this seems to be the least
intrusive way to allow this sort of lookup. If this solves things, we
can pull the VM_FOREIGN clause out into make it a noop on non-Xen
arches in the same way that the gate_area check above it is.
x86_64 specific MSRs at domain switch time if modified. In VMX domains,
we modify those upon requests from the guests to that end. Note that
IA32_EFER.LME and IA32_EFER.LMA are saved/restored by H/W on every VM
exit. For the usual domains (i.e. dom0 and domU), those MSRs are not
modified once set at initialization time, so we don't save them when
swiched out, but simply reset them (if modified) to the initial values
when switched in. This patch also include extended handling for 64-bit
guests. Please apply.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Chengyuan Li <chengyuan.li@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
broke x86_64. The cleanup removed a padding field in trap_info_t, so the
trap table set the address for each trap handler to zero.
Signed-off-by: Chris Wright <chrisw@osdl.org>
- Exceptions get reflected to the guest by default, instead of crashing
the domain.
- Reduce code duplication and improve maintainability.
Signed-off-by: Asit Mallick <asit.k.mallick@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
to use distribution provided mechanisms, thus e.g. preventing the
auto-generation of an initrd. Below/attached a suggestion to adjust that.
Signed-off-by: Jan Beulich <JBeulich@novell.com>
the contiguous kernel mapping of (physical) memory. Thus the code in
change_page_attr needs to work like on i386 (where large pages are used
only conditionally) rather than like native x86-64. Patch below/attached.
Not doing so triggered the BUG_ON during load of intel-agp on machines
with i915 chipset.
Signed-off-by: Jan Beulich <JBeulich@novell.com>
whatever reason ran a stack_trace even though another one is run from
die(). Since screen space is limited, duplicating (perhaps long) stack
traces seems quite wasteful. Patch removing this duplication below/attached.
Signed-off-by: Jan Beulich <JBeulich@novell.com>
The script assumes the current directory to be the top of the xen tree.
It makes a rudimentary check to this effect.
Signed-off-by: James Bulpin <james@xensource.com>