[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-ia64-devel] [Patch] cleanup warning of UC|WB attribute page



Hi Akio. 
some small comments.


On Sun, May 06, 2007 at 11:32:55AM +0900, Akio Takebe wrote:
> diff -r 63263d715d43 xen/arch/ia64/xen/mm.c
> --- a/xen/arch/ia64/xen/mm.c  Thu May 03 14:38:26 2007 -0600
> +++ b/xen/arch/ia64/xen/mm.c  Sun May 06 12:55:52 2007 +0900
> @@ -493,6 +493,8 @@ u64 translate_domain_pte(u64 pteval, u64
>                          port space.  Also prevents possible address
>                          aliasing issues.  */
>                       if (!(mpaddr - IO_PORTS_PADDR < IO_PORTS_SIZE))
> +                     /* and also except UC|WB page */
> +                     if (!efi_ucwb(mpaddr, PAGE_SIZE)) 
>                               gdprintk(XENLOG_WARNING, "Warning: UC to WB "
>                                        "for mpaddr=%lx\n", mpaddr);
>                       pteval = (pteval & ~_PAGE_MA_MASK) | _PAGE_MA_WB;

Probably you want something like
                        if (!(mpaddr - IO_PORTS_PADDR < IO_PORTS_SIZE) &&
                            /* and also except UC|WB page */
                            (d != dom0 || !efi_ucwb(mpaddr, PAGE_SIZE)))


> diff -r 63263d715d43 xen/include/asm-ia64/mm.h
> --- a/xen/include/asm-ia64/mm.h       Thu May 03 14:38:26 2007 -0600
> +++ b/xen/include/asm-ia64/mm.h       Sun May 06 12:55:52 2007 +0900
> @@ -431,6 +431,7 @@ extern unsigned long assign_domain_mmio_
>  extern unsigned long assign_domain_mmio_page(struct domain *d, unsigned long 
> mpaddr, unsigned long phys_addr, unsigned long size, unsigned long flags);
>  extern unsigned long assign_domain_mach_page(struct domain *d, unsigned long 
> mpaddr, unsigned long size, unsigned long flags);
>  int domain_page_mapped(struct domain *d, unsigned long mpaddr);
> +int efi_ucwb(unsigned long physaddr, unsigned long size);
>  int efi_mmio(unsigned long physaddr, unsigned long size);
>  extern unsigned long ____lookup_domain_mpa(struct domain *d, unsigned long 
> mpaddr);
>  extern unsigned long do_dom0vp_op(unsigned long cmd, unsigned long arg0, 
> unsigned long arg1, unsigned long arg2, unsigned long arg3);

efi_ucwb() is defined and used in only mm.c so that
it can be declared as static function.

-- 
yamahata

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.