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

[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


 


Rackspace

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