[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Clean up error messages from lookup_domain_mpa()
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |