# HG changeset patch
# User awilliam@xxxxxxxxxxxx
# Date 1170868481 25200
# Node ID d3f08d39e69530f749fdc7061a4f552bf8049804
# Parent 7efb3a06c56abbe60eb5588e1f8421052b4962ca
[IA64] Clean up error messages from lookup_domain_mpa()
Guest I/O port accesses aren't very interesting, so reduce their log level
Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
xen/arch/ia64/xen/mm.c | 27 +++++++++++++++++----------
xen/include/asm-ia64/linux-xen/asm/io.h | 2 +-
2 files changed, 18 insertions(+), 11 deletions(-)
diff -r 7efb3a06c56a -r d3f08d39e695 xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c Tue Feb 06 15:20:26 2007 -0700
+++ b/xen/arch/ia64/xen/mm.c Wed Feb 07 10:14:41 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,20 @@ 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, "vcpu %d iip 0x%016lx: non-allocated mpa "
+ "0x%lx (< 0x%lx)\n", current->vcpu_id, PSCB(current, iip),
+ 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, "vcpu %d iip 0x%016lx: bad I/O port access "
+ "0x%lx\n ", current->vcpu_id, PSCB(current, iip),
+ IO_SPACE_SPARSE_DECODING(mpaddr - IO_PORTS_PADDR));
+ } else {
+ gdprintk(XENLOG_WARNING, "vcpu %d iip 0x%016lx: bad mpa 0x%lx "
+ "(=> 0x%lx)\n", current->vcpu_id, PSCB(current, iip),
+ mpaddr, d->arch.convmem_end);
+ }
if (entry != NULL)
p2m_entry_set(entry, NULL, __pte(0));
diff -r 7efb3a06c56a -r d3f08d39e695 xen/include/asm-ia64/linux-xen/asm/io.h
--- a/xen/include/asm-ia64/linux-xen/asm/io.h Tue Feb 06 15:20:26 2007 -0700
+++ b/xen/include/asm-ia64/linux-xen/asm/io.h Wed Feb 07 10:14:41 2007 -0700
@@ -49,7 +49,7 @@
#ifdef XEN
/* Offset to IO port; do not catch error. */
-#define IO_SPACE_SPARSE_DECODING(off) ((((off) >> 12) << 2) | (off & 0x3))
+#define IO_SPACE_SPARSE_DECODING(off) ((((off) >> 12) << 2) | ((off) & 0x3))
#define IO_SPACE_SPARSE_PORTS_PER_PAGE (0x4 << (PAGE_SHIFT - 12))
#endif
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|