[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] The patch attached restores NX/XD support in x86_64 xenlinux. When the
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |