WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [PATCH] fix ia64 breakage with PHYSDEVOP_pirq_eoi_mfn (was Re: [Xen-

To: "Isaku Yamahata" <yamahata@xxxxxxxxxxxxx>
Subject: Re: [PATCH] fix ia64 breakage with PHYSDEVOP_pirq_eoi_mfn (was Re: [Xen-devel] [PATCH 2/2] linux/x86: use shared page indicating the need for an EOI notification)
From: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Date: Wed, 10 Dec 2008 07:59:14 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Tue, 09 Dec 2008 23:59:30 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20081210040936.GE15447%yamahata@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <493D30D6.76E4.0078.0@xxxxxxxxxx> <20081209034038.GO5454%yamahata@xxxxxxxxxxxxx> <493E50D7.76E4.0078.0@xxxxxxxxxx> <20081209104310.GR5454%yamahata@xxxxxxxxxxxxx> <493E5C91.76E4.0078.0@xxxxxxxxxx> <20081210040936.GE15447%yamahata@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> Isaku Yamahata <yamahata@xxxxxxxxxxxxx> 10.12.08 05:09 >>>
>Like this?

Almost.

>--- a/include/asm-i386/mach-xen/asm/pgtable.h
>+++ b/include/asm-i386/mach-xen/asm/pgtable.h
>@@ -488,6 +488,17 @@ void make_pages_writable(void *va, unsig
>       (((maddr_t)pte_mfn(*virt_to_ptep(va)) << PAGE_SHIFT)            \
>        | ((unsigned long)(va) & (PAGE_SIZE - 1)))
> 
>+#ifdef CONFIG_HIGHPTE
>+#define ptep_to_machine(ptep)                                         \
>+({                                                                    \
>+      (unsigned long)(ptep) >= (unsigned long)high_memory?            \
>+              arbitrary_virt_to_machine(ptep) :                       \
>+              virt_to_machine(ptep);                                  \
>+})

I was intending to make use of kmap_atomic_to_page() here. Due to the
check at the beginning of that function, it would even be possible to get
away without a conditional in the highpte case of the macro:

#define ptep_to_machine(ptep) page_to_phys(kmap_atomic_to_page(ptep))

page_to_phys() and page_to_bus() could be used here interchangeably due
to them being identical on x86.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>