Module Name: src Committed By: msaitoh Date: Wed Jul 15 04:49:02 UTC 2015
Modified Files: src/sys/arch/x86/x86: lapic.c mpacpi.c Log Message: - Add lapic_dump() to print lapic's setting. - Add mpacpi_dump() to dump mp_intrs[]. To generate a diff of this commit: cvs rdiff -u -r1.48 -r1.49 src/sys/arch/x86/x86/lapic.c cvs rdiff -u -r1.98 -r1.99 src/sys/arch/x86/x86/mpacpi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/x86/x86/lapic.c diff -u src/sys/arch/x86/x86/lapic.c:1.48 src/sys/arch/x86/x86/lapic.c:1.49 --- src/sys/arch/x86/x86/lapic.c:1.48 Mon May 18 13:04:21 2015 +++ src/sys/arch/x86/x86/lapic.c Wed Jul 15 04:49:02 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: lapic.c,v 1.48 2015/05/18 13:04:21 msaitoh Exp $ */ +/* $NetBSD: lapic.c,v 1.49 2015/07/15 04:49:02 msaitoh Exp $ */ /*- * Copyright (c) 2000, 2008 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: lapic.c,v 1.48 2015/05/18 13:04:21 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: lapic.c,v 1.49 2015/07/15 04:49:02 msaitoh Exp $"); #include "opt_ddb.h" #include "opt_mpbios.h" /* for MPDEBUG */ @@ -76,6 +76,8 @@ static void lapic_map(paddr_t); static void lapic_hwmask(struct pic *, int); static void lapic_hwunmask(struct pic *, int); static void lapic_setup(struct pic *, struct cpu_info *, int, int, int); +/* Make it public to call via ddb */ +void lapic_dump(void); struct pic local_pic = { .pic_name = "lapic", @@ -194,18 +196,8 @@ lapic_set_lvt(void) } #ifdef MULTIPROCESSOR - if (mp_verbose) { - apic_format_redir (device_xname(ci->ci_dev), "timer", 0, 0, - i82489_readreg(LAPIC_LVTT)); - apic_format_redir (device_xname(ci->ci_dev), "pcint", 0, 0, - i82489_readreg(LAPIC_PCINT)); - apic_format_redir (device_xname(ci->ci_dev), "lint", 0, 0, - i82489_readreg(LAPIC_LVINT0)); - apic_format_redir (device_xname(ci->ci_dev), "lint", 1, 0, - i82489_readreg(LAPIC_LVINT1)); - apic_format_redir (device_xname(ci->ci_dev), "err", 0, 0, - i82489_readreg(LAPIC_LVERR)); - } + if (mp_verbose) + lapic_dump(); #endif } @@ -616,3 +608,20 @@ lapic_setup(struct pic *pic, struct cpu_ int pin, int idtvec, int type) { } + +void +lapic_dump(void) +{ + struct cpu_info *ci = curcpu(); + + apic_format_redir (device_xname(ci->ci_dev), "timer", 0, 0, + i82489_readreg(LAPIC_LVTT)); + apic_format_redir (device_xname(ci->ci_dev), "pcint", 0, 0, + i82489_readreg(LAPIC_PCINT)); + apic_format_redir (device_xname(ci->ci_dev), "lint", 0, 0, + i82489_readreg(LAPIC_LVINT0)); + apic_format_redir (device_xname(ci->ci_dev), "lint", 1, 0, + i82489_readreg(LAPIC_LVINT1)); + apic_format_redir (device_xname(ci->ci_dev), "err", 0, 0, + i82489_readreg(LAPIC_LVERR)); +} Index: src/sys/arch/x86/x86/mpacpi.c diff -u src/sys/arch/x86/x86/mpacpi.c:1.98 src/sys/arch/x86/x86/mpacpi.c:1.99 --- src/sys/arch/x86/x86/mpacpi.c:1.98 Mon Jun 22 07:26:52 2015 +++ src/sys/arch/x86/x86/mpacpi.c Wed Jul 15 04:49:02 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: mpacpi.c,v 1.98 2015/06/22 07:26:52 msaitoh Exp $ */ +/* $NetBSD: mpacpi.c,v 1.99 2015/07/15 04:49:02 msaitoh Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -36,10 +36,11 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: mpacpi.c,v 1.98 2015/06/22 07:26:52 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mpacpi.c,v 1.99 2015/07/15 04:49:02 msaitoh Exp $"); #include "acpica.h" #include "opt_acpi.h" +#include "opt_ddb.h" #include "opt_mpbios.h" #include "opt_multiprocessor.h" #include "pchb.h" @@ -123,6 +124,10 @@ static void mpacpi_print_isa_intr(int); static void mpacpi_user_continue(const char *fmt, ...); +#ifdef DDB +void mpacpi_dump(void); +#endif + int mpacpi_nioapic; /* number of ioapics */ int mpacpi_ncpu; /* number of cpus */ int mpacpi_nintsrc; /* number of non-device interrupts */ @@ -1080,3 +1085,13 @@ mpacpi_user_continue(const char *fmt, .. printf("<press any key to continue>\n>"); cngetc(); } + +#ifdef DDB +void +mpacpi_dump(void) +{ + int i; + for (i = 0; i < mp_nintr; i++) + mpacpi_print_intr(&mp_intrs[i]); +} +#endif