|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [linux-2.6.18-xen] linux/x86: make xen_change_pte_range(
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1201865642 0
# Node ID 7f0c06696fecc93ac06517010e551a8f9d67e30d
# Parent 3cd3352a99850c4e705408e312e26f732cecb792
linux/x86: make xen_change_pte_range() compatible with CONFIG_HIGHPTE
Cannot use virt_to_machine() on a kmap()-ed address.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
arch/i386/mm/hypervisor.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
diff -r 3cd3352a9985 -r 7f0c06696fec arch/i386/mm/hypervisor.c
--- a/arch/i386/mm/hypervisor.c Fri Feb 01 11:32:53 2008 +0000
+++ b/arch/i386/mm/hypervisor.c Fri Feb 01 11:34:02 2008 +0000
@@ -566,7 +566,9 @@ int xen_change_pte_range(struct mm_struc
pte = pte_offset_map_lock(mm, pmd, addr, &ptl);
do {
if (pte_present(*pte)) {
- u[i].ptr = virt_to_machine(pte) |
MMU_PT_UPDATE_PRESERVE_AD;
+ u[i].ptr = (__pmd_val(*pmd) & PHYSICAL_PAGE_MASK)
+ | ((unsigned long)pte & ~PAGE_MASK)
+ | MMU_PT_UPDATE_PRESERVE_AD;
u[i].val = __pte_val(pte_modify(*pte, newprot));
if (++i == MAX_BATCHED_FULL_PTES) {
if ((rc = HYPERVISOR_mmu_update(
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [linux-2.6.18-xen] linux/x86: make xen_change_pte_range() compatible with CONFIG_HIGHPTE,
Xen patchbot-linux-2.6.18-xen <=
|
|
|
|
|