|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [PATCH] fix ia64 breakage with PHYSDEVOP_pirq_eoi_mfn (was Re: [Xen-
>>> 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
|
|
|
|
|