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-ia64-devel

[PATCH] Re: [Xen-ia64-devel] Re: console output in xen.gz

On Tue, 2007-02-06 at 06:27 +0100, Tristan Gingold wrote:

> > >(XEN) lookup_domain_mpa: d 0xf000000007af4080 id 1 current 
> > >0xf000000007ac8000 i0
> > >(XEN) lookup_domain_mpa: bad mpa 0xffffc09e279 (=> 0x1fff4000)
> > >(XEN) Warning: UC to WB for mpaddr=ffffc09e279
> > >(XEN) lookup_domain_mpa: d 0xf000000007af4080 id 1 current 
> > >0xf000000007ac8000 i0
> DomU was trying to access lpt2.

   Perhaps we should be less verbose about I/O port space accesses.
Unfortunately it's pretty normal for an OS to do some poking in port
space.  Something like the patch below would help reduce the noise.
Thanks,

        Alex

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---

diff -r b3ae332e6dbd xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c    Tue Feb 06 09:28:07 2007 -0700
+++ b/xen/arch/ia64/xen/mm.c    Tue Feb 06 11:26:16 2007 -0700
@@ -525,7 +525,9 @@ u64 translate_domain_pte(u64 pteval, u64
                           This can happen when domU tries to touch i/o
                           port space.  Also prevents possible address
                           aliasing issues.  */
-                       printk("Warning: UC to WB for mpaddr=%lx\n", mpaddr);
+                       if (!(mpaddr - IO_PORTS_PADDR < IO_PORTS_SIZE))
+                               gdprintk(XENLOG_WARNING, "Warning: UC to WB "
+                                        "for mpaddr=%lx\n", mpaddr);
                        pteval = (pteval & ~_PAGE_MA_MASK) | _PAGE_MA_WB;
                }
                break;
@@ -690,7 +692,6 @@ unsigned long lookup_domain_mpa(struct d
     if (pte != NULL) {
         pte_t tmp_pte = *pte;// pte is volatile. copy the value.
         if (pte_present(tmp_pte)) {
-//printk("lookup_domain_page: found mapping for %lx, 
pte=%lx\n",mpaddr,pte_val(*pte));
             if (entry != NULL)
                 p2m_entry_set(entry, pte, tmp_pte);
             return pte_val(tmp_pte);
@@ -698,14 +699,24 @@ unsigned long lookup_domain_mpa(struct d
             return GPFN_INV_MASK;
     }
 
-    printk("%s: d 0x%p id %d current 0x%p id %d\n",
-           __func__, d, d->domain_id, current, current->vcpu_id);
-    if (mpaddr < d->arch.convmem_end)
-        printk("%s: non-allocated mpa 0x%lx (< 0x%lx)\n", __func__,
-               mpaddr, d->arch.convmem_end);
-    else
-        printk("%s: bad mpa 0x%lx (=> 0x%lx)\n", __func__,
-               mpaddr, d->arch.convmem_end);
+    if (mpaddr < d->arch.convmem_end) {
+        gdprintk(XENLOG_WARNING, "d 0x%p id %d current 0x%p id %d\n",
+                 d, d->domain_id, current, current->vcpu_id);
+        gdprintk(XENLOG_WARNING, "non-allocated mpa 0x%lx (< 0x%lx)\n",
+                 mpaddr, d->arch.convmem_end);
+    } else if (mpaddr - IO_PORTS_PADDR < IO_PORTS_SIZE) {
+        /* Log I/O port probing, but complain less loudly about it */
+        gdprintk(XENLOG_INFO, "d 0x%p id %d current 0x%p id %d\n",
+                 d, d->domain_id, current, current->vcpu_id);
+        gdprintk(XENLOG_INFO, "bad mpa 0x%lx (=> 0x%lx)\n",
+                 mpaddr, d->arch.convmem_end);
+    } else {
+        gdprintk(XENLOG_WARNING, "d 0x%p id %d current 0x%p id %d\n",
+                 d, d->domain_id, current, current->vcpu_id);
+        gdprintk(XENLOG_WARNING, "bad mpa 0x%lx (=> 0x%lx)\n",
+                 mpaddr, d->arch.convmem_end);
+    }
+
 
     if (entry != NULL)
         p2m_entry_set(entry, NULL, __pte(0));



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