[Bug 193873] New: [PATCH] Unify dumpsys() under generic kern_dump.c.

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Sep 23 13:26:11 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193873

            Bug ID: 193873
           Summary: [PATCH] Unify dumpsys() under generic kern_dump.c.
           Product: Base System
           Version: 11.0-CURRENT
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: conrad.meyer at isilon.com

Created attachment 147599
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=147599&action=edit
(Applies with patch -p1 to CURRENT as of r272027)

(To varying degrees by arch.)

x86, ARM, and MIPS are all relatively similar and straightforward. Some
MD-specific methods are left in dump_machdep.c in each arch to provide
mach-dependent implementations. (Map a region temporarily for dumping,
unmap a region, iterate physical memory segments, flush WB caches.)

Sparc and PowerPC are weirder. PowerPC had a merged dump/minidump path
that used a different md_pa structure, pmap_md, plumbed through its MMU
interface. So, that was ripped out and replaced with the standard path.

Sparc uses its own non-ELF dumping header and that makes its dumpsys
different enough that unification wasn't an improvement. However, some
logic shared with other archs (blk_dump == cb_dumpdata) was refactored
away.

Patch build-tested against:
  - ARMv6 / CHROMEBOOK
  - AMD64 / GENERIC
  - i386 / GENERIC
  - MIPS / WZR-300HP
  - MIPS64 / SWARM64_SMP
  - PPC / MPC85XX (cpu=booke)
  - PPC / GENERIC (cpu=aim)
  - PPC64 / GENERIC64 (cpu=aim64)
  - Sparc64 / GENERIC

Sponsored by:   EMC / Isilon storage division

Notes:
  * This patch is the first step towards some other dump/minidump improvements.
I didn't want to apply them independently to 7-8 different architectures' forks
of dumpsys.
  * Patch applies cleanly against a git tree; some hunks include SVN $FreeBSD$
macros which may require some coddling to apply to an SVN tree.
  * powerpc/dump_machdep.c is entirely deleted (something patch(1) doesn't
really do well)
  * Net 875 lines removed: 21 files changed, 820 insertions(+), 1697
deletions(-)

 sys/amd64/include/md_var.h          |   5 +
 sys/arm/arm/dump_machdep.c          | 325 +----------------------------
 sys/arm/include/md_var.h            |   7 +
 sys/conf/files                      |   1 +
 sys/conf/files.powerpc              |   1 -
 sys/i386/include/md_var.h           |   5 +
 sys/kern/kern_dump.c                | 402 ++++++++++++++++++++++++++++++++++++
 sys/mips/include/md_var.h           |   8 +
 sys/mips/mips/dump_machdep.c        | 318 +---------------------------
 sys/powerpc/aim/mmu_oea.c           | 167 +++++++--------
 sys/powerpc/aim/mmu_oea64.c         | 164 +++++++--------
 sys/powerpc/booke/pmap.c            | 228 ++++++++++----------
 sys/powerpc/include/md_var.h        |  10 +
 sys/powerpc/include/pmap.h          |  13 +-
 sys/powerpc/powerpc/dump_machdep.c  | 315 ----------------------------
 sys/powerpc/powerpc/mmu_if.m        |  41 ++--
 sys/powerpc/powerpc/pmap_dispatch.c |  28 ++-
 sys/sparc64/include/md_var.h        |   5 +
 sys/sparc64/sparc64/dump_machdep.c  | 115 +++--------
 sys/sys/conf.h                      |  12 ++
 sys/x86/x86/dump_machdep.c          | 347 +------------------------------

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list