# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 5db799f4c40e61acda514977b6d5144bb7611fb1
# Parent 6778d68a2c4cea49bccc90ead12395ee28d61189
The patch attached restores NX/XD support in x86_64 xenlinux. When the
port was being done, Xen did not want to see the bit 63 in ptes, and it
now allows the guests to set it. Also include cleanups (warning when
compiling domU).
Signed-off-by: Jun Nakajima <jun.nakajima@xxxxxxxxx>
diff -r 6778d68a2c4c -r 5db799f4c40e
linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c Wed Jul 13 08:36:38 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c Wed Jul 13 08:37:38 2005
@@ -641,8 +641,6 @@
#ifndef CONFIG_DISCONTIGMEM
void __init paging_init(void)
{
- int i;
-
{
unsigned long zones_size[MAX_NR_ZONES] = {0, 0, 0};
/* unsigned int max_dma; */
@@ -664,14 +662,17 @@
memset(empty_zero_page, 0, sizeof(empty_zero_page));
#ifdef CONFIG_XEN_PHYSDEV_ACCESS
+ {
+ int i;
/* Setup mapping of lower 1st MB */
- for (i = 0; i < NR_FIX_ISAMAPS; i++)
- if (xen_start_info.flags & SIF_PRIVILEGED)
- set_fixmap(FIX_ISAMAP_BEGIN - i, i * PAGE_SIZE);
- else
- __set_fixmap(FIX_ISAMAP_BEGIN - i,
- virt_to_machine(empty_zero_page),
- PAGE_KERNEL_RO);
+ for (i = 0; i < NR_FIX_ISAMAPS; i++)
+ if (xen_start_info.flags & SIF_PRIVILEGED)
+ set_fixmap(FIX_ISAMAP_BEGIN - i, i * PAGE_SIZE);
+ else
+ __set_fixmap(FIX_ISAMAP_BEGIN - i,
+ virt_to_machine(empty_zero_page),
+ PAGE_KERNEL_RO);
+ }
#endif
}
diff -r 6778d68a2c4c -r 5db799f4c40e
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c Wed Jul 13
08:36:38 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c Wed Jul 13
08:37:38 2005
@@ -194,16 +194,10 @@
{
unsigned long efer;
- /* rdmsrl(MSR_EFER, efer); */
-
- /*
- * At this point, Xen does not like the bit 63.
- * So NX is not supported. Come back later.
- */
- efer = 0;
-
+ rdmsrl(MSR_EFER, efer);
if (!(efer & EFER_NX) || do_not_nx) {
__supported_pte_mask &= ~_PAGE_NX;
+
}
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|