Core/NG bit bucket

Random thoughts and information...

What's in a 6-STABLE core file

  1. struct prstatus, contains such things as:
    • PID
    • Signal
    • struct reg
  2. struct fpreg
  3. struct prpsinfo, contains such things as:
    • Command-line

Note elements that contain these 3 structures have the name "FreeBSD". The types are NT_PRSTATUS (=1), NT_FPREGSET (=2) and NT_PRPSINFO (=3) respectively.

What's in a Core/NG core file for processes

  1. Process-wide information, such as:
    • PID
    • Command-line
    • thread count
    • Shared object information
  2. Per-thread information, such as:
    • LWPID
    • Signal
    • struct reg
    • struct fpreg;
    • struct dbreg;
    • TLS information
    • [i386]: struct xmmreg;
    • [ia64]: struct rsereg;

The note elements used for these two groups of information have the name "FreeBSD". The types are NT_CORE_PROC (=0x00040000) and NT_CORE_THREAD (=0x00040001).

What's in a Core/NG core file for a kernel

  1. Kernel-wide information, such as:
    • Physical load address
    • Kernel module information
  2. Per-CPU information, such as:
    • Register contents
    • Current TLB registers
    • Dump of memory cache

The note elements used for these two groups of information have the name "FreeBSD". The types are NT_CORE_KERNEL (=0x00040100) and NT_CORE_CPU (=0x00040101).

CoreTheNextGenBucket (last edited 2008-06-17 21:37:18 by localhost)